VNC简介
网络遥控技术是指由一部计算机(主控端)去控制另一部计算机(被控端),而且当主控端在控制端时,就如同用户亲自坐在被控端前操作一样,可以执行被控端的应用程序,及使用被控端的系统资源。
VNC(Virtual Network Computing)是一套由AT&T实验室所开发的可操控远程的计算机的软件,其采用了GPL授权条款,任何人都可免费取得该软件。VNC软件主要由两个部分组成:VNC server及VNC viewer。用户需先将VNC server安装在被控端的计算机上后,才能在主控端执行VNC viewer控制被控端。
(在windows中也由一套著名的网络遥控软件――Symantec公司推出的pcAnywhere。
VNC server与VNC viewer支持多种操作系统,如Unix系列(Unix,Linux,Solaris等),windows及MacOS,因此可将VNC server 及VNC viewer分别安装在不同的操作系统中进行控制。如果目前操作的主控端计算机没有安装VNC viewer,也可以通过一般的网页浏览器来控制被控端。
整个VNC运行的工作流程如下:
(1) VNC客户端通过浏览器或VNC Viewer连接至VNC Server。
(2) VNC Server传送一对话窗口至客户端,要求输入连接密码,以及存取的VNC Server显示装置。
(3) 在客户端输入联机密码后,VNC Server验证客户端是否具有存取权限。
(4) 若是客户端通过VNC Server的验证,客户端即要求VNC Server显示桌面环境。
(5) VNC Server通过X Protocol 要求X Server将画面显示控制权交由VNC Server负责。
(6) VNC Server将来由 X Server的桌面环境利用VNC通信协议送至客户端,并且允许客户端控制VNC Server的桌面环境及输入装置。
VNC的安装与使用
本人的操作环境:被控端 RedHat8.0,主控端Windows XP。
1. 载VNC Server与VNC viewer.
VNC Server下载地址:http://www.linuxeden.com/download/softdetail.php?softid=744
VNC viewer下载地址:http://download.pchome.net/php/dl.php?sid=2603
2.安装。
rpm –Uvh vnc-3.3.6-2.i386.rpm (如果是源代码请看包里的说明)
安装winvnc.exe
3.在Linux上启动VNC Server
执行vncserver命令:
[root@linux root]# vncserver
You will require a password to access your desktops.
Password: —-为了不想任何人都可以任意遥控此计算机。因此当第
Verify: —1次启动VNC server时,会要求设置网络遥控的密码。
New ‘X’ desktop is linux:1 —-一定要记住这一行稍后会用到。
Creating default startup script /root/.vnc/xstartup
Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/linux:1.log
(经上述步骤后,便已启动了VNC Server。如果你想要更改VNC Server的密码,只要执行vncpasswd命令即可。)
4.在Microsoft Windows上运行VNC Viewer
直接运行“vncviewer.exe”,系统会出现”Connection details”对话框。
在“Connection details”对话框中的“VNC server”文本框中输入VNC Server的IP地址(或主机名及显示装置编号,(请看3。在Linux上启动VNC server的这一行,New ‘X’ desktop is linux:1 得到此信息),例如:192.168.0.1:1(冒号后面的1是执行VNC Server生成的显示装置编号),单击“OK”按钮后,VNC Server即会开始检查所输入的信息,若是信息错误,系统会出现“Failed to connect to server”的错误信息:若是信息正确,则会接着出现“VNC Authentication”对话框。
若是在“VNC Authentication”对话框中输入的密码正确,就可以成功地打开Linux的桌面窗口。
5. 从浏览器远程遥控。
启动VNC Server 后直接打开浏览器,在地址栏中输入被控端的网址或IP地址,并在网址后加上“:5800+显示编号”的端口号即可操控该计算机。
例如:http://192.168.01.:5801 (如果显示编号为1,一般第一次设置的显示编号都是1,就用5800+1=5801。)
6.FAQ
A.为什么连接后,不能显示桌面,而只有一个Terminal窗口?
试着修改/root/.vnc/xstartup,把最后一行 twm& 改成 gnome-session& or kde&(据说KDE在目前的VNC Viewer上的表现不太稳定)
B. 为什么重新启动VNC Server后,连接不上了?
因为重新启动VNC Server时,系统会指定一个新的显示编号,需使用此新的编号,否则就无法连接。
2.以 redhat linux 8.0 下面的安装和使用为例
Linux 下面利用 vnc 来图形界面的控制也是非常简单的。VNC 是由两部分组成:一部分是客户端的应用程序(vncviewer);另外一部分是服务器端的应用程序(vncserver)。
一、安装 vnc 的 rpm 包
1 安装 linux
1.1 图形界面下的安装要是在 KDE 或者 GNOME 下,直接点击 rpm 包,系统会自动开始安装。中间还会提示你设 置密码,端口等。
1.2 命令行下的安装。
下面还是说说命令行下的安装,其实也是非常简单的,一个命令就可以了。
cd /mnt/f/vnc/
rpm -ivh vnc-3.3.6-2.i386.rpm
2 设置 vnc server 的访问密码
vncpasswd
3 启动 vnc server
vncserver
4 linux 上的 vnc server 内定的管理环境是 twm,不好看,也不方便。
我们来把它改成 KDE。修改 $HOME/.vnc/xstartup这个文件。把 starttwm 改成 startkde 修改后要重新启动 vnc server。
二、远程连接 现在你可以在各种平台下控制 linux 了。服务器端 (vncserver)还内建了 Java Web 接口,这样用户通过服务器端对其他计算机的操作就能通过浏览器(必须支持 java applet)显示出来了,这样的操作过程和显示方式非常直观方便。
VNC(Virtual Network Computing)虚拟网络计算工具,本质上来说是一个远程显示系统,管理员通过它不仅仅可以在运行程序的本地机上察看桌面环境,而且可以从Internet上的任何地方察看远程机器的运行情况,而且它具有跨平台的特性。
Linux 要使用远程桌面需要安装VNC,好在Red Hat Enterprise Linux AS 4.0 已经自带了VNC,默认也已经安装了,只要配置一下就可以了。但是Windows客户端还是要安装的。
VNCServer 配置:
1. 启动 VNC Server:
打开终端执行:vncserver
2. 默认情况下VNC Viewer只能看到 VNC Server的命令行。
要VNC Viewer上可以看到Linux桌面需要做如下设置:
在VNC Viewer所在的机器上,取消/root/.vnc/xstartup文件中下面两行的注释即可:
unset SESSION_MANAGER
exec /etc/X11/xinit/xinitrc
3. Linux启动后自动运行VNCServer
1) 在 系统设置<服务器设置<服务 中把 vncserver 打勾。
2) 打开配置文件/etc/sysconfig/vncservers,去掉下面这行的注释,
VNCSERVERS=”1:root”
VNCSERVERARGS[1]=”-geometry 800×600″
1表示VNC以桌面1运行,这样可以启动root的桌面。
4. VNC端口
如果需要从外网控制内网的某台Linux,则需要打开防火墙相应的端口,并在路由器上进行端口映射。
VNC给浏览器的端口是5800+N,给vncviewer的端口是5900+N,N是设置的display号
Windows 客户端 VNC Viewer 的配置:
1. 从 http://www.realvnc.com/download.html 下载 VNC Free Edition for Windows Version 4.1.2
2. 打开 VNCViewer :
填入VNCServer 的IP:编号(1或2或…)
3. VNCViewer 切换全屏模式:F8
VNC启动模式
vncserver -geometry 800*600
vncserver -depth 16