[返回]
中国计算机报2001年第12期

VNC跨平台进行远程控制

薛启康

  异种操作系统之间的相互操作,一种更有效的方法是使用VNC——Virtual Network Computing(即虚拟网络计算)。使用VNC可以使你的不同计算机之间实现真正的相互操作,不过,VNC只限于GUI之间的相互操作,如Windows同Linux系统的X Window之间相互操作,Windows同Macintosh之间的相互操作。

  如果你使用过PcAnyWhere之类的远程控制工具,那么VNC可以被看作同它们相类似的工具,但是,VNC还不仅如此——它除了在Windows系统上可以相互操作外,还支持不同操作系统之间的相互操作,利用这一特性,我们可以进行异种操作系统之间的互操作。

  目前VNC支持的OS环境有:各种Sparc Solaris、Macintosh 68K、Macintosh PPC、各种x86 Linux、Windows 9x/NT/2000、Windows CE、等,它还支持Java技术。

  Windows下操作Linux窗口管理器

  VNC由两部分组成: VNC服务器、VNC客户连接器。服务器主要为远程客户端提供服务。一台主机上,可以同时安装服务器及客户端,也可以根据需要,只安装客户端或服务器端软件包。


  安装及使用VNC


  下面将以Linux及Windows下的安装方法为例,简述安装配置过程。

  在Linux下安装,过程并不复杂,只要将文件解压缩后即可:

  #tar -xvf VNC-3.3.3r2_x86_Linux_2.0.tgz

  然后,将其路径加入到PATH中。如果要使用口令访问,应先执行VNCpasswd文件。根据要求输入相应的口令。如下所示:

  #cd /usr/local/VNC /*说明:我的VNC解压缩在/usr/local/VNC目录下

  # ./VNCpasswd

  Password:

  Verify:

  两次输入客户端登录时所要求的口令,完成客户口令的设置。

  接下来,启动VNC服务:

  [root@mail VNC]# ./VNCserver :2

  New 'X' desktop is mail:2

  Starting applications specified in /root/.VNC/xstartup

  Log file is /root/.VNC/mail:2.log

  这样,已经表示一个新的X Desktop成功地运行在display Number 2上了。VNC服务器的日志记录在/root/.VNC/mail:2.log中。

  Windows环境下的安装十分简单,首先将压缩文件解压缩,运行其中的Setup自动完成安装,下一次启动后,VNC服务器会自动启动。与Linux稍有点不同,Windows下的VNC缺省将Display number设置为0。Display number值可以从VNC的属性中修改。

  在Redhat 6.2自带的KDE桌面管理器下操作Windows Me的画面

  另外,如果你并不想在Windows环境下安装VNC服务,那么仅将其中的Viewer复制出即可,连安装程序都不需要运行。

  在Windows环境下使用VNCviewer,直接即可点击运行。

  输入VNC服务器的IP地址,后跟:6,注意,这个数字应同VNC服务器启动时设置的Display number值相同,我的Linux上是这样运行服务器的:VNCserver :6(你可以选择任何一个值)。在Windows环境下缺省为0。

  在Linux下使用VNC操作Windows时,在X窗口管理器中的终端中键入:

  # cd /usr/local/VNC

  #./VNCviewer

  之后,出现一个对话小窗口,输入Windows系统的IP地址,如果设置的Display number值不为0,还要注意指明其值。当VNCviewer成功连接至VNC服务器后,会提示用户输入以前设置好的口令,之后进行对Windows的操作。


  通过浏览器操作


  如果你连那个150kB的小软件都不想下载,那么,你还可以通过浏览器操作远端的主机(注意,你的浏览器要支持Java,如果不支持,则以下方法不可行。不过,目前几乎所有的浏览器都支持Java,但是,一定要记得将浏览器的Java支持功能打开)。VNC服务器本身带了一个小的Web server,通过它,浏览器可以直接来操作系统远程主机。Windows环境下的Web server集成在软件包里;Linux环境下的Java放置在一个叫classes的目录中,在已经解压缩的文件中,可以看到它。

  在浏览器的URL栏中键入:http://192.168.1.200:5802(我的Linux机IP地址为192.168.1.200,在上面运行了一个VNC服务)。稍后,Linux主机的窗口管理器出现在你的浏览器中了。

  这时的浏览器如同一个框架,浏览器中的终端是一个Java applet,它可以实时地将你的鼠标、键盘信息传送到远程主机。

  Linux主机的窗口管理器出现在你的浏览器中,笔者正在通过浏览器玩一个小游戏

  在浏览器中对远程主机进行操作,操作方法完全与控制台相同。不过,有些应用程序在浏览控制下,无法成功启动,具体情况用户可以自己试试。

  使用浏览器的情况下,问题可能比较多,例如你的VNC服务器提供的Web服务的端口可能不是5802,这取决于你的主机的实际情况,如果使用http://localhost:5802不行,可以使用netstat查看其TCP服务端口,然后再试。

  由于VNC的认证特别简单,它只通过简单的口令认证即允许用户全权操作你的计算机系统,安全性不高,通常情况下,不应该在公共网上使用VNC。

  总的来说,VNC提供了一种通用的异种操作系统之间的互操作方法,软件小巧,客户端可在一张软盘上工作,使用浏览器甚至可以不用安装客户端程序,大大方便了用户的使用。更重要的是它是一个自由软件,完全遵循GPL,任何人都可以随便使用它而不必付费。好了,还不去下载一份体会它的强大功能!