虚拟网络计算工具VNC使用指南


虚拟网络计算工具(VNC,Virtual Network Computing)本质上来说是一个远程显示系统,管理员通过它不仅仅可以在运行程序的本地机上察看桌面环境,而且可以从Internet上的任何地方察看远程机器的运行情况,而且它具有跨平台的特性。

本文将讨论为Linux系统设置基于VNC的X Windows系统桌面的一个全新的方法,通过阅读本文,你将能够配置实现通过一个显示管理器登录进入X-Window桌面。更重要的是,用户能在网络任何位置通过工作站控制台安全地访问同一个桌面。

典型情况下,一个图形工作站系统运行有一个显示管理器。在本文中我们讨论的显示管理器指XDM, GDM (GNOME显示管理器)或KDM (KDE显示管理器)等应用。一个显示管理器为用户提供图形化的登录界面。当一个用户登录进入系统,显示管理器启动合适的窗口管理器(例如fvwm2, GNOME或KDE)。从窗口管理器中用户可以运行任何应用程序。当用户退出登录,应用程序被关闭,窗口管理器同样退出,显示管理器再次出现,等待再次登录。如果同一个用户重新登录,那么显示管理器启动一个新的窗口管理器,并且所有的应用必须重新启动。这就是传统的X-Window系统桌面的工作过程。我们将这样一个桌面会话称为一个X桌面。当一个用户使用工作站的键盘和监视器来使用工作站时,我们就称之为用户通过控制台登录,这是为了和通过网络登录区分。
图 1.一个显示管理器
在虚拟网络计算一文中我们学习了如何配置VNC以实现通过网络上的任何机器保持状态地访问一个桌面。这里“保持状态”我的意思是当一个用户没有连接到桌面时,桌面并没有终止,而是保持等待连接请求的状态。当一个用户使用VNC客户端连接到VNC服务器时,每个窗口仍然保持在上次离开时的状态,每个被打开的文件仍然保持状态。控制窗口管理器和应用程序的VNC服务器的特性保证了桌面状态的连续性。

因此,网络上的任何计算机可以运行VNC客户端(例如vncviewer)来连接到工作站来显示桌面。我们甚至可以在运行VNC服务器的工作站上运行VNC客户端。我们将这种桌面会话称为VNC桌面,我们把运行VNC服务器(和其窗口管理器)的工作站称为VNC工作站。

对于VNC桌面,有一个问题。假设你希望通过控制台登录到VNC工作站,那么这个工作站同样在运行在VNC桌面。你可能通过网络上其他机器连接登录该工作站,这时候你往往希望能继续通过网络连覸NC桌面。同时当你通过一个显示管理器登录到控制台时,你希望看到和通过VNC连接登录时看到的同样的桌面。但是如果如果你通过显示管理器登录到工作站,那么它将会启动一个新的窗口管理器。基本上来说你启动的是一个新的X桌面,它和已经运行在该工作站的VNC桌面是没有关系的。

如果你希望在一个Unix系统上连接到VNC桌面,你必须运行一个VNC客户端,例如vncviewer。这样很愚蠢,因为基于X的桌面的一个应用程序窗口(vncviewer)本身是另外一个机器上的桌面(VNC桌面)。象这样保持多级别的重定向是非常麻烦的,除了容易引起混淆,而且效率也很低下因为需要系统运行两个窗口管理器,虽然实际上应该只需要一个。
www.linuxdoc.org/HOWTO/XDMCP-HOWTO得到更多关于XDMCP的资料。

另外一个解决方法是以inetd/xinetd方式运行VNC,也就是使用-inetd参数。但是这可能导致VNC为每个连接都重新启动,使得多个连接使用一个桌面,而且初始连接断开以后对应的VNC进程也随之结束。所以失去了保持连接状态和在本地远程之间共享桌面的特性。察看VNC得到更多的资料。

另外一个选择是使用x0rfbserver,这个应用以正常的X桌面方式运行,但是其却依赖于VNC客户端的显示内容。它能很好的利用X服务器支持的任何加速显卡的特性。而且它比X服务器加VNC服务器的方式占用更少的内存(它只需要一个X服务器和本来就很小的x0rfbserver应用程序)。但是它却要求你总是保持X桌面运行在控制台,因此它不适用于多个用户公用机器的情况。可以从www.hexonet.de/software.en得到更多的资料。

Jeremy D. Impson 是来自Owego的Lockheed Martin Systems Integration的一名高级副研究员。他是移动通信和移动计算中心的成员,在这里他使用开放源码软件来开发移动计算系统。你可以通过电子邮件地址jeremy.impson@lmco.com和他联系。
编者按:除了VNC以外,还有一个更好的协议-tight VNC同样可以选择使用,它完全和VNC兼容(同样的配置文件和同样的可执行文件名)。

本文作者:
« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3