Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 在终止lxsession(xorg)后运行脚本_Linux_Bash_Xorg_Tty_Raspberry Pi - Fatal编程技术网

Linux 在终止lxsession(xorg)后运行脚本

Linux 在终止lxsession(xorg)后运行脚本,linux,bash,xorg,tty,raspberry-pi,Linux,Bash,Xorg,Tty,Raspberry Pi,在结束LXDE会话后,我试图在bash脚本中自动运行一个程序。我的脚本包括: #!/bin/sh pkill lxsession; sh /home/pi/RetroPie/EmulationStation/emulationstation 我也试过这个: #!/bin/sh nohup & pkill lxsession & writevt /dev/tty1 'emulationstation' 我的目标是注销LXDE会话,并使用bash脚本在我的Raspberry P

在结束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。我正在使用
pkilllxsession以绕过lxsession的注销确认对话框


目前,这个脚本只是让我从一个工作的LXDE桌面进入命令行。感谢阅读。

EmulationStation不需要在后台运行某种X服务器才能工作吗

如果没有,请尝试以下操作:

#!/bin/sh
pkill lxsession;

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

exit
也可能是当您注销lxde会话时,仿真站有一个usershell来打开它,因此是“su-c”
我不确定它是否会起作用,但我希望你能解决它。:)

+1配方良好。我认为理想的回调事件解决方案是不可能的。您可以有条件地检查循环bash脚本中的lxsession状态,该脚本在后台运行,每个循环都有一定的超时时间……您如何在系统上启动LXDE?startx,startxde,gdm?对于其中的一些,您可以在LXDE endsI使用startx之后向.xinitrc添加一些行以运行进程。EmulationStation在启动时启动。