X 客户端如何知道他们需要连接到 TCP 端口 6000+?

X 客户端如何知道他们需要连接到 TCP 端口 6000+?

当我从 SSH 服务器请求 X 转发时,SSH 服务器会设置一个$DISPLAY值为 value 的变量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))

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

答案1

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

奥格监听 6000+ 端口n, 在哪里n是显示编号。可以使用选项禁用此连接类型-nolisten(请参阅Xserver(1)手册页了解详细信息)。

答案2

是的。

正如浏览器知道要连接到端口 80 上的 Web 服务器(除非另有指定)一样,X 客户端知道要与端口 6000 + 显示号码上的 X 服务器通信(除非另有指定)。

这些期望是什么标准(以及更广泛地说,文档)为我们提供了——否则,计算机之间的交互将变得极其麻烦。

相关内容