有人能解释NX如何工作?

我似乎无法find关于NX协议如何工作的信息。 我听说它发送X11命令。 但这是否意味着侦听客户端需要有一个x服务器来运行实际的命令并显示它们?

高度简化的答案:它更像VNC,在运行桌面的系统上运行“服务器”组件,在用户所在的系统上运行“客户端”组件。

在VNC和NX的情况下,“服务器”组件都有一个类似X的显示器,本地程序可以附加并像X显示器那样对待它。

然后用户运行连接到服务器的“客户端”程序,服务器使用其协议将显示器发送回客户端并从服务器接收input。

像VNC一样,NX可以configuration为使客户端可以从NX会话断开连接,并在以后(以及从其他位置)重新连接。

NX提供的选项可以使得它在更慢和更高延迟的线路上响应更快,这些可以在连接之前由客户端select。

根据我的经验,NX比VNC会话稍微灵活一点; 但是我发现,真正旧的X应用程序会因为某些原因而受到影响; 我有一个备份pipe理程序,它不会在VNC中显示NX中的某些信息。 我相信这与客户端字体安装有关。 与VNC相比,响应能力取决于您所做的事情,因为必须说没有人会跨越任何一个stream式传输video。 VNC越来越广泛,越来越多的人有这方面的经验。 人们可能会关心VNC的一个特性就是能够与其进行“桌面共享”( 例如 ),我不认为NX会这样做。

就个人而言,我正在部署NX,用于人们将要使用高度指定的应用程序(CAD工具等)的系统,并有自己的本地桌面(通常这些天通常是Windows),并使用VNC的情况下人们有Linux桌面,并希望做桌面共享。

你可以把它看作一个高度优化的X显示系统,用于跨networking操作。 我可以列出更多的细节,但说实话,在NX维基百科的文章中有很多很好的信息,所以我build议你去那里阅读。

要回答你的问题,不,客户端不需要运行一个完整的X服务器。 但是他们需要运行NX客户端。

FreeNX系列文章(LinuxJournal):

  • 第1部分
  • 第2部分
  • 第3部分
  • 第4部分
  • 第5部分
  • (第6部分从出版物丢失)。