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