我应该使用 VNC 还是 X 协议从 Windows 控制 Linux 应用程序?

我应该使用 VNC 还是 X 协议从 Windows 控制 Linux 应用程序?

我需要使用RubyMine IDE从 Windows 桌面运行在 Linux 机器上。我想让远程 Linux 应用程序窗口的行为尽可能接近普通的本地 Windows 应用程序。据我所知,我的两个选择是:

  1. 使用 VNC 将整个 Linux 桌面带到我的 Windows 机器上。

  2. 使用 Windows 上的 X 服务器作为在 Linux 上运行的 X 客户端的服务器。

我的问题:

  1. 对于全屏 (1920x1080) 应用程序,在 ping 时间小于 1ms 的千兆网络上,上述任何解决方案是否会感觉像本地应用程序?例如,没有明显的延迟、鼠标行为正常、窗口重新绘制迅速等。

  2. 以上哪个更“集成”到 Windows 桌面?例如,我的鼠标滚轮能用吗?我可以在 Windows 和 Linux 应用程序之间使用剪切和粘贴吗?

  3. 还有什么其他重要原因导致我更喜欢其中一个吗?

答案1

根据让它像在 Windows 中作为应用程序运行一样工作的请求,听起来 X 是最佳选择。VNC 是一种很好的简单远程协议,但它似乎总是在某些条件下受阻,使其不太适合严肃使用。另一个评论是,许多防病毒软件包喜欢抱怨 VNC 中的某些组件,通常将视图捕获软件报告为特洛伊木马。事实并非如此,但如果您处于严格的企业环境中,X 比 VNC 更受容忍。

答案2

根据我的经验和我所学到的,X11 需要通过互联网来回传输更多的数据包,而每个数据包都很小。VNC 则相反:数据包较少,但体积较大。

鉴于此,人们确实需要根据其连接的延迟/带宽来选择使用哪种协议。我认为总体而言,VNC 似乎响应更快,而对于您的情况(<1ms ping 千兆网络),两种协议都可以很好地工作!

答案3

我肯定会尝试 VNC。Windows 有很多选择,你可以尝试 RealVNC 的免费版本。

我想说的是,VNC 已经进入 Windows 很长时间了,拥有长期的用户基础,而且它是一种经过更多尝试和测试的解决方案。你几乎不会注意到任何延迟,我使用它在互联网上的远程桌面上工作,虽然有些延迟很明显,但这是完全可行的(使用 1Mb ADSL)。

答案4

我使用NoMachine NX 客户端在 Windows PC 上加上NX 免费版服务器在 Linux 机器上。NoMachine 有服务器的商业版本,但免费版本已证明足以满足我的需求,而且客户端始终免费。

在延迟和可用性方面,我发现它比 VNC 等其他替代方案更快、响应更快,即使在较慢的互联网连接下也是如此。连接也通过 SSH 进行保护- 如果默认情况下没有启用,则可以启用。我认为这是一大优势,因为它易于启用和使用。

相关内容