Linux下VNC安装与配置

上一篇 / 下一篇  2010-04-12 10:21:26 / 个人分类:Linux

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的桌面环境及输入装置。

Linux 要使用远程桌面需要安装VNC,好在Red Hat Enterprise Linux AS 4.0 已经自带了VNC,默认也已经安装了,只要配置一下就可以了。但是Windows客户端还是要安装的。

1.键入下面的命令来检查vnc客户端和服务器是否已经安装在你的系统中:
[root@localhost ~]# rpm -q vnc vnc-server
vnc-4.0-11.el4
vnc-server-4.0-11.el4

2.如果没有安装,则下载VNC Server安装
VNC Server下载地址:http://www.linuxeden.com/download/softdetail.php?softid=744
VNC viewer下载地址:http://download.pchome.net/php/dl.php?sid=2603

或者http://www.realvnc.com/dist/vnc-4.0-x86_linux.tar.gz
vnc有免费版本和收费版本,我们使用免费的版本就足够了。
官方网站是:http://www.realvnc.com

解压后按照README文档操作即可:

[root@xcorder ]# tar -zxvf  vnc-4.0-x86_linux.tar.gz

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.此时即可启动vncserver:
第一次启动要设置密码.VNC远程密码

[root@xcorder ]# vncserver
You will require a password to access your desktops.
Password:
Verify:
xauth:  creating new authority file /root/.Xauthority
New ´xcorder.sky.cn:1 (root)´ desktop is xcorder.sky.cn:1
Creating default startup script. /root/.vnc/xstartup
Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/xcorder.sky.cn:1.log


上面这段话表示起动了一个图形终端,编号为1,要记住这个编号,等下登录时需要提供这个编号。
如果你要停止这个进程,使用
代码::
$vncserver -kill :1

(经上述步骤后,便已启动了VNC Server。如果你想要更改VNC Server的密码,只要执行vncpasswd命令即可。)

4.如果上面的没有成功,发出现以下提示:缺少libstdc++库文件.
You will require a password to access your desktops.
vncpasswd: error while loading shared libraries: libstdc++-libc6.1-1.so.2: cannot open shared object file: No such file or directory

5.请到这里下载
http://rpm.pbone.net/index.php3/stat/4/idpl/843376/com/compat-libstdc++-7.3-2.96.118.i386.rpm.html

rpm -ivh   compat-libstdc++-7.3-2.96.118.i386.rpm


之后现运行:vncserver

6.如果存在防火墙,还需要开放防火墙.
如果需要从外网控制内网的某台Linux,则需要打开防火墙相应的端口,并在路由器上进行端口映射。
VNC给浏览器的端口是5800+N,给vncviewer的端口是5900+N,N是设置的display号。

可以通过如下命令确认端口已经正常启动:

[root@xcorder ]# netstat -an|grep 01
tcp        0      0 0.0.0.0:5801                0.0.0.0:*                   LISTEN      
tcp        0      0 0.0.0.0:5901                0.0.0.0:*                   LISTEN      
tcp        0      0 0.0.0.0:6001                0.0.0.0:*                   LISTEN      
.....
在使用防火墙的情况下来连接到一个远程系统,需要打开端口5901.
加入以下红色的部分,然后重启iptables服务。
[root@localhost .vnc]# more /etc/sysconfig/iptables

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 5901 -j ACCEPT
#/sbin/service iptables restart

7.PS: 在/root/.vnc/xstartup
把twm &  改为gnome-session& or kde&
保存修改配置后.重启服务器.

8.再运行开启vncserver命令.开启一次图形终端,编号为1,
如果要开启两个图形终端就运行两次vncserver命令.但第二个图形终端在远程的时候.要以:XXX.XXX.XXX.XXX:2 这样的格式.表示远程图形终端2

9.客户端远程的时候.一般是用WIndows 系统.在客户端安装vnc-E4_1_9-x86_win32_CHS.rar
  软件(自己选用的.).一步一步安装就可以了.安装好后.打开客户端
VNC 客户端下载:http://download.pchome.net/inter ... /download_2603.html



在服务器里输入LINUX服务器IP.后面还要加个1.远程第一个图形终端.正确连接后.会返回提示要输入密码



10.密码正确登陆后.就会看到LINUX服务器桌面..




11.FAQ
A.为什么连接后,不能显示桌面,而只有一个Terminal窗口?
试着修改/root/.vnc/xstartup,把最后一行 twm& 改成 gnome-session& or  kde&(据说KDE在目前的VNC Viewer上的表现不太稳定)

B.为什么重新启动VNC Server后,连接不上了?
因为重新启动VNC Server时,系统会指定一个新的显示编号,需使用此新的编号,否则就无法连接。
(以上只是本人遇到的一些问题,而且用VNC也不是很多,很不全面,还望多提宝贵意见)

C. 要把vnc配置成一项系统服务自动运行,把你的用户名称加入到下面的配置文件中:
1) 在 系统设置>服务器设置>服务 中把 vncserver 打勾。
2) 打开配置文件/etc/sysconfig/vncservers,去掉下面这行的注释,
VNCSERVERS="1:root"
VNCSERVERARGS[1]="-geometry 800x600"

1表示VNC以桌面1运行,这样可以启动root的桌面。

D.让vncserver接受两个不同的用户:
VNCSERVERS="1:root 2:thomasc"
当然你要为两个用户分别运行vncpasswd来设置口令. 并且在你的防火墙修改中,你应该明白VNC使用端口5901给连接1用,如果象上面一样要支持两个用户,应同时打开5901和5902.

blog.chinaunix.net/u/18526/showart_373103.html
server.51cto.com/vnc-connect-linux-109049.htm
blog.sina.com.cn/s/blog_4ea29b49010009yp.html


TAG: Linux linux VNC vnc

 

评分:0

我来说两句

Open Toolbar