1、安装包
[root@pps ~]# rpm -qa | grep vnc-server
vnc-server-4.1.2-9.el5
2、 设置VNC桌面
我们要为有权可以登录的用户设置登录桌面,修改配置文件/etc/sysconfig/vncservers :
VNCSERVERS="2:zhaozh" //port:5902,username
VNCSERVERARGS[2]="-geometry 800x600 -nolisten tcp -nohttpd"
参数说明:
-geometry 800x600 桌面分辨率
-nolisten tcp 阻止通过TCP连接VNC服务器
【注意】我测试过此功能好像不起作用,请大家指正!
-nohttpd 阻止基于浏览器的VNC客户端连接。用浏览器的方式连接VNC图象质量不大满意,速度也不快,也不安全。如果没有禁止浏览器Applet窗口登录,我们可 以在浏览器里输入:http://vnc-server-ip:5802 这样就会出弹出来一个类似VNC viewer客户端的登录小窗口。
【注意】VNCSERVERS="2:zhaozh" 这里给zhaozh用户分配了桌面号为"2"的VNC桌面。桌面号大于1,不同的用户需要指定不同的桌面号。

3、配置授权用户的VNC 连接
【注意】如果用户被系统锁定的话,则vnc-server是启动不起来的
比如,我想让zhaozh用户可以登录,我需要来到 /home/zhaozh 目录下:
[root@pps ~]# cd /home/zhaozh/
[root@pps zhaozh]# ls -a

如果没有发现用户目录下有 .vnc (隐藏的)目录,我们需要给用户新建该目录,先转换用户角色,由root用户变为zhaozh用户:
[root@pps zhaozh]# su zhaozh
[zhaozh@pps ~]$ mkdir .vnc
[zhaozh@pps ~]$ cd .vnc/

然 后,需要为该用户建立登录vnc-server的密码:
[zhaozh@pps .vnc]$ vncpasswd
Password:xxx
Verify:xxx

退 出zhaozh用户角色,反回到root用户:
[zhaozh@pps .vnc]$ exit
exit
[root@pps zhaozh]#

现在就“应该”可以启动vnc-server了!
[root@pps zhaozh]# service vncserver start // /etc/init.d/vncserver restart
启动 VNC 服务器:2:zhaozh xauth: creating new authority file /home/zhaozh/.Xauthority
New 'pps.hoho.com:2 (zhaozh)' desktop is pps.hoho.com:2
Creating default startup script /home/zhaozh/.vnc/xstartup
Starting applications specified in /home/zhaozh/.vnc/xstartup
Log file is /home/zhaozh/.vnc/pps.hoho.com:2.log
[确定]

不过我们可以再配置一下zhaozh用户的界面使用,默认登录后的界面是“灰白”的,只是有一个xterm,还不如 putty通过ssh连接的界面啦!
[root@pps ~]# cat /home/zhaozh/.vnc/xstartup
#!/bin/sh
# Uncomment the following two lines for normal desktop:
# unset SESSION_MANAGER
# exec /etc/X11/xinit/xinitrc
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
#xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
#twm &
gnome-session &
将xterm和twm两行注释了,然后在后面添加我喜欢的gnome界面。
我的配置
$vi .vnc/xstartup 删除里面的所有内容后输入下面的代码。
unset SESSION_MANAGER
exec /etc/X11/xinit/xinitrc


4、防火墙配置
当前的VNC桌面设置,需要给 zhaozh开放5902端口登录。如果zhaozh在/etc/sysconfig/vncserver 里配置是"桌面1"的话,这里就改为5901。总之,需要开放的端口应为 5900 + 桌面号。

也可以通过以下的方式指定多用户多桌 面:
VNCSERVERS="2:zhaozh 4:hoho 6:snail"
那么就需要开放5902,5904和5906端口了。

5、 Windows下通过RealVNC Viewer客户端来连Linux接服务器
运行VNC Viewer,在服务器栏写上"VNC-SERVER IP:桌面号",比如我的
192.168.32.50:2

连接上后,用 户名一栏是灰色的,无法输入,用户名就是服务器端“固死”的用户名,这里就是zhaozh用户。因此只需要输入正确的用户密码就可以连接了,密码就是在上 面用vncpasswd创建的vnc-server用户密码。

6、杀死某VNC桌面
# vncserver -kill :桌面号
当然也可以停止vnc-server
# service vncserver stop