似乎每个版本的 Ubuntu 都有不同的方式来启用到本地 X 服务器的远程连接。
我在做自己的研究时问了这个问题:如何启用我机器上监听 TCP 端口 6000 的 X 服务器,从而允许远程 X 客户端连接到该端口并使用我的显示器?
答案1
根据在本页面介绍如何启用 XDCMP和文件 /etc/gdm/gdm.schemas,我设法创建了以下文件:
# /etc/gdm/custom.conf
[xdmcp]
[chooser]
[security]
DisallowTCP=false
[debug]
我还将 /etc/X11/xinit/xserverrc 文件更改为:
exec /usr/bin/X11/X
即我删除了-nolisten tcp
X 可执行文件的选项。我不知道是否需要这样做。您可能想尝试避免进行此编辑。
此后,只需重新启动 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
答案2
如果在 /etc/gdm/gdm.schemas 中找到它
将 true 转换为 false,现在它可以工作了
<schema>
<key>security/DisallowTCP</key>
<signature>b</signature>
<default>false</default>
</schema>
答案3
在更高版本的 ubuntu 中,由于新的显示管理器 LightDM,上述过程不再有效。要检查这一点,请执行 shell 命令:
ps aux | grep `cat /tmp/.X0-lock'
并检查 lightdm 和 notcp 开关。如果找到,请通过在 /etc/lightdm.conf 的 [SeatDefaults] 部分中添加以下条目来更新您的系统:
xserver-allow-tcp=true
最后重新启动计算机并检查其是否正常工作
netstat -an | grep -F 6000
如上所示。
答案4
由于每个配置都不同,我发现我的配置是:
sudo grep --include=\*.conf -rwl '/etc/' -e "SeatDefaults"
如果找不到文件,可以尝试通过更改'/etc/'
为来扩大搜索范围'/'
找到文件后,添加其他人在该[SeatDefaults]
部分下建议的内容:
xserver-allow-tcp=true
保存文件并重新启动计算机。您可能需要xauth
在要访问的服务器上使用(完整信息这里), 前任:
xauth extract − $DISPLAY | ssh TheRemoteHost xauth merge −
您可能还需要使用xhost
(这里).最后在新的console Ctrl++Alt中F1使用:
sudo X -query TheXhost :1