分类: LINUX
2007-12-29 10:16:50
Virtual Network Computing (VNC) 的使用非常广泛,但人们对它还是存在很多误解。本文将仔细描述令 VNC 成为日常开发和管理工作中不可或缺的因素的基本功能,同时介绍 VNC 的一些最新进展。
您擅长使用 Virtual Network Computing (VNC) 吗?如果不擅长,您将发现,即使对此桌面共享系统 有些许了解,也会为您在履行日常开发或系统管理职责时带来莫大的帮助。
如果您已经熟悉 VNC,那就更好了:您尽可欣赏并体验基于 VNC 的最新创新。无论您从何处开始,下面的教程:
顺便提一下,用不可或缺 来形容 VNC 再恰当不过了;它与
ssh
、screen
、Expect
以及其他一些被广泛应用的工具属于同一类别,这些工具可使工作效率成倍 提升,而不仅仅是小幅提高。VNC
的贡献在于,用户可以方便地让计算进程在此处 运行,却在他处 显示结果。使用 VNC 可以:
为完成第一次试验,您需要:
VNC 基于一个名为 RFB 的公共网络协议(要进一步阅读有关本文中提到的技术主题的信息,请参见下面的)。VNC 软件分为专有版本和免费版本,可供多种平台使用;无论是大型机,还是手表般大小的小工具,VNC
都同样适用。具体对 AIX 而言,开始试验的一种简便方式是使用 Toolbox for Linux® CD 上的副本,此 CD 随 AIX
提供。目前,RPM 还可以通过 IBM AIX Toolbox 获得。虽然您能够以非特权用户的身份启动
VNC,甚至可以安装它的本地副本,但您可能会发现,您只需成为 root
即可进行首次安装,这是最简单的一种方式。
让我们来明确一下第一次试验将提供哪些内容。“Toolbox”安装将同时提供 VNC 服务器和客户机;后者通常称为查看器。要开始试验,您可能只需在 AIX 主机上安装服务器即可。在查看计算机(可能不是 AIX,甚至可能没有装配 X11)上,您需要选择一个查看器。对于 Windows®、Linux 和 MacOS 等常见的桌面,有多种不同的查看器可供使用。
VNC 与 X11 之间有很多差异。X11 始终被认为是查看远程计算结果的标准方式,因此从某种角度来讲,X11 和 VNC 存在竞争关系。令人感到困惑的是,这两个工具还使用表面上截然相反的术语:
X11 和 VNC 既是对手,也是队友。在下面,您将看到 AIX 下的 VNC 服务通常都依赖于 X11。与单独使用 X11 相比,X11 和 VNC 的组合具有多项优点:例如,与(单纯的)X11 相比,VNC 在较长和/或较慢的连接上工作时运行较好,有时是好得多。另外,VNC 查看器无需进行字体管理,因而比安装 X11 服务器要容易得多。现在,除了在 UNIX® 主机的控制台上外,通常都将 X11 与 VNC 一起使用。
在选择了各个部分后,请在 AIX 主机上用 vncserver :2
或类似命令以及保障安全的密码启动
vncserver。这会新建一个 X 服务器;另外,请在 AIX 主机上启动 xterm -display
:2
,以便提供一些用于显示的数据。
现在,请转到已安装 VNC 查看器的桌面。启动一个指向 $AIX_IP_ADDRESS:2
的新查看器,输入密码。稍等片刻,您应看到 AIX 控制台,其中会显示已弹出的全新 xterm
。
您刚刚取得了一个重要的里程碑。您的 VNC 会话将“类似于”X,其中,您用于查看结果的计算机并不是执行大量计算的计算机。但请注意,它并不同于 X:请关闭查看器。重新启动查看器,并重新连接。您又返回到刚才的桌面,所有程序仍在运行!这说明,与传统的 X11 不同,VNC 是“可恢复的”。
您将希望进行更多 的试验,以便根据需要对 VNC 进行自定义。请记住,VNC
是一个支持多种实现的开放标准,这一点我已在前面提到。例如,Bull 免费软件网站有一个备选服务器,除其他功能外,它还可以由 inetd
有效运行。
下面是要考虑的另外一些可能性:
-geometry
参数,您可以设置更大的 framebuffer。大多数服务器的缺省设置都是
640x480,此大小虽然是今天常见硬件上的设置,但它在首次发明 VNC 的大约十年前更为适用。
即可。您意识到这意味着什么吗?您可以向协作者演示最新的应用程序,而根本不需要进行安装。其条件是,这些协作者需要拥有启用了 Java 的 Web
浏览器。在 2007 年,谁还没有这样的浏览器呢?您可以为他们提供一个 URL 并使其指向您基于 AIX 创建的最新应用程序。
*shared
标志的信息,请阅读您使用的 VNC
软件的文档。
请自己想一想,VNC 可以提供多少有用的场景。下面是一个示例:您在实验室的一台专用计算机上设置演示,假设此计算机使用硬件锁定许可证连接到特殊的硬件。您启动 VNC 服务器,然后走进演讲大厅或会议室。接下来,您可以用专业设置在大屏幕投影仪上展示您的整个作品,同时不会使您的观众被计算机房的电缆或面包盒绊倒。
在与其他组件一起使用时,VNC“表现极佳”。VNC 在使用上之所以更加便利,不仅是因为 VNC 支持多种不同的选项,还因为它易于配置,可以与您已有的其他实践很好地结合起来。例如,我在大学实验室工作,那里有很多计算机,它们全部被简单地配置为在启动后自动接纳以标准方式运行的 VNC 服务器。除其他好处外,这意味着实验室中的任何人都可以随时寻求帮助,支持专家只需“回头”即可了解情况,即使他此时正在跨越国界也能做到。这样,实验室中将无需一直设有各种支持专家,更不用让学生自己动手,从而使可管理性和经济性得到大幅提升。
理解 VNC 的最佳方式是仅将它视为实现虚拟化的一个组件。通过将计算、显示、网络和管理标准化,它们将变为“可移动的”,在网络触及的任何地方,您都可以利用它们并对它们进行合理安排,以让它们最适于您的工程或业务条件。如果只是因为母板或显示管在物理上仅限于在某个特定的地区使用,将不能成为无法 工作的原因。
当然,自动化同样适用于查看器端;我在自己的桌面上启动了一些例程,它们会自动连接到我在全球监视的服务器上的会话。我倾向于在查看器端使用一些选项——有时我更改颜色深度来降低带宽要求,有时我会更改输入或共享配置。出于“长期”使用的目的,我特别喜欢关闭指针和键盘事件,以使我的查看器变为只读的。这样可防止我在不经意间覆盖数据或以其他方式影响远程计算机,但我仍然可以监视它所执行的各种操作。
AIX 专家应该了解的另一个工具是 x11vnc。x11vnc 是一个紧密绑定到物理硬件的 VNC 服务器。它着重于提高性能,这表现在:它不仅可用于通过 VNC 连接来查看 3D OpenGL 图形,其可移植性还允许它通过网络摄像机、电视谐调器及其他不寻常的硬件提供服务。x11vnc 可与目前 AIX 硬件上的大多数或全部 GXT*P 视频适配器兼容。
并非所有基于 VNC 的潜在附件都已编写完毕。您很可能遇到所需工具尚不存在的情况,例如罕见硬件上的查看器、有助于存档屏幕快照的录制和播放工具、支持电话会议的专用视频效果、或在建立 VNC 连接之前需要控制台批准的简单的通知小工具。
开源 VNC 的丰富实现意味着,您可以学习他人是如何编写 RFB 的服务器和客户端的。另外,还有一些类似 tclRFB(请参见)的工具包可简化 VNC 编程。
tclRFB 的 0.5 版包括一个示例查看器,其中提供了 500 行代码。只需添加另外几行代码,您就可以让查看器每隔 10
秒便自动保存一次远程连接的映像(请参见)。
|
我在此处提到的大多数功能本应在五年前就已实现:VNC 也类似于 Expect、screen 及其他工作效率方面的奇迹,这表现在:几乎它的所有功能在其创立之初便已昭然若揭,而之后的工作却仅限于细化。VNC 世界的所有新闻几乎都与小幅改进或修正有关。
尽管如此,它最近还是取得了一些重大进展,您应该对此有所了解:
所有这些研究只有一个目的,即让您了解 VNC。您最终将找到最适合您的细化方式。开始体验 VNC 时,请注意以下问题:请不要让您与自己或他人要查看的计算机显示器之间出现物理距离。一旦您开始使用 VNC,就再也离不了它了。另外,正如本文所描述的,您只需稍做准备即可开始体验。
screen
与 VNC、ssh
和 Expect 类似,也是一个不可或缺的程序。
|
Cameron Laird 是 developerWorks 长期投稿者和前专栏作家。他经常编写关于促进其公司应用程序开发的开源项目的文章,主要关注可靠性和安全性。 |