殺死 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 也會使您的終端會話保持活動狀態。這樣你的腳本就可以正確完成

相關內容