我是Linux新手,我必须设置DISPLAY变量来运行Java应用程序。不知何故,我设法做到了这一点,而且我知道可以使用
DISPLAY
<host>:<display>[.<screen>]
但我做的是<host>:1001。现在,这个1001是这个Linux的第1001个显示器吗?在一台机器上可能有这么多显示器还是我的理解是错误的?
<host>:1001
kq0g1dla1#
DISPLAY变量被X11用来识别你的显示器(键盘和鼠标)。通常它在台式机上是:0,指的是主显示器,等等。如果你使用的是带有X转发(ssh -X otherhost)的SSH,那么它将被设置为类似localhost:10.0这样的值,告诉X应用程序发送它们的输出,并从TCP端口127.0.0.1:6010接收它们的输入,SSH将把它们转发回你的原始主机。是的,在过去,当“瘦客户机”计算意味着X terminal时,将数百台显示器连接到同一台主机是很常见的。
:0
ssh -X otherhost
localhost:10.0
127.0.0.1:6010
dtcbnfnu2#
当在同一主机上的X Window服务器下运行时,DISPLAY值通常为:0、:0.0等。:1001中的大数字是SSH通过的X连接的典型值。这些数字实际上是6000的被加数,以获得TCP端口号;本地值从6000开始,SSH传递值可以从7000开始。(此扩展在不同的系统中不同,例如10或100也是可能的。)一旦动态分配了这些值,您就应该从现有的连接环境中获取DISPLAY的值,前提是适当的授权令牌也可用(例如在~/.Xauthority中)。
:0.0
:1001
2条答案
按热度按时间kq0g1dla1#
DISPLAY
变量被X11用来识别你的显示器(键盘和鼠标)。通常它在台式机上是:0
,指的是主显示器,等等。如果你使用的是带有X转发(
ssh -X otherhost
)的SSH,那么它将被设置为类似localhost:10.0
这样的值,告诉X应用程序发送它们的输出,并从TCP端口127.0.0.1:6010
接收它们的输入,SSH将把它们转发回你的原始主机。是的,在过去,当“瘦客户机”计算意味着X terminal时,将数百台显示器连接到同一台主机是很常见的。
dtcbnfnu2#
当在同一主机上的X Window服务器下运行时,DISPLAY值通常为
:0
、:0.0
等。:1001
中的大数字是SSH通过的X连接的典型值。这些数字实际上是6000的被加数,以获得TCP端口号;本地值从6000开始,SSH传递值可以从7000开始。(此扩展在不同的系统中不同,例如10或100也是可能的。)一旦动态分配了这些值,您就应该从现有的连接环境中获取DISPLAY的值,前提是适当的授权令牌也可用(例如在~/.Xauthority中)。