MobaXterm - 使用 gnome 通过 ssh 连接到 Linux 服务器,设置 DISPLAY,“连接被拒绝”

MobaXterm - 使用 gnome 通过 ssh 连接到 Linux 服务器,设置 DISPLAY,“连接被拒绝”
ubuntu@dsps-pi-k8s:~$ export DISPLAY=slapa:0.0
ubuntu@dsps-pi-k8s:~$ startx

/usr/lib/xorg/Xorg.wrap: Only console users are allowed to run the X server
xinit: giving up
xinit: unable to connect to X server: Connection refused
xinit: server error
Couldn't get a file descriptor referring to the console.

但我可以看到 MobaXterm 正在监听端口 6000,这是通常的 X Display 服务器端口,而且这不是防火墙问题,因为:-

ubuntu@dsps-pi-k8s:~$ telnet slapa 6000
Trying 192.168.1.237...
Connected to slapa.
Escape character is '^]'.
^]
telnet> quit
Connection closed.

我确信这就是我以前使用 HummingBird Exceed 和其他 X 服务器所做的事情。

答案1

startx是错误的工具,因为它的目的是启动 X 客户端和一个 X 服务器。你不需要这样做——设置 $DISPLAY 的目的是为了让你的程序使用现存的另一个系统上的 X 显示器,而“startx”总是尝试启动一个新系统。(通常它会尝试启动 Xorg 以在 SSH 服务器的显示器上进行渲染,即使这是您想要的,也无法通过 SSH 进行工作。)

由于您已经有可用的 X 显示服务器(通过 $DISPLAY),您应该开始仅有的X 客户端应用程序。对于许多程序来说,这可以在没有任何特殊工具的情况下完成;您只需运行xterm &firefox &通过 SSH 连接即可。

(要启动整个 GNOME 会话,您需要运行dbus-run-session gnome-session &,尽管我不指望 GNOME 能在网络 X11 上运行得很好 – 您可能需要使用 Xvnc。)

要启动与 startx 相同的 X 客户端,您可以手动运行该~/.xinitrc脚本,或者/etc/X11/xinitrc如果您没有自定义脚本。

相关内容