저는 리눅스 민트 MATE를 사용하고 있습니다. 눈에 인식되지 않는 GUI 애플리케이션을 실행하고 싶습니다. 응용 프로그램을 시작하고 시작한 후 즉시 다른 작업 공간으로 이동하는 다음 코드를 시도했지만 wmctrl
작동하지 않습니다.
some_app_with_gui &
wmctrl -r title -t 1 #move window to another workspace (Say I'm in workspace 0 now)
에 표시된 바와 같이여기wmctrl
, 그 이유는 창이 나타나기 전에 실행 되기 때문입니다 . some_app_with_gui
그래서 해결책은
some_app_with_gui &
sleep 0.8
wmctrl -r title -t 1 #move window to another workspace (Say I'm in workspace 0 now)
이것은 실제로 작동합니다.
하지만 이 솔루션을 사용하면 내 눈이 일시적으로 창을 인식합니다(0.1초 정도). 정말 짜증나는 일이고 피하고 싶습니다.
해결책이 있나요? 반드시 사용할 필요는 없습니다 wmctrl
. 다른 명령을 사용하면 됩니다. 창에 액세스할 수 없다는 점에 유의하세요. 즉, 응용 프로그램은 스크립트에 의해 시작되고 스크립트에 의해 닫히므로 창을 완전히 숨겨도 괜찮습니다.
이 질문은 비슷한 제목의 질문과 어떻게 다른가요?
하나의 머신만 관련됨(SSH와는 관련 없음)
GUI 애플리케이션을 시작하고 싶습니다데스크탑 환경의 컴퓨터에서그래픽 사용자 인터페이스가 없습니다.
답변1
당신이 사용할 수있는가상 프레임버퍼X 서버, Xvfb
.
예를 들어:
Xvfb :99 &
DISPLAY=:99 some_app_with_gui &
이는 실제 디스플레이에서는 전혀 표시되지 않는 완전 가상 X 디스플레이에서 애플리케이션을 실행합니다.
Xvfb
이는 일반적으로 별도의 패키지이므로 사용하기 전에 배포판의 패키지 관리자를 사용하여 설치해야 할 수도 있습니다.
답변2
이를 위해 저는 개인적으로 다음과 같은 도구를 사용합니다.언윈.
그것은 마치통신 회신, 하지만오토메이션xvfb를 기다리고 닫을 때.
xvfb가 아닌 경우준비해, 기다릴 것입니다. 일단 프로그램이 없으면달리기프레임 버퍼에서는 xvfb가 자동으로 꺼집니다.