팔로우 모드에서 클립보드를 stdout(파이프용)으로 덤프하시겠습니까?

팔로우 모드에서 클립보드를 stdout(파이프용)으로 덤프하시겠습니까?

나는 xsel및 을 알고 있습니다 xclip(또한 다음에서 논의됨:https://stackoverflow.com/questions/749544/pipe-to-from-the-clipboard) 정기적으로 사용하세요.

그러나 이제는 기본 클립보드를 표준 출력으로 덤프 하고 싶지만 "follow 모드"에 있습니다. 현재 내가 이렇게 하려고 하면:

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

...즉시 종료하라는 명령입니다.

대신, 내가 원하는 것은 다음 tail -f /var/log/syslog과 유사한 동작입니다. 즉, "follow mode": tail터미널을 차단하고 파일에 새 줄이 나타날 때마다 이를 표준 출력으로 덤프합니다.

비슷한 것을 원하지만 새 복사본을 만들 때마다(예: 터미널에서 Ctrl-C 또는 Ctrl-Shift-C), 즉 기본 클립보드 내용을 변경할 때마다.

이 작업을 수행하는 데 도움이 되는 명령이 있나요 bash?

답변1

좋아요, 여기 파이썬 솔루션이 있습니다. 의견이 필요하지 않다고 생각하며 완벽하게 맞습니다. 하지만 제 가정이 틀렸다면 알려주시기 바랍니다.

#!/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()

관련 정보