フォローモードでクリップボードをstdout(パイプ用)にダンプしますか?

フォローモードでクリップボードをstdout(パイプ用)にダンプしますか?

私はxselと知っていますxclip(また、以下で議論されています:https://stackoverflow.com/questions/749544/pipe-to-from-the-clipboard)定期的に使用してください。

しかし、今ではデフォルトのクリップボードを標準出力にダンプしたいのですが、「フォローモード」にあります。現在私がこれをしようとすると:

$ xclip -o
Currently, if I try this:
$ xsel -o
Currently, if I try this:
$

...すぐに終了するように指示します。

代わりに、私が望むのは次tail -f /var/log/syslogのような動作です。つまり、「フォローモード」:tail端末をブロックし、ファイルに新しい行が表示されるたびにそれを標準出力にダンプします。

似たようなものが必要ですが、新しいコピーを作成するたびに(端末でCtrl-CやCtrl-Shift-Cなど)、つまりデフォルトのクリップボードの内容を変更するたびに。

これを行うのに役立つコマンドがありますかbash

ベストアンサー1

さて、ここにPythonソリューションがあります。意見が必要ないと思い、完璧にフィットします。しかし、私の仮定が間違っている場合は教えてください。

#!/usr/bin/env python
import sys 
import signal
import gi
gi.require_version("Gtk", "3.0")
from   gi.repository import Gtk, Gdk 

def pcallBack(*args):
    print pclip.wait_for_text() 

if __name__ == '__main__':    
        import signal    
        signal.signal(signal.SIGINT, signal.SIG_DFL)    
        pclip = Gtk.Clipboard.get(Gdk.SELECTION_PRIMARY)
        pclip.connect('owner-change',pcallBack)
        Gtk.main()

おすすめ記事