![有人能解释一下 NX 是如何工作的吗?](https://linux22.com/image/527346/%E6%9C%89%E4%BA%BA%E8%83%BD%E8%A7%A3%E9%87%8A%E4%B8%80%E4%B8%8B%20NX%20%E6%98%AF%E5%A6%82%E4%BD%95%E5%B7%A5%E4%BD%9C%E7%9A%84%E5%90%97%EF%BC%9F.png)
我似乎找不到太多关于 NX 协议如何实际工作的信息。我听说它与发送 X11 命令有关。但这是否意味着监听客户端需要有一个 x 服务器来运行实际命令并显示它们?
答案1
高度简化的答案:它更像是 VNC,其中在运行桌面的系统上运行一个“服务器”组件,并且在用户所在的系统上运行一个“客户端”组件。
在 VNC 和 NX 两种情况下,“服务器”组件都有一个类似 X 的显示器,本地程序可以附加到该显示器并将其视为 X 显示器。
然后,用户运行连接到服务器的“客户端”程序,服务器使用其协议将显示内容发送回客户端并从服务器接收输入。
与 VNC 类似,NX 可以进行配置,以便客户端可以断开与 NX 会话的连接并稍后重新连接(从其他位置连接)。
NX 具有一些选项,可以使其在速度较慢、延迟较高的线路上响应更快,客户端可以在建立连接之前选择这些选项。
根据我的经验,NX 比 VNC 会话稍微灵活一些;但是我发现非常老的 X 应用程序会因为某些原因而受到影响;我有一个备份管理程序,它在 NX 中不显示某些信息,而在 VNC 中则显示。我认为这与客户端字体安装有关。与 VNC 相比,响应性取决于您正在做什么,因为必须说没有人会通过这两种方式传输视频。VNC 更为广泛,有经验的人也更多。人们可能关心的 VNC 的唯一功能是它还可以进行“桌面共享”(例如),我不相信NX会这么做。
就我个人而言,我会在人们将使用该系统进行高度指定的应用程序(CAD 工具之类)并拥有自己的本地桌面(现在通常是 Windows)的情况下部署 NX,而在人们拥有 Linux 桌面并想要进行桌面共享的情况下使用 VNC。
答案2
你可以把它看作是一个高度优化的 X 显示系统,可以跨网络运行。我可以列出更多细节,但老实说,关于NX 维基百科文章,所以我建议你去那里读一下。
回答你的问题,不,客户端不需要运行完整的 X 服务器。但它们需要运行 NX 客户端。