inotify
tmux 상태 줄이나 시스템의 다른 사용자 정의 GUI에 실제 클립보드 내용을 표시할 수 있도록 파일을 모니터링하는 것과 비슷한 방식으로 클립보드를 모니터링하고 싶습니다 . 폴링은 시스템을 로드하고 응답 속도가 느리기 때문에 폴링을 좋아하지 않습니다. 그놈/X11을 사용하고 있습니다. 어떤 방법이 존재하나요?
답변1
너무 오랜 시간이 지나도 답이 없으니 제가 해결하도록 하겠습니다.
첫째, 여론조사는 쉽지만 하고 싶지 않다고 합니다.
실제 클립보드를 제공하는 프로그램을 찾아 종료한 다음 strace로 실행하고 몇 가지 간단한 클립보드 작업을 수행하여 해당 프로그램이 수행하는 작업을 확인하세요. 이를 통해 새 데이터를 저장하는 방법과 위치에 대한 단서를 얻을 수 있기를 바랍니다. 이 사실을 알고 나면 감지하려는 것이 무엇인지 정확히 알 수 있습니다.
답변2
클립 알림클립보드의 변경 사항이 감지되면 응답하는 간단한 프로그램입니다.
추신. 또한 필요하지 않을 수도 있는 기본 클립보드 이벤트(텍스트 선택)를 모니터링합니다. 한 줄을 주석 처리하면 쉽게 피할 수 있습니다.
XFixesSelectSelectionInput(disp, root, XA_PRIMARY, XFixesSetSelectionOwnerNotifyMask);
소스 코드 파일 clipnotify.c
(모든 크레딧은 댓글로 이동)또 다른 stackexchange 답변이름이 지정된 사용자가 제작함아킬이 해결 방법을 제안해 보세요. 많은 문제가 해결되었습니다.)
추신. Clipnotify를 설치하려면 github 저장소를 복제하고 make
복제된 디렉터리에서 명령을 실행하면 됩니다. 프로그램을 실행하기 위해 실행할 디렉터리에 새로운 실행 파일이 생성됩니다.