如何让X.org在端口6000上侦听远程连接?
这是在Ubuntu 10.10(Maverick Meerkat)64位桌面上。
我想让我的X服务器监听来自本地网络上其他机器的客户端的远程连接。 我知道ssh -X
,这不是我想要的。 我依稀记得将TCPListen
从no
更改为yes
,但我不记得应该在哪里应用此更改。
我对GUI方法或CLI方法感兴趣。
PS编辑/etc/X11/xinit/xserverrc
删除-nolisten tcp
选项并重新启动不起作用。
(下面是一个关于serverfault上相同问题的自我回答的几乎逐字副本,我忘了这个问题;还没有创建askubuntu)。
根据此页面中有关启用XDCMP和文件/etc/gdm/gdm.schemas的信息,我设法创建了一个/etc/gdm/custom.conf
文件:
# /etc/gdm/custom.conf [xdmcp] [chooser] [security] DisallowTCP=false [debug]
注意字母大小写:如果你写“disallowTCP = false”,它将无法工作……我还将/ etc / X11 / xinit / xserverrc文件更改为:
exec /usr/bin/X11/X
即我删除了-nolisten tcp
选项到X可执行文件。 我不知道是否需要。 您可能想尝试避免此编辑。
如果您只更改xserverrc文件,X仍将以“-nolisten TCP”开头。
之后,只需重新启动gdm进程即可:
sudo service gdm restart
您可以validation成功:
tzot@tzot-laptop:/etc/X11 $ netstat -an | grep -F 6000 tcp 0 0 0.0.0.0:6000 0.0.0.0:* LISTEN tcp6 0 0 :::6000 :::* LISTEN
更新
升级到12.04后,我遇到了同样的问题。 这一次,罪魁祸首是系统使用的lightdm。 需要更新的文件是/etc/lightdm/lightdm.conf
并且[SeatDefaults]
部分中所需的添加是xserver-allow-tcp=true
。
然后,我也找到了答案 。 🙂
概要
因此,在10.10中,这仍然有效:使用上面指定的内容创建/etc/gdm/custom.conf
并重新启动gdm
。
这个答案与Kubuntu 17.04有关,我添加它,因为没有其他答案(与gdm
或lightdm
)帮助了我。 在我的情况下, sddm
正在运行。 要检查这一点,请运行
ps -eal | grep sddm
如果它正在运行,则显示进程sddm
和sddm-helper
。 在这种情况下,添加包含内容的配置文件/etc/sddm.conf
[XDisplay] ServerArguments=-listen tcp
创建此文件后重启系统(可能是sddm
重启就足够了)。 作为结果
PS ax | grep sddm
显示所需的Xorg
选项-listen tcp
,X Server已为传入连接做好准备(不要忘记使用xhost
添加远程主机)。
从Ubuntu 18.04开始,我查看了正在运行的进程,并发现正在使用的显示管理器是gdm3:
$ ps ax|grep dm 1515 ? Ssl 0:00 /usr/sbin/gdm3
然后我编辑了/etc/gdm3/custom.conf并添加了一行:
[security] DisallowTCP=false
如上所述,打开端口6000并不安全。 但是我只在家庭网络中使用它,并且iptables进一步保护端口只能打开我的主笔记本电脑,它应该没问题。