这是在Ubuntu 10.10(Maverick Meerkat)64位桌面上。
我想让我的X服务器侦听来自本地网络上其他计算机上的客户端的远程连接。我知道ssh -X
,那不是我想要的。我隐约记得更改了TCPListen
从no
到的内容yes
,但是我不记得应该在哪里应用此更改。
我对GUI方法或CLI方法都感兴趣。
PS编辑/etc/X11/xinit/xserverrc
以删除该-nolisten tcp
选项并重新启动无法正常工作。
这是在Ubuntu 10.10(Maverick Meerkat)64位桌面上。
我想让我的X服务器侦听来自本地网络上其他计算机上的客户端的远程连接。我知道ssh -X
,那不是我想要的。我隐约记得更改了TCPListen
从no
到的内容yes
,但是我不记得应该在哪里应用此更改。
我对GUI方法或CLI方法都感兴趣。
PS编辑/etc/X11/xinit/xserverrc
以删除该-nolisten tcp
选项并重新启动无法正常工作。
Answers:
(以下是我遗忘的关于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
您可以通过以下方式验证成功:
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
和要求的补充是一个xserver-allow-tcp=true
在[SeatDefaults]
一节。
之后,我也找到了答案。:)
因此,在10.10中这仍然有效:/etc/gdm/custom.conf
使用上面指定的内容创建并重新启动gdm
。
/usr/share/lightdm/lightdm.conf.d/100-custom.conf
含有`[SeatDefaults]服务器允许-TCP =真`
xserver-allow-tcp=true
您的注释中缺少“ x”。您可以删除现有注释并重写。尽管答案现在包括该解决方案。
该答案与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
)。
[XDisplay]
部分已重命名[X11]
。当我尝试帮助我的同事直到man 5 sddm.conf
分别在16.04和17.10机器上运行a 并注意到差异时,这引起了很多混乱。
Ubuntu 18.04在lightdm 1.26.0上以lubuntu 18.04的身份运行,这就是我要做的(仅花了我几周的时间就弄清楚了)。您必须同时创建/etc/lightdm/lightdm.conf
和/etc/lightdm.conf.d/50-xserver-command.conf
如下:
sudo vi /etc/lightdm/lightdm.conf
:
[Seat:*]
xserver-allow-tcp=true
xserver-command=X -listen tcp
sudo vi /etc/lightdm/lightdm.conf.d/50-xserver-command.conf
:
[Seat:*]
xserver-command=X -core -listen tcp
这将导致lightdm使用以下命令行运行Xorg:
Xorg -listen tcp :0 -seat seat0 -auth /var/run/lightdm/root/:0 -listen tcp vt7
-novtswitch
这有-listen tcp
两次,但没有任何伤害。如果您没有两个文件,则Xorg选项之一将是“ -nolisten tcp”,它会覆盖另一个“ -listen tcp”。我终于在这里找到了线索。
然后添加:xhost +
您.bashrc
重新启动并检查Xorg现在是否正在侦听端口6000:
$ netstat -nal | grep 6000
tcp 0 0 0.0.0.0:6000 0.0.0.0:* LISTEN
tcp6 0 0 :::6000 :::* LISTEN
请享用...
从Ubuntu 18.04开始,我查看了正在运行的进程,发现正在使用的显示管理器是gdm3:
$ ps ax|grep dm
1515 ? Ssl 0:00 /usr/sbin/gdm3
然后我编辑/etc/gdm3/custom.conf
并添加了一行:
[security]
DisallowTCP=false
如上所述,打开端口6000是不安全的。但是,我仅在家庭网络中使用此端口,并且iptables
仅通过打开我的主笔记本电脑就可以进一步保护端口,这应该没问题。