X11 转发 Amazon EC2 DISPLAY 变量中序列号的重要性

X11 转发 Amazon EC2 DISPLAY 变量中序列号的重要性

我使用 X11 从 Amazon EC2 中托管的 Ubuntu 实例转发到我的本地主机。仅当远程(Amazon EC2)DISPLAY变量设置为localhost:10.0 “我知道这10是序列号”时,我才能进行转发,但我想知道它是如何决定的。我尝试过转发xclock应用程序,它似乎仅在序列号为10且没有其他内容时才起作用(0,1,2 .. 9 不起作用)。

FWIW,我的本地主机的DISPLAY变量设置为:0 有人能启发我吗?提前致谢。

答案1

当您连接到您使用的实例时ssh,它在远程上创建了一个小型服务器,该服务器在端口 6010 上侦听通过 ssh 连接转发回的连接。当您运行DISPLAY=localhost:10 xclock该应用程序时,该应用程序会将 10 转换为 6010(X11 约定)并连接到该本地端口以获取发送回给您的数据。

答案2

至少在 OpenSSH 中,实际的数字偏移量由X11DisplayOffsetsshd 配置文件(Ubuntu 上的 /etc/ssh/sshd_config)中的参数确定:

X11Forwarding yes
X11DisplayOffset 10

man sshd_config

 X11DisplayOffset
         Specifies the first display number available for sshd(8)'s X11
         forwarding.  This prevents sshd from interfering with real X11
         servers.  The default is 10.

相关内容