![在單獨的 TTY 中啟動新的遠端 X 會話](https://rvso.com/image/1070926/%E5%9C%A8%E5%96%AE%E7%8D%A8%E7%9A%84%20TTY%20%E4%B8%AD%E5%95%9F%E5%8B%95%E6%96%B0%E7%9A%84%E9%81%A0%E7%AB%AF%20X%20%E6%9C%83%E8%A9%B1.png)
在我的家庭設定中,我在同一本地網路上有兩台計算機,都運行 Ubuntu 20.04。我希望建立一種透過主電腦存取輔助電腦的方法,方法是切換到新的 TTY,並啟動遠端 X 會話。我不想分享螢幕或存取現有的 X 會話。此外,我用來啟動遠端 X 會話的電腦有兩個顯示器,我想充分利用這兩個顯示器。
我嘗試了幾種選擇。我似乎 XDMCP 可以做我想做的事,但到目前為止我運氣不佳(可以訪問,但只有帶有遊標的黑屏)。此外,它似乎既使用高頻寬又不安全,所以理想情況下我會使用其他東西。
我嘗試過 X2Go,但我無法找到在單獨的 TTY 中啟動它的方法,或者讓它利用我的兩個顯示器。
我還聽說過 xvnc 和 NoMachine 之類的東西,但我不確定它們是否可以按照我想要的方式運行。
有沒有現有的方法可以做到這一點?或者,有什麼方法可以壓縮和/或保護 XDMCP?我發現 XDMCP 可以透過 SSH,這是真的嗎?
謝謝!
答案1
X 視窗會話不會按照您期望的方式運作。您認為您正在連接的另一端有一個“伺服器”,並且您想要控制它。
事實上,它的作用恰恰相反。您正在連線的機器從充當伺服器,當您連接時,您告訴它在另一台機器上顯示。
因此,X 需要在您要連接的電腦上運行,然後執行以下操作:
打開 xterm,或任何您最喜歡的終端機視窗應用程式。
在本機的終端機中,允許來自遠端主機的連線:
xhost + 192.168.1.2(其中 192.168.1.2 是您要連接的計算機到)
在同一終端機中,使用 ssh 和 X11 轉送開啟遠端電腦 (192.168.1.2) 的 shell:
ssh -Y 登入@主機名
在遠端電腦上,設定您的顯示:
export DISPLAY=192.168.1.1:0.0
(這將是您要連接的機器從)現在啟動一個程式。只需運行 xeyes、xcalc、chrome 等。一段時間後,程式應該會顯示在您的本機 X Window 介面上。它在遠端電腦上運行,但在本地顯示。
請注意,遠端電腦甚至不需要在其上運行 X Window 伺服器。它實際上充當本地電腦的 X Window 伺服器的客戶端。
XDMCP 絕對比用於顯示更改的更優化協定(如 VNC)「更重」。不過,目標不同:VNC 通常在整個螢幕上運行。沒有什麼可以阻止您安裝 VNC 伺服器並走這條路。在這種情況下,任何 VNC 用戶端都可以工作。