终止 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 登录并在那里运行脚本。你到底想做什么?root cronjob 能工作吗?

答案2

这里writevt没有,但我认为它只是模拟 tty 输入。

您可以尝试在 tty 中启动命令终止 X 会话,并让它等待直到 X 会话被终止。

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

答案3

当您从终端运行脚本或者创建启动器时,尝试使用“屏幕”:

screen ./emu-script.sh

即使 LXDE 终止,或者您关闭了其他任何程序,screen 仍会保持您的终端会话处于活动状态。这样您的脚本就可以正常完成

相关内容