分享
 
 
 

Linux下的远程控制—VNC

王朝system·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

现在,依靠互联网大家便可以自由安闲地在家中工作了。但是,这在linux下将如何实现呢?假如想在家中使用“dialup PPP”连接,或者采用租用的虚拟私有网络(VPN)使用个人电脑或服务器时,该如何做呢?

在Linux的操作系统上,利用现有SCO的Tarantella和GraphOn的Bridges,可以运行X-Window和微软视窗远程的应用,并且显示在网页浏览器上。然而,这些专门的应用服务器安装可以说是耗时、昂贵的。当然,也可以使用XFree86来远程运行X-Window应用。但X协议需要有适当数量的网络带宽,假使想要从Linux系统控制一个Windows视窗操作系统的机器或服务器,X则显得不能“胜任”。VNC(Virtual Network Computing)的出现给我们提供了一个新的选择。

何谓VNC软件

VNC就是一个通过软件方式实现ATM网络计算机模式的软件系统。它是由AT&T开发的一套远程控制的软件,在遵循GPL的条款下进行分发,也就是说它是一个开放源代码的软件。当网络中的计算机安装了相应的VNC 软件后,就可以在计算机上随时建立和取消对远端计算机的治理控制,所以给这个软件起名为“虚拟网络计算机”。由于VNC使用的通信协议RFB(Remote Fram Buffers)是一个开放协议,它很快就被很多爱好者移植到各种不同的平台上。现在能够支持的操作系统包括所有Windows 9x/2000/NT/XP、MacOS 8.5以上的版本,以及大多数的Unix系统,其中也包括Linux。所有不同平台版本的VNC,不管是Server还是Client,都支持VNC的通信协议RFB。这样就能够很轻易地实现不同平台的相互操作。

VNC是一个开放的源代码,而且属于免费的软件产品,具有在Unix、Linux、微软视窗上传送高效能远程控制台的能力。它在根本上有两个部分:客户端应用(VNC Viewer)和服务器端应用(VNC Server)。此服务器对于Unix、微软Windows视窗及MAC操作系统皆可以使用。可以从一台Linux机器的“VNC Viewer”连接到一台运行VNC服务器的电脑。VNC服务器也提供了java网页界面,可以用来运行远程应用程序,并且将之输出显示在浏览器上。

软件安装

VNC可以直接由其网站http://www.uk.research. att.com/vnc/download.Html进行下载。

目前,Linux的VNC版本为3.3.3,而binary文件名叫做3.3.3rl_x86_linux_2.0.tgz,其中包含了Linux VNC服务器和VNC Viewer两者。除了Linux操作系统版本,还需要下载所有的平台的VNC版本,如微软Windows视窗或其它的Unix版本。

当下载了VNC的Linux版本后,可以解压文件到一个文件夹中,例如/home/vnc,然后复制文件vncserver、 vncpasswd和Xvnc到/usr/bin目录中。假如想要能够通过VNC服务器的整合Java界面远程控制Linux电脑,也得需去建立一个子目录/usr/local/vnc/classes。在建立此子目录之后,复制VNCJava.class文件到此目录中。其操作的命令如下:

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

#cp classes/* /usr/local/vnc/classes

接下来,要确定“perl script”是否已经安装到机器中,并且Perl解释程序是否已定位在/usr/bin/perl/。但假如它没有存在,必须去改变“vncserver script”的第一行,去对应它实际的位置。一旦完成上述操作,就可以在终端视窗中通过“#vncserver”的命令启动来“VNC Server”。

在被提问以及设定一组密码后,会显示一个信息表示服务已经启动。在Linux的操作系统上,VNC服务器(VNC Server)程序实际是使用自己的“X Server”。它并不将显示结果输出在显示器上,而是通过网络显示在“VNC Viewer”程序上。因为“X Server”预设显示为0(你的屏幕),VNC将启动自己的“X Server”在下个有用的端口上(:1)。因为VNC有专用的“X Server”,也有其专门的视窗治理员设定。

在VNC的常见问题网页上,包含如何配置远程视窗治理员。在预设中,VNC使用“twm”来作为视窗治理员,它是功能相当小的视窗治理员。预设视窗治理者是储存在一个叫做“xstartup”的文件中。而“xstartup”是在“home”目录中的“.vnc”隐藏目录下,见图1所示。

图1 X Server与Clint间的交互

“twm”也许是最低限度的要求者,但一般不会在远程连接之上运行KDE或GNOME。因为这些桌面环境会消耗相当多的系统资源,因此不太轻易在网络上运行。另外,负担较轻的Windows治理员如“fvwm2”可从http://www.fvwm.org网站来下载。为了测试VNC Server是否能正常的运行,可以运行“VNC Viewer xxx.xxx.xxx.xxx:1”。“xxx.xxx.xxx.xxx”是电脑的IP地址或名称。“:1”代表X显示的数目。假如安装Java语言的类别,可以通过Netscape浏览器或微软的IE浏览器连接到“VNC Server”。并键入以下URL: http://xxx.xxx.xxx.xxx:5801,其中xxx.xxx.xxx.xxx是你电脑的IP地址。

服务器端与客户端

1.VNC Server

和所有的Server/Client相同,VNC Server要正常工作,被远程控制机器的操作系统和TCP/IP协议栈必须都能正常工作,具有能访问到的IP地址,并且启动VNC Server后,才能对它进行远程控制。下面我们分别在Windows、Mac OS和Unix平台进行了测试试用。Windows平台下VNC在AT&T剑桥实验室的主页上有完整的安装软件包下载,其中包括了VNC Server/Viewer。和普通的软件一样,执行Setup后,所有必需的文件都会被复制到硬盘,同时也会创建一个程序组。其中有一项“Install VNC Server As Service”能够把VNC Server加入到Windows 9x/NT/2000/XP的系统服务中,可以在登录进入系统之前就启动VNC Server。在控制面板中的服务控制里面启动VNC Server服务,并且设置一个访问密码,Windows的服务器端就预备完毕了。见图2所示。

Unix下的VNC Server不需要对软件进行安装,只需要在VNC的网页下载符合使用的Unix版本和硬件结构的二进制可执行文件包。在本地以Root解开,执行Xvnc这个脚本,就会像Windows版本的VNC Server一样,提示输入访问密码,然后就会进入后台作为一个服务运行。通常还会提问输入X Server的DESKTOP号,在使用客户端访问的时候用到。假如没有合适的系统二进制可执行文件包,还可以下载源代码,根据自己的系统做一些调整,编译好就可以运行了。在Unix下,最常用的GUI结构是基于X-Window协议。见图3所示。

图3 X-Window工作方式

2.VNC Viewer(Client)

所有各种平台上的VNC Viewer都是一个很小的执行文件,通常在100KB~200KB之间,可以把它拷贝到软盘上随身携带。Unix下的VNC Viewer通常会需要X Server的支持,也有在Windows/Phonto等GUI环境下的VNC Viewer,可以根据自己运行环境去选择合适的客户端。

在启动客户端后,只需要输入想远程控制的机器的IP地址,在VNC Viewer连接上远端的机器后,输入访问密码,对方机器的桌面就出现在屏幕上了。假如是Windows/Mac OS的服务器端,看到的就是熟悉的Windows/Mac OS桌面。假如是Unix类的操作系统,就会看到一个X-Window的界面。假如X-Window是XFree86的话,默认的窗口治理器会是TWM,可以像在本地一样对远端的机器操作。VNC Viewer可以同时支持连接治理多个远端主机,这样就可以非常方便地同时控制多台机器。VNC还可以工作在另外一种“被动联结方式”。这是一个非常有用的功能。在需要连接到一台在防火墙后面的机器的时候,可以把VNC Viewer开启,进入Listen模式,让VNC Server按普通模式相反的方向去联结VNC Viewer。这样可以绕过这一障碍,和普通的方式一样非常方便地去控制远端的机器。见图4所示。

图4 VNC Server在Unix下以X Server工作时结构

“VNC Viewer java applet”载入到浏览器中,将会被提示输入当初所设置的密码。假如想要远程控制一台Linux或Windows操作系统的电脑,请牢记这些系统仅只有预设的显示。因此,将会使用port 5800来连接到它们。

当对于不同的平台使用多种“GUI Viewer”时,请牢记在预设值中。Viewer启动使用16位的颜色深度。假如控制系统在局域网上,大概看不见有严重的性能降低。然而在互联网上,过多的色彩的确会造成太重的负担。假如你要连接到互联网上,大约只需要使用8位的色彩即可。例如使用Linux系统的客户端,可以简单地发出以下的命令去连接VNC服务器在8位[256]色彩。

#vncviewer xxx.xxx.xxx.xxx:1 -brg233

-bgr233选项是指告知服务器去发送8位真色彩像素格式。前两位元表示蓝色的成分,下三位元表示绿色,其它的三位元表则表示为红色。

结束语

经过以上介绍,大家已经大致了解VNC的基本状态。

在家里使用Linux系统,利用VNC去远程控制服务器或桌面电脑还是比较轻易的。甚至还可以利用它,在“Palm Pilot”或“Windows CE”上使用无线Modem连结到VNC服务器上。

但是,它在实际使用中还存在一些问题。假如被控制端操作系统或者网络不能正常工作的话,是无法对其进行控制的。这种情况下还得在机器本地进行治理。在我试用过的众多远端控制软件中,VNC是工作效率最高、占用系统资源最小的,而且是惟一一个能够跨越多种平台的自由软件。它对于经常要跨越多种平台进行治理维护的专业人员来说是个最好的选择。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有