Answers:
除了带宽和延迟问题(可能有所不同)外,最大的不同在于它提供的功能。
VNC导出整个会话,桌面和所有会话,而ssh将运行一个程序,并在您的工作站上显示其窗口。
VNC服务器将导出一个会话,即使您断开屏幕连接,该会话也可以保留,以后您可以在所有窗口打开等情况下重新连接到该会话。对于ssh X隧道,这是不可能的,因为当X服务器死机时,窗口就会消失。
ssh -X
将X11命令重定向到本地X服务器。因此,就好像您实际上在另一端的计算机上运行该程序一样,是在本地运行该程序。这很慢,因为它占用大量带宽。(这就是人们所说的X11是“网络透明的”。)
相反,VNC和其他远程桌面应用程序让另一台计算机处理所有图形绘图等,并从本质上捕获屏幕截图并将其发送回您的计算机。它看起来可能快得多,因为显示所有内容所需的信息少得多。但是,它还会发送整个桌面,而不是单个应用程序。
我不建议通过ssh -X
Internet使用一个简单原因:它会使用您所有可用的带宽。我认为它在LAN上非常有用,因此,如果您只需要一个应用程序而又不想运行整个桌面,那么这是一个不错的方法。否则,只需使用VNC。
VNC将从远程系统共享整个桌面。它要求远程系统上有完整的桌面。
ssh -X允许您从远程服务器运行单个X应用程序。远程系统不需要运行完整的桌面,并且您通常只需要在远程系统上安装少量软件包即可。
ssh -X
通过远程连接安装复杂的软件包时非常有用。某些软件产品可能使用GUI安装程序(Oracle数据库等)。我不想在远程服务器上安装完整的Gnome桌面。因此,您在远程服务器上安装了一个或两个X11软件包(Xauth?),并允许DBA使用“ ssh -X / media / cdrom / oracle-installer”之类的简单方法远程运行Oracle安装程序。