DISPLAY localhost 到底是什么意思?

DISPLAY localhost 到底是什么意思?

我正在尝试进行一些 X11 转发,但完全迷失了方向。我找到了很好的答案来解释这个理论:

但在实际运用时我还是很落后。

这是我所做的:

  1. 打开后mobaxterm,它会在我的计算机上创建一个 X 服务器(Windows,没关系)。
  2. ssh -X server1
  3. echo $DISPLAY给出localhost:10.0
  4. xeyes- 在我的本地机器上打开一个窗口。很好,但是为什么localhost直接指向我的机器?不应该吗server1

据我所知,localhost等于127.0.0.1本地地址。那么如果我连接到,server1它不应该在上查找 X-serverserver1吗?

答案1

发生这种情况正是因为您执行了 X11转发(或者可以称为 X11隧道)。

您可以启动 X 服务器,连接到远程主机,然后在该远程主机上将 $DISPLAY 设置为指向您的原始计算机。在这种情况下(如果网络、权限等设置正确),您的图形应用程序将尝试连接到您的桌面以在那里显示其窗口,独立从您现有的 ssh 连接,因此可能通过未加密的通道。

相反,发生的情况是,您的应用程序认为它在同一台计算机上显示窗口,并且该应用程序不知道,ssh捕获该情况并在其自己的加密通道下将操作引导回您的原始计算机。

这种方法的一个优点是流量是加密的。另一个优点是您不必允许其他人(通过适当的身份验证、访问控制)连接到您的计算机,而且即使您的本地计算机无法从远程计算机寻址(例如,位于防火墙后面或位于专用网络上等),它也能正常工作。

相关内容