X 客户端如何知道他们需要连接到 TCP 端口 6000+<显示编号>?

Mar*_*tin 6 xforwarding x11

当我从 SSH 服务器请求 X 转发时,SSH 服务器会设置一个$DISPLAY值为的变量localhost:10.0。此外,它开始侦听127.0.0.1端口6010(以及IPv6::1端口6010):

Netid  State      Recv-Q Send-Q                                     Local Address:Port                                                      Peer Address:Port                
LISTEN     0      128                                               127.0.0.1:6010                                                                    *:*                     users:(("sshd",pid=11405,fd=10))
Run Code Online (Sandbox Code Playgroud)

X 客户端如何知道他们需要连接到 TCP 端口 6010?这是否以默认情况下它们连接到 TCP 端口6000+<display number>并且在此示例中显示编号为 10 的方式工作,然后它们将连接到 TCP 端口6010

Ste*_*itt 17

它是X11 协议的一部分(搜索“6000”)并记录在例如Xorg(1)

Xorg侦听端口 6000+ n,其中n是显示编号。可以使用该-nolisten选项禁用此连接类型(Xserver(1)有关详细信息,请参阅手册页)。