私は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()