Ubuntu

從 Ubuntu for Windows 使用 SSH 時導出 X11 顯示的問題

  • April 18, 2019

我在 Windows 10 中使用本機 Ubuntu 終端,並嘗試在使用 SSH 連接到遠端伺服器時導出顯示。我在 Windows PC 上安裝了 XMing,使用 export DISPLAY=:0. 但是,當我 ssh 並嘗試打開任何顯示器時,長時間停頓後出現以下錯誤:

** (gedit:9813): CRITICAL **: log.vala:104: Unable to connect to Zeitgeist: Could not connect: Connection refused

(gedit:18368): dconf-WARNING **: failed to commit changes to dconf: Could not connect: Connection refused

** (gedit:18368): CRITICAL **: Unable to connect to Zeitgeist's DataSourceRegistry: Could not connect: Connection refused

有沒有人有任何想法來解決這個問題?

編輯:我連接到遠端伺服器的方式是ssh -X username@IP. 該伺服器位於 Ubuntu 14.04 LTS 上,如果我在 Ubuntu 上的另一台 PC 上使用此命令,則無需該export DISPLAY=:0命令即可完美執行。

但是,當我使用來自 Windows 10 子系統終端的相同命令進行 ssh 時,我可以連接,但會出現兩個問題之一。如果我不使用export DISPLAY=:0命令,而只是呼叫,gedit我會收到以下錯誤:

connect /tmp/.X11-unix/X0: No such file or directory
connect /tmp/.X11-unix/X0: No such file or directory

** (gedit:10254): WARNING **: Could not open X display
connect /tmp/.X11-unix/X0: No such file or directory
connect /tmp/.X11-unix/X0: No such file or directory

(gedit:10254): Gtk-WARNING **: cannot open display: localhost:25.0

否則,如果我先使用 export display c 命令,我會從原始文章中得到錯誤。

我有同樣的問題。解決方案是將本地DISPLAY 變數顯式設置為localhost:0,而不是:0.

本地機器:

me@local:~$ echo $DISPLAY
:0
me@local:~$ export DISPLAY=localhost:0
me@local:~$ ssh -X user@remote.machine

遠端機器:

me@remote:~$ echo $DISPLAY
remote:29.0
me@remote:~$ xeyes

(作品)

該錯誤connect /tmp/.X11-unix/X0: No such file or directory肯定是由於在本地電腦上查找不存在的套接字而導致的,因為touch /tmp/.X11-unix/X0在連接之前執行操作會將錯誤更改為connection refused,因為它存在,但它不是有效的套接字。顯式localhost:0似乎允許它找到套接字。

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