창 관리자 Ubuntu 20.04.5 LTS
와 함께 실행 중 입니다 .XFCE4
특정 X 창이 닫힐 때 쉘 스크립트를 시작하는 방법을 찾고 있습니다.
나는 루프에서 실행되거나 문제의 X 창이 존재하는지 계속 확인하고 X 창이 더 이상 감지되지 않을 때 쉘 스크립트를 실행하는 프로그램을 만들 수 있다는 것을 알고 wmctrl
있습니다 xdotool
.
하지만 바쁜 대기 기반 프로그램을 작성하지 않고도 이 중 일부 또는 전부를 수행할 수 있는 이벤트 기반 유틸리티가 있는지 궁금합니다.
어떤 제안이 있으십니까?
미리 감사드립니다.
답변1
이를 수행하는 쉬운 방법은 xprop
표준 X11 유틸리티를 사용하는 것입니다. 창 ID, 창 이름 또는 대화형 클릭을 통해 창을 식별하는 방법을 제공할 수 있으며 창의 X11 속성이 표시됩니다. 이 옵션을 추가하면 -spy
속성 변경 이벤트가 표시될 때까지 대기하는 루프가 생성됩니다. 이는 바쁜 루프가 아니지만 표준 X11 메커니즘을 사용하여 요청된 이벤트를 기다립니다. 창이 사라지면 이벤트 큐가 닫히고 xprop
깔끔하게 종료됩니다. 예를 들어,
xterm -title mytest -e 'sleep 5' &
sleep 1
xprop -spy -name mytest
echo "rc=$? xterm done"
일반적으로 창이 아이콘화되는 경우와 같이 몇 가지 속성만 변경됩니다.