我在嘗試從 SSH 遠端執行 GUI 應用程式時遇到一些問題。我的 Linux 技能有限,在嘗試透過以下場景實現它時遇到了一些問題:
我有一個帶有 CentOS 8 和 GNOME GUI 的主機,連接到電視,沒有連接滑鼠或鍵盤(這是遠端主機,我將其稱為伺服器)。我還有一台有 SSH 客戶端(SSH)的本機。
我正在嘗試做的事情:
使用 SSH,我想解鎖連接到伺服器的電視中顯示的歡迎畫面,然後我想啟動 Retroarch(將其加載到連接到伺服器的電視上)。如何登入伺服器以登出 GNOME 歡迎畫面?使用命令:
loginctl unlock-sessions
只有當我打開伺服器、插入鍵盤、登入並等待螢幕因不活動而鎖定時才有效。另外,當透過 SSH 啟動 RETROARCH 時,我發現有兩種方法可以做到這一點,即使用 DISPLAY=:0 和 nohup,但它們都將進程鎖定到 SSH 會話(除了它鎖定終端或進程到SSH 會話,只有當我已經登入伺服器並通過歡迎畫面時它才有效)。有沒有辦法像我直接從伺服器運行應用程式一樣啟動它?
答案1
要遠端連接 Gnome 等視窗管理器,您需要考慮執行 VNC 會話,因為據我所知,視窗管理器並非設計為透過 SSH + CLI 進行控制。
如果您在 X11 上執行 Gnome,那麼您應該考慮使用 X11-vnc,它將向您遠端公開當前的 X11 會話 - 即您將透過 VNC 看到與連接到伺服器的電視上相同的圖片。
如果您在 Wayland 上運行,您需要自己進行互聯網研究,X11-vnc Wayland 替代品是什麼。
對於第一種情況,步驟如下:
伺服器:
apt install x11-vnc -y
x11-vnc
客戶 :
apt install tigervnc-viewer -y
ssh -L 5901:localhost:5901 <SERVER-IP>
vncviewer localhost:5901
最佳實踐是將 VNC 協定包裝在 ssh 隧道中,因此許多 VNC 伺服器預設僅在本機上偵聽。 VNC 的連接埠號碼可能會改變,但已確定從 5900 開始。