명령줄에서 GUI 창을 닫습니다.

명령줄에서 GUI 창을 닫습니다.

저는 종종 스크립트를 실행하여 CSV 파일을 변환한 다음 LibreOffice에서 미리 봅니다. 그러나 파일이 이미 열려 있는 xdg-open file.csv동안 명령을 실행하면 LibreOffice는 창에만 초점을 맞추고 디스크에서 파일을 다시 로드하지 않습니다.

명령줄에서 GUI를 닫을 창을 지정하는 방법이 있습니까? LibreOffice는 모든 창에 대해 PID를 공유하기 때문에 프로세스를 직접 종료할 수 없습니다. 저는 Mint 17.1에서 최신 버전의 Cinnamon을 실행하고 있습니다.

답변1

xkill, xdotool 또는 wmctl을 사용할 수 있습니다.

터미널에 xkill을 입력하고 닫으려는 창을 클릭하세요.

답변2

xkill이는 응용프로그램을 정말로 종료하고 싶지만 단지 창만 닫고 싶은 경우 xdo또는 더 나은 경우에 작동합니다.xdotool

내 사용 사례는 전송 창을 닫거나 표시하는 것입니다. 전송은 데몬 프로세스를 실행하고 xkill데몬 프로세스도 종료합니다. 하지만 전체 응용 프로그램을 종료하는 것이 아니라 창을 닫고 싶습니다.

xdotoolwindowclose다음과 함께 사용할 수 있는 작업이 있습니다 .
xdotool search "Transmission" windowclose

그러나 어떤 이유로 이것은 작동하지 않습니다. 둘 다 "전송된" 여러 창(창 표시 여부에 관계없이 동일한 숫자)을 xdotool발견하여 .xdoxdotool

하지만 xdo나에게 효과적입니다.
xdo close -a "Transmission"

관련 정보