디스플레이 관리자를 종료하고 스크립트로 다른 관리자를 시작하십시오.


0

나는 gdm3을 죽이고 X 세션을 시작하는 작은 스크립트를 가지고있다. 작동하지만 3 번 실행해야합니다.

export DISPLAY=:0
var = $(pidof gdm3)
kill $(var)
X :0 &
xterm &
export LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so

한 번에 작동하도록하려면 어떻게해야합니까?

답변:


0

나는 네 문제가 아버지와 자식 과정과 관련이 있다고 생각한다. gdm3이 시작될 때 - 스크립트가 세 번 실행되어야 할 필요가있는 경우 - 하나의 아버지와 두 개의 하위 프로세스가 있음을 나타냅니다.

스크립트를 루프로 편집 해보십시오. 이 같은:

수출 DISPLAY = : 0 var = $ (pidof gdm3) 동안 [ ! -z "$ var"] 해야 할 것   $ (var)를 죽인다.   var = $ (pidof gdm3) 끝난 X : 0 & amp; xterm & amp; LD_PRELOAD = / usr / lib / libv4l / v4l1compat.so를 내 보냅니다.


네 말이 맞아, 나는 여러 번 gdm3을 죽여야 만했다. 이제 스크립트에서 gdm3을 2 번 연속으로 제거하고 작동합니다. 그러나 gdm3 세션을 다시 시작하고 스크립트를 실행하면 스크립트가 내 모든 명령을 실행하지 않습니다. 간단한 kill gdm3 명령을 실행 한 후 중단됩니다. 그래서 스크립트를 여러 번 실행해야합니다. 이 경우 코드가 도움이됩니다. 나는 그것을 루프에서 실행하는 것에 대해 생각하지 않았습니다. 나는 프로세스에서 kill이나 killall을 할 때 programm가 멈춰야한다고 생각했다. 그래서 나는 물었다. 감사!
k t
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.