關於此主題有相當多的信息,但由於某些原因,我無法使其工作。這是一個覆蓋raspian發行版的'DietPi'風格的覆盆子pi,也許是我的問題和其他問題的區別。使用LXDE會話自動啓動GUI應用程序
所以我有一個GUI應用程序,我希望在LXDE會話開始後啓動時啓動。所以我在這裏使用的以下文件:
/etc/xdg/lxsession/LXDE/autostart
,並添加一行:
@/myapplication
這個工作,但是,它會啓動這個程序的多個實例,而第一個老是死機。這會產生問題,因爲資源(IO,文件等)有一些競爭。所以我所做的就是創建腳本文件,而不是/myapplication-autostart.sh像這樣:
if pgrep "myapplication" > /dev/null
then
echo "my application is already running"
else
/myapplication
fi
,然後改變的/ etc/XDG/lxsession/LXDE /自動啓動到@/myapplication-autostart.sh。現在我發現程序只啓動一次,但實例崩潰。它嘗試創建窗口時會崩潰(opencv imshow)。這很奇怪,因爲如果X會話不可用,程序也會無法運行,但由於某種原因,它會崩潰,我不知道該在哪裏檢查原因。
此外,爲了測試它不是腳本文件的問題,我評論了除/ myapplication以外的所有內容,並且我發現腳本文件在連續循環中運行,並且每次關閉應用程序時都會打開備份。我不確定這是爲什麼。
我已經嘗試在腳本中添加睡眠延遲,它並沒有幫助。無論出於何種原因,看起來LXDE自啓動腳本在啓動pi時至少運行了3次,而第一個環境的情況導致程序崩潰。有人明白調用這個自動啓動腳本的順序和行爲嗎?
經過大量時間調查類似問題(浪費了幾乎幾個小時)之後,我想提供以下提示。新的位置是'/ etc/xdg/lxsession/LXDE-pi/autostart'(強調** - pi **),如下所示:https://www.raspberrypi.org/forums/viewtopic.php?f = 91&T = 131760 –