无法连接到远程 X 服务器

无法连接到远程 X 服务器

我正在通过 SSH 连接到基于 Debian Jessie 的无头受限环境的服务器。我被作业队列系统抛到那里,所以我不能只使用 X11 转发选项和 SSH。

我的笔记本电脑上装有 Ubuntu。我希望能够在该服务器上运行 X11 应用程序,但没有运行 X 服务器。

我正在尝试使用笔记本电脑上的 X 服务器监听 TCP 端口,然后从另一台机器连接到它,但我肯定做错了什么。

为了简单起见,我在笔记本电脑上使用 Xpra,因为我的主 X 服务器上没有启用 TCP。

laptop$ xpra --bind-tcp=0.0.0.0 start :100
laptop$ xpra attach :100

一些简单的检查可以证明 xpra 似乎正在运行:

laptop$ netstat -putan | grep 9100
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
tcp        0      0 0.0.0.0:9100            0.0.0.0:*               LISTEN      28376/python

server$ telnet 172.16.243.95 9100
Trying 172.16.243.95...
Connected to 172.16.243.95.
Escape character is '^]'.

P<l10:disconnect42:invalid packet format, not an xpra client?eConnection    closed by foreign host.

另外,我能够显示来自同一台机器的窗口:

laptop$ DISPLAY=:100 xterm # this just works

但是,我无法从服务器上执行相同操作。

server$ DISPLAY=172.16.243.95:9100 xterm
xterm: Xt error: Can't open display: 172.16.243.95:9100

我是否DISPLAY正确指定了变量?也许这就是问题所在,但我找不到有关该变量如何工作或如何转换 TCP 端口以显示数字的全面文档。

答案1

这不是一个完整的答案,因为没有足够的信息来提供答案,但希望它有所帮助。

可能造成干扰的因素包括:

  • 服务器上的防火墙阻止出站流量
  • 笔记本电脑上的防火墙阻止入站流量
  • 路由器/网络设备上的防火墙阻止流量
  • 笔记本电脑所在 LAN 上的 NAT 设置不正确。
  • 笔记本电脑桌面会话文件的权限不当。台式机很挑剔……

这是一个开始,除非你能排除它们,否则这可能是阻碍你前进的部分原因。我也会阅读 Paul Hänsch 发布的这个答案 -在本地机器上运行应用程序并在远程显示器上显示 GUI

相关内容