为 lightdm 设置 XDMCP,端口未监听

为 lightdm 设置 XDMCP,端口未监听

我使用的是 Ubuntu 11.10,lightdm。看来我的 XDMCP 服务设置正确,但它无法连接。

我有以下内容/etc/lightdm/lightdm.conf

[XDMCPServer]
enabled=true

要重新启动 lig​​htdm,请发出以下命令:

sudo restart lightdm

这将生成以下日志文​​件/var/log/lightdm/lightdm.log

[+0.01s] DEBUG: Launching X Server
[+0.01s] DEBUG: Launching process 6947: /usr/bin/X :0 -auth /var/run/lightdm/root/:0 -nolisten tcp vt7 -novtswitch
[+0.01s] DEBUG: Waiting for ready signal from X server :0
[+0.01s] DEBUG: Starting XDMCP server on UDP/IP port 177
[+0.02s] DEBUG: Acquired bus name org.freedesktop.DisplayManager
[+0.02s] DEBUG: Registering seat with bus path /org/freedesktop/DisplayManager/Seat0
[+0.17s] DEBUG: Got signal 10 from process 6947

没有错误。

到目前为止一切顺利..看起来 XDMCP 服务已经启动了。

但是,虽然看上去启动正常,没有任何错误,但连接失败。问题可能与 TCP 端口 6000 上没有监听任何内容有关?

netstat -l 显示以下内容:

udp        0      0 *:xdmcp                 *:*
udp        0      0 *:34000                 *:*
udp        0      0 *:mdns                  *:*
udp6       0      0 [::]:xdmcp              [::]:*

它显示 xdmcp 177 端口正在监听,但是 netstat 中没有显示 tcp 端口 6000 正在监听:

netstat -l | grep 6000

不返回任何内容。

XDMCP 不是应该监听 6000 端口吗?

客户端尝试连接超时。

有趣的是,它之前是可以工作的,我们想不出任何会影响 XDMCP 的配置更改。故障排除似乎指向 6000 端口未监听,但我们从未验证过该端口在之前工作时是否被使用过。

答案1

您还需要

[SeatDefaults]
xserver-allow-tcp=true

答案2

我在 PC 192.168.1.6 上尝试了您的确切配置,然后转到另一台 IP 为 192.168.1.7 的 PC 并运行

Xephyr -query 192.168.1.6 :1

Lightdm 欢迎界面显示出来,我以用户身份登录会话awesome,然后在第一台电脑上找到

$ sudo netstat -atunp
...
tcp        0      0 192.168.1.6:40264       192.168.1.7:6001        ESTABLISHED 16555/dbus-launch
tcp        0      0 192.168.1.6:40265       192.168.1.7:6001        ESTABLISHED 16512/awesome   
tcp        0      0 192.168.1.6:40263       192.168.1.7:6001        ESTABLISHED 16555/dbus-launch
tcp       64      0 192.168.1.6:40252       192.168.1.7:6001        ESTABLISHED 16232/lightdm   
...

相关内容