내 기본 프로세스가 여러 개의 창을 생성한다고 가정해 보겠습니다. 세션 리더 기본 창(원하는 경우 창 그룹용 프레임 미니 데스크탑)에 그룹화하고 싶습니다. 이 목표를 달성하려면 어떻게 해야 합니까?
자세한 내용은:
나는 놀고 있었다선, 내 스크립트가 여러 개의 zenity(또는 다른) 창을 만들고 이를 하나의 기본 창에 결합하여 결과로 나타나는 모든 하위 창을 한 번에 이동하거나 닫을 수 있는지 궁금합니다.
답변1
다음 명령을 사용하여 X 서버 내부에 X 서버를 설정할 수 있습니다.Xephyr
. 새로운 X가 표시하는 내용을 보여주는 창을 화면에 만들 수 있습니다.
Xephyr :1
첫째, 그것은 비어 있을 것입니다. 새 디스플레이를 가리키는 하나 이상의 응용 프로그램을 시작할 수 있습니다.
DISPLAY=:1 some-application
응용 프로그램에서 생성된 모든 창은 Xepyr 창 내에 나타납니다.
X 둥지동일한 아이디어의 이전 버전이므로 동일한 범위의 X 확장을 지원하지 않지만 더 넓은 범위를 사용할 수 있습니다. 같은 방식으로 시작합니다: Xnest :1
. 두 프로그램 모두 보다 구체적으로 구성할 수 있는 다양한 명령줄 옵션을 지원합니다.
두 경우 모두 중첩된 서버 내에서 창 관리자를 시작하고 싶을 수도 있습니다. 그렇지 않으면 상호 작용 옵션이 매우 제한되기 때문입니다. 응용 프로그램을 시작할 때와 마찬가지로 현재 창 관리자의 다른 인스턴스를 내부적으로 시작하거나 다른 인스턴스를 사용할 수 있습니다 DISPLAY=:1 twm &
.
매번 다른 번호를 사용하여 원하는 만큼 서브모니터를 만들 수 있습니다. 모든 것을 스크립트로 작성할 수 있습니다.
Xephyr :1 &
export DISPLAY=:1
some-application &
some-other-application &
Xephyr 창을 닫으면 이를 사용하려는 모든 응용 프로그램은 X 오류를 수신하고 (일반적으로) 다음과 같이 종료됩니다.
Fatal IO error 11 (Resource temporarily unavailable) on X server :1
이는 기본 X 서버를 종료하는 것과 마찬가지로 오류 종료이지만 Ctrl-Alt-Backspace모든 것을 즉시 종료합니다.