如何让 X.org 监听远程连接的 tcp 端口?

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)

它完全解决了我的问题。

ala*_*anc 9

对于 Xorg 1.17 及更高版本,-nolisten tcp是默认设置,您需要明确声明-listen tcp以启用 tcp 连接。

  • 请注意...您可以在终端中使用以下命令找到 Xorg/X11 服务器版本...`X -version`。 (3认同)