2009-12-14 7 views
1

Cygwin의 startx를 사용 중이고 화면에서 "마법"X 프로그램을받지 못하도록 내 xinitrc를 사용자 정의하고 싶습니다. 즉, 종료하면 X 서버가 종료되는 프로그램입니다. 실제로 어떤 X 프로그램도 화면에서 시작하지 않기를 바랄뿐입니다. 난 그냥 .XWinrc에서 사용자 정의한 XWin 메뉴를 사용하고 싶다.cygwin .xinitrc가 X 서버가 종료 될 때까지 기다리는 방법은 무엇입니까?

일반적으로 .xinitrc에서, 마지막 줄에서 창 관리자를 실행하게합니다. 그런 다음 제공되는 인터페이스에서 창 관리자를 종료하여 X를 종료 할 수 있습니다.

이 경우, XWin 서버를 사용하고 있기 때문에 내 창 관리자와 내 서버는 실제로 동일한 프로세스입니다. 실행할 Windows 관리자가 없습니다.

exec XWin -multiwindow -clipboard -silent-dup-error 

나는 루프에서, 내의 .xinitrc의 끝에서 잘 수 :

while [ 1 -eq 1 ] 
do 
    sleep 10 
done 

을하지만 그 우아 보인다 내 .xserverrc 파일에서 서버를 시작하고있다.

내 .xinitrc에서 마지막 줄로 시작하거나 백그라운드에서 이전에 시작하여 "wait {PID}"로 명시 적으로 대기함으로써 자식 프로세스를 기다릴 수 있습니다. 그러나 XWin.exe 프로세스가 자식 프로세스가 아닌 내 .xinitrc 스크립트의 부모 프로세스이기 때문에 기다릴 수 없습니다.

.xinitrc의 끝에서 XWin.exe를 시작할 수 없습니다. 시도해 보면 루트가없는 모드가 아닌 XWin과 함께 다른 창 관리자가 시작된 다음 즉시 종료됩니다.

루프에서 잠을자는 것보다 더 우아한 방법이 있습니까? 내 .xinitrc에서 XWin을 시작하고 기다리는 방법이 있습니까? XWin.exe가 종료 될 때까지 실행을 계속하고 아무 일도하지 않을 수 있도록 잠자기없이 종료 할 수있는 .xinitrc 쉘 스크립트를 알려주는 방법이 있습니까? X 프로그램을 시작하지 않고 대기 할 프로세스를 제공하기 위해 .xinitrc의 마지막 줄로 백그라운드에서 시작해야하는 것이 있습니까?

답변

0

Ben Bullock의 대답을 요약하면 "어떻게해야합니까? .xinitrc는이 작업을 수행합니까?" "하지마!" "Y를하기 위해 X를 어떻게 사용합니까?"라고 묻지 마십시오. 질문. :) startx/.xinitrc를 완전히 건너 뜁니다.

관련 문제