VNC:Linux下的远程遥控专家

发表于:2007-07-01来源:作者:点击数: 标签:
在微软 Windows操作系统 中的远程控制工具软件非常多,其中大家最熟悉的莫过于赛门铁克公司的PC ANYWHERE,还有CA ControlIT等等。这些远程控制工具软件都可以通过 网络 来控制特定的计算机,可以共享那台计算机的数据资料,操作该计算机上的外部设备。 既然
   在微软Windows操作系统中的远程控制工具软件非常多,其中大家最熟悉的莫过于赛门铁克公司的PC ANYWHERE,还有CA ControlIT等等。这些远程控制工具软件都可以通过网络来控制特定的计算机,可以共享那台计算机的数据资料,操作该计算机上的外部设备。


   既然在Windows下的远程控制软件如此出色,那么在Linux平台中是否有好用的一次控制工具软件呢?实际上,在Linux操作系统平台中也是存在几款功能强大的远程控制工具软件的,只是这些软件非常少,使用的用户也不是很多,所以一般的Linux用户对它们知道的并不多。


   远程控制软件最大的好处就是能通过网络访问特定的计算机。比如您在办公室里上班,想要一些放在家里计算机上的资料,如果使用了远程控制技术,那么您就不必跑回家用软件拷贝文件了,只要通过办公室里的计算机拨号上网或者通过VNP方式就能访问您家里的计算机,输入用户名和密码,就能拷贝到您需要的资料。当然,具体的软件设置方法在Windows下是很容易实现的,使用PC ANYWHERE等软件也可以方便的设置主机和客户端计算机。


   在Linux平台中的有些高级用户也知道通过在XFree86 下的X应用软件来远程控制计算机,不过通过这样的方式来远程访问计算机需要宽带技术支持,否则很难实现。还有,这种方式也不能跨平台使用,Linux的主机不能控制非Linux平台的计算机,也就是说Linux的主机只能控制Linux平台的计算机,不能控制Windows和Mac操作系统的计算机。这样给我们的工作会带来很大的不便。


   优秀的Linux下的远程遥控专家VNC能帮助我们实现Linux远程控制的愿望。VNC (Virtual Network Computing)是虚拟网络计算机的缩写。VNC是一款优秀的远程控制工具软件,由著名的AT&T的欧洲研究实验室开发的。VNC是在基于UNIX和Linux操作系统的免费的开放源码软件,远程控制能力强大,高效实用,其性能可以和Windows和MAC中的任何远程控制软件媲美。


   VNC基本上是由两部分组成:一部分是客户端的应用程序(vncviewer);另外一部分是服务器端的应用程序(vncserver)。VNC的基本运行原理和一些Windows下的远程控制软件很相象。VNC的服务器端应用程序在UNIX和Linux操作系统中适应性很强,图形用户界面十分友好,看上去和Windows下的软件界面也很类似。在任何安装了客户端的应用程序(vncviewer)的Linux平台的计算机都能十分方便的和安装了服务器端的应用程序(vncserver)的计算机相互连接。另外,服务器端 (vncserver)还内建了Java Web接口,这样用户通过服务器端对其他计算机的操作就能通过Netscape显示出来了,这样的操作过程和显示方式比较直观方便。

VNC这款软件可以通过一下网址下载:

http://www.uk.research.att.com/vnc/download.html
   VNC最新的版本是3.3.3。该主页上还提供了VNC的二进制程序代码下载3.3.3r1_x86_ Linux_2.0.tgz 有兴趣的朋友可以通过分析其源代码来更深入的了解VNC的工作原理。这个源码压缩包里包括了VNC的客户端和服务器端的Linux版本的完整源码。如果你想要其他操作系统版本(Windows,UNIX)的VNC的话,在该主页上也能找到。


   关于其他Windows和MAC版本的VNC软件的安装方法,在这里就不需要讲述了,只要用鼠标双击VNC软件包就能顺利安装,这和其他的Windows下的应用软件是一样的。我们具体的来看一下Linux版本的VNC是如何安装使用的。


   首先要把下载到硬盘里的VNC软件包解压。使用untar命令即可。可以把VNC解压到/home/ vnc中,解压后您会发现有vncserver,vncpasswd, vncviewer,Xvnc这4个文件,接着把这4个文件拷贝到/usr/bin 目录中。


   如果您想通过VNC的服务器端控制其他的计算机,那么下一步就是创建一个子目录/usr/local/vnc/classes,创建目录后,拷贝这个VNC Java .class文件到/usr/local/vnc/classe目录中,执行以下命令进行配置:

   # mkdir -p /usr/
   local/vnc/classes
   # cp classes/* /usr/
   local/vnc/classes


   接着,查看你的Linux系统中是否安装了Perl scripting脚本语言。Perl的解释程序在/usr/bin/perl/目录中。如果您的Linux中还没有安装Perl scripting脚本语言,那么您就需要修改vncserver script的第一行指定特定的/usr/bin/perl/目录。一般情况下Linux系统中都会安装有Perl scripting脚本语言的。


   好了,主要的VNC配置步骤就是那么多,如果您有特殊的需要,可以参考VNC里的说明进行具体的设置。在完成VNC的安装之后,可以通过在Linux的终端中运行:

   # vncserver

   来启动VNC的服务器端。VNC的服务器运行之后,首先它会要求您输入服务器密码,您这时候需要为服务器设立一个保护密码,这是非常重要的步骤。如果密码设置成功,那么script中就会显示出这样一个信息:display:1.。这个信息是什么意思呢?原来,在UNIX平台中的VNC服务器端(vncserver)实际上是运行一个自己的特制的终端服务器,用来显示运行的网络中的客户端vncviewer的信息。

   因为VNC有自己独立专用的X Server,所以我们可以对它进行相应的设置。这里要告诉读者的是,关于VNC的常见问题解答(FQA),文档等内容在以下网址可以看到,尽管都是英文的资料,不过这几个网址对如何设置VNC的远程控制管理窗口等问题的解答是非常详细的,有需要的了解更多关于VNC的远程管理功能具体设置的朋友可以到以下网址查询:

http://www.uk.research.att.com/vnc/doc.html
http://www.uk.research.att.com/vnc/faq.html
http://www.uk.research.att.com/vnc/start.html

   在默认情况下,VNC使用的管理图形用户界面是twm,这个twm管理窗口我想大家一定很熟悉了,在Linux众多的图形管理窗口中,twm对系统的要求是最低的,对资源占用行对其他管理窗口要小很多,这对我们在Linux运行时启动VNC时是非常有用的。twm管理窗口的默认配置参数就存储在/home里地一个隐藏子目录.vnc当中的xstartup文件里,如果您需要对twm重新进行配置,可以在此目录中找到xstartup文件进行修改。


   尽管twm管理窗口看上去不如KDE和GNOME那样华丽,但是您在运行VNC进行远程管理的时候并不需要KDE那样复杂的图形用户环境,并且KDE占用的系统资源相对较大,并且不是很容易进行网络管理,有twm就足够了。还有一个比较好的图形用户界面就是fvwm2,这个图形用户界面占用的系统资源也比较小,也适合作为VNC图形管理环境使用。需要fvwm2的读者可以到http://www.fvwm.org下载使用。


   对VNC进行测试的工作也非常简单,首先运行VNC的服务器端,然后运行vncviewer xxx.xxx.xxx.xxx:1 ,注意,xxx.xxx.xxx. xxx就是您的计算机的IP地址或者主机名。:1指的是要启动X显示方式。如果您的Linux系统中安装了Java classes,您可以启动NETSCAPE(当然如果您使用的是Windows操作系统,也可以运行Inte.net Explorer)来连接vncserver,然后输入以下URL:http://xxx. xxx.xxx.xxx:5801 ,同样,xxx.xxx.xxx.xxx是您计算机的IP地址或者主机名。


   完成以上步骤后,vncviewer Java applet会自动的载入浏览器,并且提示您输入管理员密码,这样您就可以直观的参看,管理VNC了。

   如果您想通过VNC远程控制一台Windows或者MAC平台的计算机,那么请您注意这些计算机的5800端口是否空闲,不被其他设备所占用,因为VNC必须使用5800端口和其他计算机进行连接通讯。



   其他操作系统上使用GUI界面的viewers也要特别注意,viewers需要在16位色的显示模式下工作,如果您的Windows操作系统中不能上16位色,那么请您及时的调整您计算机的显示模式。不然viewers无法正常工作。

   好了,最后要告诉大家,VNC不但可以通过Linux系统的主机来远程控制其他操作系统的计算机,更令人吃惊的是VNC还可以控制手持式的数码产品。例如使用PalmPilot 和Windows CE平台的PDA(个人数字助理)也能通过无线MODEN和Linux主机相互连接,这样您在上班的的地铁上也能轻松的通过无线PDA和家里的Linux主机相互通讯了。是在是太神奇了。

   在不久的将来,VNC还可以通过移动电话来控制其他的计算机,在即将到来的无线时代,VNC的作用将得到人们的重视,让我们为VNC喝采吧。

原文转自:http://www.ltesting.net