Ssh

在後台執行 GUI 應用程序並稍後重新連接

  • December 18, 2014

有沒有辦法在後台執行 Gui 應用程序 (X11),這樣如果我斷開連接,我可以再次恢復正在執行的應用程序?

我在 Windows 上使用 SmarTTY 連接到遠端 CentOS。當我執行一個 Gui 應用程序(例如 gnome-help)時,它會啟動 Xming 伺服器並顯示它的視窗。

即使我斷開連接、崩潰或關閉 ssh 連接,我也希望它保持執行。這樣我就可以稍後再繼續執行應用程序。

我試過’screen’和’&‘以及兩者的組合,但都不起作用。關閉 SSH 連接後,我無法再次連接到 GUI 應用程序。

  • 編輯 -

正如Anthon所回答的

  1. 在遠端系統(例如 CentOS)上安裝 VNC Server 和 VNC Viewer。
  2. 遠端啟動 VNC 伺服器Xvnc -localhost :13
  3. 啟動 VNC 查看器,以便它通過 X 在本地顯示(例如在您的 Windows 上)
  4. 設置顯示export DISPLAY=:13
  5. 啟動一個 GUI 應用程序,它將顯示在 VNC 查看器中

X 應用程序需要一個螢幕才能正常連接(如果您ssh使用-X本地螢幕進行連接)。你可以做的是使用Xvnc並為你的 X 應用程序創建一個虛擬螢幕來連接,然後在重新登錄後,使用 vncviewer 來觀察這個虛擬螢幕上發生的事情。這與使用screentmux用於終端會話的方式類似。

你通過以下方式啟動 Xvnc:

 Xvnc -localhost -SecurityTypes=None :13

13 是唯一的數字。在啟動 X 應用程序之前,您可以使用此數字設置 DISPLAY 環境變數。

在啟動期間,Xvnc 會告訴你使用哪個埠來連接(在我​​的例子中是 5913)。如果您未指定-localhost,您可以使用 vnc 查看器直接通過網路連接,而無需先使用 ssh 登錄(這當然取決於您的防火牆,您應該使用受密碼保護的連接而不是-SecurityTypes=None

在基於 Debian 的系統上,您可以從包中安裝 Xvncvnc4server

引用自:https://unix.stackexchange.com/questions/174835