Telnet和SSH服务只能实现基于字符界面的远程控制,对于习惯于使用X-Window的用户而言,使用字符界面就不太方便了,这时我们就想起了windows的远程桌面,linux平台也有自己 远程桌面系统,这里以RHEL6.2为例,讲解一下Windows平台下远程桌面到Linux。

windows平台的软件安装就没什么好说的了,这里用的是RealVNC,可以到这里下载。

链接:http://pan.baidu.com/s/1gdOK3cR 密码:6ypy

里面包含VNC Server和VNC Viewer,单独安装VNC Viewer是免费的。

Linux平台下的vnc:

一、VINO

VINO是Gnome桌面中集成的一个VNC软件,安装Gnome的时候就回被默认安装

p_w_picpath

p_w_picpath

选中“允许其他人查看您的桌面”后,VINO就会启动服务器端进程vino-server 并默认监听TCP 5900 号端口。

p_w_picpath

(这里用lsof命令来查看端口被哪个程序所占用)

如果不选中“允许其他用户控制您的桌面”,客户端则只能看不能操作。

VINO的模式和下面要介绍到的XVNC有很大的不同,VINO客户端显示的桌面与linux端本地显示器中显示的桌面一样 ,如果你操作客户机中的鼠标,linux的显示器也能看到鼠标的移动。

但是,VINO的带宽占用有点夸张,所以VINO不适合作为服务器日常远程管理,比较适合作为linux下的远程协助和远程教学,也就是说你遇到问题的时候求助高手,而高手手把手教你,你可以很直观的看着屏幕学习,或者是故障重现,你在本地出的故障或BUG重现工程师可以远程看到

 

二、XVNC

XVNC其实就是大家熟知的vnc或者是vncserver ,这里用到的是RealVNC公司开发的版本。

VNC的原理就是不停的对窗口界面截屏,再将图像传输给客户端,同时VNC服务器端接管服务器端的键盘、鼠标控制权,客户端可以通过服务器端操纵键盘鼠标。

VNC提供了远程X-Window界面操作的功能。它是Virtual Network Computing的缩写。

VNC的中文名称为虚拟网络计算,它提供了一种在本地系统上显示远程计算机整个“桌面”的轻量型协议。

VNC与Symantec公司的pcAnywhere可以实现类似的功能,但是VNC与其他远程控制软件不同的是它的跨平台性。即VNC可以在各种流行的操作系统间实现远程控制。利用VNC可以在Windows环境下看到Linux的桌面,也可以在MacOS环境下看到Windows的桌面。

VNC是一套由英国剑桥大学AT&T实验室在2002年开发的轻量型的远程控制计算机软件,其采用了GPL授权条款,任何人都可以免费得到和使用该软件。VNC软件主要由两个部分组成:VNC Server和VNCViewer。VNC Server安装在被控端的计算机上,VNCViewer安装在主控端(客户机)上。用户才能在主控端执行VNCViewer控制被控制(服务器)。

VNC服务相当于Windows操作系统的远程桌面操作。它是一个功能强大的远程桌面访问和操作工具,它的核心功能是使用户能够使用VNC客户端连接到运行VNC服务器的机器,并且远程使用服务器的桌面,键盘和鼠标动作被发往服务器,服务器桌面的快照被压缩并且通过VNC协议发送到客户端。

VNC还可以实现基于Java的客户端访问远程的VNC服务器,换句话说,只要通过支持Java的浏览器即可进行远程控制,而无需安装任何软件。

VNC Server与VNC Viewer支持多种操作系统,如Windows、Linux、UNIX、MacOS等,因此可将VNC

Server及VNC Viewer分别安装在不同的操作系统中进行控制。也即,它是一个跨平台的远程控制软件。

VNC软件的安装

 RHEL安装光盘中已经包含了tigervnc的组件。

默认是没有安装 的,插入安装光盘,

[root@localhost ~]# mount /dev/cdrom /mnt     #将光盘挂载到/mnt目录下

[root@localhost ~]# cd /mnt/Packages/                #进入到光盘的Packages文件夹下

p_w_picpath

这就是我们需要的server端的tigervnc,下面开始安装。

[root@localhost Packages]# rpm -ivh tigervnc-server-1.0.90-0.17.20110314svn4359.el6.i686.rpm

安装完成我们来启动VNC Server

[root@localhost ~]# vncserver

You will require a password to access your desktops.
Password:    
Verify:

New 'localhost.localdomain:1 (root)' desktop is localhost.localdomain:1

Creating default startup script /root/.vnc/xstartup  
Starting applications specified in /root/.vnc/xstartup    
Log file is /root/.vnc/localhost.localdomain:1.log

tigervnc-servre默认监听TCP :5091号端口

p_w_picpath

 

这时候在windows下启动VNC Viewer


p_w_picpath

p_w_picpath

p_w_picpath

登录后输入刚设置的秘密,就会看到server的桌面了。

p_w_picpath

这时候会发现和我们上面讲的VINO是有很大差别的,网络延迟好像小了,并且我们在远程桌面上做的任何动作都不会在server上同步显示。

这里我们可以同时开多个远程窗口:

[root@localhost ~]# vncserver :2 -geometry 1366x768 -depth 24

New 'localhost.localdomain:2 (root)' desktop is localhost.localdomain:2

Starting applications specified in /root/.vnc/xstartup  
Log file is /root/.vnc/localhost.localdomain:2.log

注:“:2”指2号窗口,“-geometry”指窗口分辨率,“-depth”指色彩数。

也可以简单的指定:

vncserver :1   

注:使用RealVNC的客户端,窗口分辨率与色彩数可以在客户端指定

当你第一次启动vncserver时,会要求指定密码,该密码是VNC客户端连接时要输入。

窗口可以从0开始指定,如果Linux本地端已经启用图形环境,则必须从1开始指定,因为窗口0被X11占用。