从 Ubuntu for Windows 使用 SSH 时导出 X11 显示时出现问题

从 Ubuntu for Windows 使用 SSH 时导出 X11 显示时出现问题

我在 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

否则,如果我首先使用导出显示命令,我会收到原始帖子中的错误。

答案1

我有同样的问题。解决方案是明确设置当地的DISPLAY 变量相localhost:0对于:0.

本地机器:

me@local:~$ echo $DISPLAY
:0
me@local:~$ export DISPLAY=localhost:0
me@local:~$ ssh -X [email protected]

远程机器:

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似乎允许它找到套接字。

答案2

您可以使用ssh -X它将在远程主机 shell 上设置 DISPLAY var。

相关内容