网络遥控技术是指由一部计算机(主控端)去控制另一部计算机(被控端),而且当主控端在控制端时,就如同用户亲自坐在被控端前操作一样,可以执行被控端的应用程序,及使用被控端的系统资源
http://www.realvnc.com/index.html
『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的桌面环境及输入装置。
[root@xcorder ]# tar -xvf vnc-4.0-x86_linux.tar
vnc-4.0-x86_linux/
vnc-4.0-x86_linux/vncinstall
vnc-4.0-x86_linux/Xvnc
vnc-4.0-x86_linux/vncviewer
vnc-4.0-x86_linux/vncserver
.....
vnc-4.0-x86_linux/java/vncviewer.jar
[root@xcorder ]# cd vnc-4.0-x86_linux
[root@xcorder ]# ./vncinstall /usr/local/bin
Can‘t install manual pages to /usr/local/man/man1
Copying Xvnc to /usr/local/bin
Copying vncviewer to /usr/local/bin
Copying vncpasswd to /usr/local/bin
Copying vncconfig to /usr/local/bin
Copying vncserver to /usr/local/bin
Copying x0vncserver to /usr/local/bin
[root@xcorder ]# mkdir -p /usr/local/vnc/classes
[root@xcorder ]# cp java/* /usr/local/vnc/classes
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命令即可。)
下面就让我来介绍我在Linux下的安装和使用过程吧。
系统要求:要使用VNC,那当然是你的Linux系统使用的是图形环境,也就是说安装系统的时候安装了Xwindows和gnome或kde环境。
rpm包的安装和使用:
第一、先去VNC的官网下载对应的VNC软件版本。
VNC的官网:http://www.realvnc.com/。目前最新版本是vnc4.4.3。下载for Linux的最新版的rpm包。
第二、安装VNC软件。
#rpm -ivh vnc-E4_4_3-x86_linux.rpm
#rpm -Uvh vnc-E4_4_3-x86_linux.rpm (如果服务器已经安装过VNC,用这个命令升级安装)
第三、因为下载的是企业版,要正常使用需要输入序列号。
#vnclicense -add XXXXX-XXXXX-XXXXX-XXXXX-XXXXX (输入序列号)
第四、设置VNC的连接密码。
#vncpasswd (输入VNC连接密码)
注:如果你现在不设置密码,当你用vncserver启动vnc服务时会提示你设置密码。
第五、启动VNC服务。
#vncserver (启动VNC服务器)
New ‘X’ desktop is linux:1 (一定要记住冒号后到数字,这个是vnc服务器编号)
Creating default startup . /root/.vnc/xstartup
Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/linux:1.log
第六、关闭VNC服务。
#vncserver -kill :1 (关闭VNC服务器)
注意:kill和:1之间有一个空格。
tarball安装和使用:
第一、先去VNC的官网下载对应的VNC软件版本。
VNC的官网:
http://www.realvnc.com/。目前最新版本是vnc4.4.3。下载for linux的最新版的tarball包。
第二、安装VNC软件。
# tar zxvf vnc-E4_4_3-x86_linux.tar.gz
#cd vnc-E4_4_3_r16583-x86_linux
#./vncinstall /usr/local/bin /usr/local/man (安装VNC的二进制文件和man文件)
第三、因为下载的是企业版,要正常使用需要输入序列号。
#vnclicense -add XXXXX-XXXXX-XXXXX-XXXXX-XXXXX (输入序列号)
第四、设置VNC的连接密码。
#vncpasswd (输入VNC连接密码)
注:如果你现在不设置密码,当你用vncserver启动vnc服务时会提示你设置密码。
第五、启动VNC服务。
#vncserver (启动vnc服务器)
New ‘X’ desktop is linux:1 (一定要记住冒号后到数字,这个是VNC服务器编号)
Creating default startup . /root/.vnc/xstartup
Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/linux:1.log
第六、关闭VNC服务。
#vncserver -kill :1 (关闭VNC服务器)
注意:kill和:1之间有一个空格。
FAQ
1、使用vncviewer访问vnc服务器,报“加密不匹配”信息?
答:唯一方法,换专业版或企业版到vncviewer。
2、客户端访问到的默认桌面只有一个X,看到的是一个灰色的界面,如何能看到kde或gnome的桌面?
答:编辑启动vnc服务的用户目录下.vnc/xstartup文件,修改如下:
xsetroot -solid grey
vncconfig -iconic &
xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
#gnome-session &(启动gnome桌面就把前面的#去掉)
startkde (启动kde桌面)
#twm & (启动命令行)
3、VNC的口令管理文件在那里?
答:在启动vnc服务的用户目录下.vnc/passwd中。
4、VNC访问日志文件在那里?
答:在启动vnc服务的用户目录下.vnc/*:1.log。
5、VNC启动时报“A VNC server is already running as :1”,是什么问题?
答:说明已经有用户启动了vnc服务,你可以ps aux|grep vnc查看是否有vnc的进程,如果有表示有人正在:1桌面上启用来vnc服务,如果没有,说明上一次启用到vnc服务没有正常退出,可以删除/tmp/.X11-unix下的X1,并重启VNC服务。
6、在Linux服务器上启动VNC服务正常,但是客户端无法连接报10061超时是什么问题?
答:应该是Linux服务器防火墙的设置问题,请检查防火墙的设置规则。
转自http://blog.csdn.net/liqfyiyi/article/details/6938418