X 在 Windows 机器上显示

X 在 Windows 机器上显示

我正在尝试学习 Linux 架构的基础知识。因此,我的以下问题旨在了解理论和架构,而不是操作方法。

我的理解:图形应用程序在远程 Linux 机器上运行(例如 LibreOffice)。虽然这对我来说就像是实际的“应用程序服务器”机器,但我们说的是 Display客户(例如 X 客户端)。“客户端”计算机(用户坐在其前面)托管显示服务器显示给用户(例如键盘和屏幕)。应用程序服务器上的 DISPLAY 变量指向客户端计算机的显示服务器。到目前为止是否正确?在这种架构设置中,带有 X11 转发的 Putty 在 Windows 计算机(对我来说是客户端计算机)上的作用是什么?我就是搞不懂。说到 XI,我会想,在 Win 客户端计算机上安装适用于 Windows 的 X 服务器实现(例如 xming)并将 Linux 计算机上的 DISPLAY 变量指向该显示服务器应该足以在 xming 框架中显示应用程序的图形请帮助理解逻辑。谢谢

答案1

我将尝试自己回复一下。欢迎询问更多详细信息。

X-Window 系统可以追溯到大型机比现在更流行的时代。当时,在企业和学术环境中,人们的桌面上没有真正的计算机,只有终端设备其职责是管理 1)向用户显示的内容、2)来自用户的输入,以及 3)与中央计算机或大型机,运行应用程序。起初,这些终端设备仅显示文本,但需要更复杂的显示,这就是 X 发挥作用的地方。

因此,在 X 术语和大型机模型中,显示服务器是在用户面前的终端设备上运行的程序。它等待来自以下来源的传入连接(因此得名服务器):X 程序在主机上运行。默认情况下,X 程序连接到环境变量指向的 X 服务器DISPLAY

在正确配置的环境中,用户不必DISPLAY手动设置变量:X 终端设备向显示管理器在主机上运行(不要与在终端、用户桌面上运行的显示服务器混淆),使用称为 XDMCP(X 显示管理器控制协议)的协议。显示管理器程序发回登录屏幕,用户进行身份验证,显示管理器设置变量DISPLAY,以及可能的一些安全机制,然后调用会话管理器,仍然在主机上,用于管理用户会话。

实际上,大多数在 Windows 上运行 X 服务器的人都没有设置真正的 X-Window 会话。我甚至不确定在 Windows 上使用免费 X 服务器是否可行,因为唯一真正能实现 XDMCP 的服务器可能是非免费的(但也许它已经改变了,我不知道)...所以他们只是在 Windows 上启动 X 服务器,使用纯文本方法(如 Putty)登录,然后设置DISPLAY环境变量或简单地使用 X11 转发。

说到这里,什么是 X11 转发?它是一种通过 putty 建立的 SSH 连接将连接从 X 应用程序(在远程计算机上)传送到 X 服务器(在您的桌面上)的方法,从而确保它不会被窃听或篡改(因为是的,X-Window 的设计并没有真正考虑到保密性)。Putty 要求远程计算机上的 SSH 服务器打开一个侦听 TCP 端口,将变量DISPLAY设置为指向该端口,并且到该端口的所有连接都通过 SSH 连接。

相关内容