2012-09-22 2 views
1

LXDE 세션을 종료 한 후 bash 스크립트에서 자동으로 프로그램을 실행하려고합니다. 나뿐만 아니라이 시도lxsession (xorg)을 죽인 후 스크립트 실행

#!/bin/sh 
pkill lxsession; 
sh /home/pi/RetroPie/EmulationStation/emulationstation 

: 내 스크립트로 구성

#!/bin/sh 
nohup & pkill lxsession & 
writevt /dev/tty1 'emulationstation' 

내 목표는 LXDE 세션에서 로그 아웃하고 떠들썩한 파티 스크립트 내 라즈베리 파이에 EmulationStation를 실행하는 것입니다. pkill lxsession;을 사용하여 lxsession의 로그 아웃 확인 대화 상자를 우회합니다.

이 스크립트는 작동중인 LXDE 데스크탑의 명령 줄로 연결됩니다. 읽어 주셔서 감사합니다.

+1

+1 잘 작성되었습니다. 나는 이상적인 콜백 이벤트 솔루션이 가능하다고 생각하지 않는다. 백그라운드에서 실행되는 루핑 bash 스크립트에서 조건 적으로 lxsession-status를 확인할 수 있으며 각주기마다 특정 시간 초과 기간이 있습니다. –

+0

시스템에서 LXDE를 시작하는 방법은 무엇입니까? startx, startlxde, gdm? 이들 중 일부는 .xinitrc에 몇 줄을 추가하여 LXDE가 끝난 후 프로세스를 실행할 수 있습니다. –

+0

startx를 사용하고 있습니다. EmulationStation은 부팅 할 때 시작됩니다. – BasicObject

답변

0

EmulationStation에는 작동하기 위해 백그라운드에서 실행되는 일종의 X 서버가 필요하지 않습니까?

하지 않으면, 다음을 시도해보십시오 :

#!/bin/sh 
pkill lxsession; 

sleep 5 
su -c sh /home/pi/RetroPie/EmulationStation/emulationstation 

exit 

그것은 또한 당신이 때문에 "스와 -c" I의 emulationstation 그것을 열 수있는 usershell이 ​​dosent 당신의 LXDE 세션에서 로그 아웃 할 때 일 수 있었다 그게 잘 될지 모르겠지만 당신이 그걸 해결하기를 바란다. :)

관련 문제