Ssh

X11 轉發:GUI 出現在遠端伺服器而不是客戶端

  • June 4, 2018

我有兩台機器,PC1PC2。在PC1中,我在 Windows 7 上安裝了Msys2和 Xming,而在第二台機器PC2中,我在 WSL(Linux 的 Windows 子系統)上安裝了帶有 Ubuntu 18.04 的 Windows 10,還安裝了 Xming。我將兩台機器都配置為使用 ssh 和 X11 轉發的必要配置(/etc/ssh/sshd_config)。在PC1中,我還必須設置 DISPLAY 變數:

export DISPLAY=localhost:0 

我想從 PC1 SSH 到 PC2,但我有一個問題:以下命令可以正常工作:

ssh -Y username@PC2 gedit

它按預期在 PC1 上顯示 gedit。但是當我 ssh 到 PC2 時,我開始 gedit:

$ ssh -Y username@PC2  # Now I am logged in to PC2
$ gedit

GUI 出現在PC2而不是PC1

你能解釋一下第二種方法出了什麼問題嗎?

通過 SSH 進行的 X 轉發取決於 sshd 設置的$DISPLAY適當值,因此在遠端系統上強制覆蓋會干擾。如果您必須設置它,那麼只有在它還沒有值時才設置它:

: ${DISPLAY:=:0}

引用自:https://serverfault.com/questions/914927