loo*_*rto 9 remote-desktop xorg networking remote-x-session lightdm
Ubuntu 15.04 64 位桌面。
安装系统 X 服务器后,运行-nolisten tcp
选项:
922 tty7 Ssl+ 0:05 \_ /usr/bin/X -core :0 -seat seat0 -auth /var/run/lightdm/root/:0 -nolisten tcp vt7 -novtswitch
Run Code Online (Sandbox Code Playgroud)
我添加xserver-allow-tcp=true
到
/etc/lightdm/lightdm.conf并重新启动。所以X
现在开始没有-nolisten tcp
:
2688 tty7 Ssl+ 0:07 \_ /usr/bin/X -core :0 -seat seat0 -auth /var/run/lightdm/root/:0 vt7 -novtswitch
Run Code Online (Sandbox Code Playgroud)
但X
实际上并没有监听任何 tcp 端口:
sudo netstat -Wpnatu
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 645/cupsd
tcp 0 0 192.168.1.110:55524 192.168.1.2:22 ESTABLISHED 4016/slogin
tcp 0 0 192.168.1.110:1008 192.168.1.2:2049 ESTABLISHED -
tcp6 0 0 ::1:631 :::* LISTEN 645/cupsd
tcp6 1 0 ::1:57617 ::1:631 CLOSE_WAIT 2955/indicator-prin
tcp6 1 0 ::1:57413 ::1:631 CLOSE_WAIT 782/cups-browsed
tcp6 1 0 ::1:57412 ::1:631 CLOSE_WAIT 782/cups-browsed
udp 0 0 0.0.0.0:32586 0.0.0.0:* 790/dhclient
udp 0 0 0.0.0.0:68 0.0.0.0:* 790/dhclient
udp 0 0 0.0.0.0:631 0.0.0.0:* 782/cups-browsed
udp 0 0 0.0.0.0:5353 0.0.0.0:* 663/avahi-daemon: r
udp 0 0 0.0.0.0:44534 0.0.0.0:* 663/avahi-daemon: r
udp6 0 0 :::40820 :::* 663/avahi-daemon: r
udp6 0 0 :::54127 :::* 790/dhclient
udp6 0 0 :::5353 :::* 663/avahi-daemon: r
Run Code Online (Sandbox Code Playgroud)
那么,我还必须做什么?
更新:
对于 Xorg 1.17 及更高版本,-nolisten tcp 是默认值,您需要明确声明 -listen tcp 以启用 tcp 连接。
根据 alanc 的评论,我尝试在lightdm.conf 中添加另一行:
xserver-command=X -listen tcp
Run Code Online (Sandbox Code Playgroud)
最后一切都按预期工作。我的结果lightdm.conf:
[Seat:*]
autologin-guest=false
autologin-user=ubuntu
autologin-user-timeout=0
autologin-session=lightdm-autologin
xserver-allow-tcp=true
xserver-command=X -listen tcp
Run Code Online (Sandbox Code Playgroud)
它完全解决了我的问题。
对于 Xorg 1.17 及更高版本,-nolisten tcp
是默认设置,您需要明确声明-listen tcp
以启用 tcp 连接。