在 screen 或 tmux(或替代方案)中運行 GUI

在 screen 或 tmux(或替代方案)中運行 GUI

我有一個僅 gui 的應用程序,需要不斷運行。問題是我無法僅此應用程式安裝完整的桌面(我的作業系統是 debian 和 ubuntu cli)。

所以我想知道是否有辦法在伺服器上以 screen 或 tmux 之類的方式運行這個應用程式?這樣我就可以轉發 X 並繼續使用它。

答案1

這有兩個面向 - 第一個面向是讓 gui 進程由一個不會終止的進程擁有。有很多方法可以實現這一點,但是如果您目前的工作方式是這樣,那麼讓 tmux 擁有該流程就「足夠好了」。

第二個是在某個地方有 gui 輸出。如果您希望 gui 輸出既轉到進程正在運行的伺服器的螢幕上,又能夠遠端存取它,那麼x11vnc是一個不錯的選擇,並且存在於大多數發行版中。您所需要的只是一個 X11 會話,因此不是完整的桌面,只需足夠的 X 來顯示 GUI 和 x11vnc。

這會將其運行的 X 會話公開為 VNC 會話,因此可以遠端存取它。理想情況下,您可以透過 ssh 執行此操作,因為 vnc 不提供太多安全性。

答案2

查看 Xpra,它允許遠端 X 應用程式並中斷連線。它非常類似於“tmux for X”。

http://xpra.org/

答案3

使用 X Windows 的 GUI 程式需要連接到伺服器(您的圖形頭)。如果您中斷screen/ tmux(保持會話),與伺服器的連線可能仍會中斷(例如,如果您關閉/睡眠/休眠本機電腦。只要與伺服器的連線保持不變$DISPLAY,您的應用程式就會繼續。如果您使用SSH 和X 轉發,那麼當SSH 會話結束時,連線也會結束。

所以,是的,您可以從 cli 無限期地運行應用程序,但這取決於伺服器和客戶端之間的連接是否保持正常。

相關內容