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的时候就回被默认安装
选中“允许其他人查看您的桌面”后,VINO就会启动服务器端进程vino-server 并默认监听TCP 5900 号端口。
(这里用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文件夹下
这就是我们需要的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号端口
这时候在windows下启动VNC Viewer
登录后输入刚设置的秘密,就会看到server的桌面了。
这时候会发现和我们上面讲的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占用。