Ssh
如何保持 X 伺服器打開?
我目前正在為帶有觸摸板的 Raspberry Pi 編寫一個帶有 GUI 的應用程序。目前,每當我將帶有開發環境的 PC 上的新二進製文件傳輸到 pi 時,我必須將鍵盤插入 pi 並使用
startx /path/to/binary
. 過了一會兒,這變得有點煩人,所以我希望能夠通過 ssh 從開發中的 PC 啟動 gui。如果已經有 X 伺服器正在執行,我已經知道如何遠端啟動它。不幸的是,到目前為止這對我沒有幫助,因為我無法讓 X 伺服器保持打開狀態,因為一旦客戶端程序終止,它就會立即終止。但我不想執行桌面或視窗管理器,因為我只需要單個應用程序視窗。
所以現在我的問題。如何保持 X 伺服器打開?到目前為止,是否有我忽略的選項或其他解決方法?或者是否有更好的解決我的問題的完全不相關的問題?
也許在你的結尾添加一個半無限睡眠
.xinitrc
,例如sleep 5000000
?請注意,此命令的末尾沒有&
字元。通常,這是您放置視窗管理器或會話管理器命令的地方,但您說您不想要其中一個,因此您需要另一個長時間執行的程序來保持 Xserver 活動。
sleep 將消耗零資源。
您可以自動重新啟動它,而不是嘗試保持 X 伺服器打開。在你的 Pi 上,執行
while :; do startx /path/to/binary; done
這樣,每當你更新你的二進製文件時,你都可以殺死它,X 伺服器將使用新的二進製文件重新啟動。
如果您需要能夠阻止這種情況,您可以添加一個條件,例如
until [ -f /tmp/stop ]; do startx /path/to/binary; done
每當您想退出循環時,
touch /tmp/stop
然後殺死你的程序——它不會重新啟動。