lxsession(xorg)을 종료한 후 스크립트 실행

lxsession(xorg)을 종료한 후 스크립트 실행

LXDE 세션을 종료한 후 bash 스크립트 내에서 자동으로 프로그램을 실행하려고 합니다. 내 스크립트는 다음으로 구성됩니다.

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

나는 이것을 또한 시도했다:

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

내 목표는 LXDE 세션에서 로그아웃하고 bash 스크립트를 사용하여 내 Raspberry Pi에서 EmulationStation을 실행하는 것입니다. pkill lxsession;lxsession의 로그아웃 확인 대화 상자를 우회하는 데 사용하고 있습니다 .

현재로서는 이 스크립트를 사용하면 작동 중인 LXDE 데스크탑의 명령줄로 이동할 수 있습니다. 읽어 주셔서 감사합니다.

답변1

나는 그것이 가능하다고 생각하지 않습니다. LXDE 세션 내에서 자체적으로 실행되는 터미널 에뮬레이터에서 이 스크립트를 실행합니다. LXDE 세션을 종료하면 터미널과 스크립트도 종료됩니다.

가능한 해결 방법은 다른 tty를 통해 로그인하고 그곳에서 스크립트를 실행하는 것입니다. 정확히 무엇을 하려는 건가요? 루트 cronjob이 작동합니까?

답변2

여기서는 사용할 writevt수 없지만 tty 입력을 에뮬레이트한다고 가정합니다.

tty에서 명령을 시작해 볼 수 있습니다.~ 전에X 세션을 종료하고 X 세션이 종료될 때까지 기다리게 합니다. 어때?

#!/bin/sh
writevt /dev/tty1 'sleep 20s; emulationstation'` & 
pkill lxsession

답변3

터미널에서 스크립트를 실행하거나 실행 프로그램을 만들 때 'screen'을 사용해 보세요.

screen ./emu-script.sh

화면은 LXDE가 종료되거나 기타 종료된 경우에도 터미널 세션을 활성 상태로 유지합니다. 그렇게 하면 스크립트가 제대로 완료될 수 있습니다.

관련 정보