自从我从 Ubuntu 18.04 升级到 19.10 后,我的远程 TCP-XWindows 就坏了,而我需要它来工作。
我正在开发一个非常老旧的、目前在生产的系统,它使用旧式 X11 TCP 连接。它不能用SSH X-forwarding。我需要让 Ubuntu 接受远程 TCP 连接(来自老旧的 Solaris 机器)。
这与如何让 X.org 监听端口 6000 上的远程连接?。然而,我按照答案中的步骤做了所有事情,问题仍然存在。
我需要能够运行远程 X-Windows 应用程序,例如:
xeyes -display 192.168.1.111:0.0
并让它出现在我的本地工作站上。但我得到的是(当然):
Error: Can't open display: 192.168.1.111:0.0
我已编辑/etc/gdm3/custom.conf
,内容如下:
[security]
DisallowTCP=false
[xdmcp]
ServerArguments=-listen tcp
我肯定是跑了gdm
,而且不是lightdm
。
我还编辑了/etc/X11/xinit/xserverrc
,现在内容如下:
exec /usr/bin/X -listen tcp "$@"
尽管无论如何我都期望gdm
这会改变。
我已经发出命令xhost +remote_server_name
了,xhost +
(无奈之下)。
我可以看到 X11 在端口 6001 上监听。(x11-1 是 6001 /etc/services
...为什么这不是 x11-0 / 6000?)
$ netstat -a | grep x11
tcp 0 0 0.0.0.0:x11-1 0.0.0.0:* LISTEN
tcp6 0 0 [::]:x11-1 [::]:* LISTEN
(并在这些更改之后重新启动)。
Ubuntu 19 中是否添加了一些“额外层”的配置来防止 X11 以这种方式运行?
编辑:看起来进程运行正常:
2196 tty2 Ssl+ 0:00 /usr/lib/gdm3/gdm-x-session --register-session --run-script --allow-remote-connections cinnamon-session-cinnamon
2198 tty2 Sl+ 16:53 /usr/lib/xorg/Xorg vt2 -displayfd 3 -auth /run/user/1000/gdm/Xauthority -listen tcp -background none -noreset -keeptty -verbose 3
EDIT2:评论者更新旧应用程序通过命令行传递显示,例如:--display 192.168.1.111:0.0
然后它会自行在远程显示器上打开更多窗口。
我已尝试过xhost +
,没什么区别。
答案1
我正在使用 Ubuntu 20.04。尽管您谈到了所有选项,但我无法连接到端口 6000。
最终有效的是这个 hack:
sudo vi /usr/bin/Xorg
并添加-listen tcp
到 Xorg 命令:
#exec "$basedir"/Xorg.wrap "$@"
exec "$basedir"/Xorg.wrap "$@" -listen tcp
然后保存并退出文件并重新启动用户图形界面:
sudo service gdm restart
然后检查端口 6000 是否打开:
nmap localhost