了解隧道时的 X Windows DISPLAY 环境变量

了解隧道时的 X Windows DISPLAY 环境变量

我想要通过 ssh 连接到远程服务器,两个服务器均已启用CentOS并运行X11Forwarding

但是 X 应用程序无法在其中一个主机上正常运行 - 在主机 B 上它可以正常工作。但在主机 AI 上,每次启动 X 应用程序时都会出现“无法连接到显示器”的错误。

在检查DISPLAY主机 A 上的环境变量(我认为该变量与 X window 有关)后,我找到了它的值localhost:10.0。按照提示这里,我更改了DISPLAY=0:10.0,它工作正常。但是,DISPLAY在主机 B 上仍然localhost:10.0工作正常。

我的问题是, 中的值代表什么?和DISPLAY之间有什么区别?localhost:10.00:10.0

据说它localhost标识一个主机名。那么它标识哪个主机,是运行我的 X 应用程序的服务器(主机 A/B)还是我希望显示 X 窗口的本地客户端?

如能提供任何提示或文档指针,我们将不胜感激。

答案1

部分答案实际上可以在这里找到:https://stackoverflow.com/questions/746119/how-do-you-use-display-specifications

DISPLAY 变量基本上由 3 个部分组成:

<host>:<display>[.<screen>]

就 localhost 又名 127.0.0.1 与 0.0.0.0 又名 0 而言,您可以看看这篇文章:

https://serverfault.com/questions/78048/whats-the-difference-between-ip-address-0-0-0-0-and-127-0-0-1

这也解释了其中的差异。

在您的特定情况下,0.0.0.0:10.0 和 localhost:10.0 会产生相同的效果,但基本含义是:

  1. 连接到任何设置了显示 10 的接口
  2. 在 lo0 上连接到显示器 10 的监听器。

实际上没有区别,因为在第一种情况下,所有接口的扫描都将从 lo0 开始,而 lo0 通常是列表中的第一个接口。

相关内容