centos6.0配置 tigervnc 服务器
一、安装  VNC
首先检查一下本机是否安装了VNC,默认情况下,CentOS6.0是没有安装的。
检查是否安装,输入:
[root@localhost  ~]#  rpm  -q  tigervnc tigervnc-server
得到:
package vnc is  not  installed
package vnc-server  is  not  installed 提示没有安装,那么就开始安装,输入:
[root@localhost  ~]#  yum  install  tigetvnc tigervnc-server
注:如果是  Ubuntu  则输入:
[root@localhost  ~]#  apt-get  install  tigervnc tigervnc-server
在一串指令提示后,会让你确认一些选项,输入两次 "Y" 并确认,稍作等待,提示 "Complete!" 即 完成安装。
二、设置  VNC  密码
启动  VNC,输入: [root@localhost  ~]#  vncserver 此时会提示你输入密码,因为是第一次配置。重复输入两次即可。
三、配置桌面类型
设置一下远程桌面使用那个类型的桌面,分辨率多少等等。输入:
[root@localhost  ~]#  vi  ~/.vnc/xstartup
得到:
#!/bin/sh
vncconfig  -iconic  &
unset  SESSION_MANAGER
unset  DBUS_SESSION_BUS_ADDRESS OS=`uname  -s`
if
[ $OS  =
'Linux'
]; then
case "$WINDOWMANAGER" in
*gnome*)
if
[ -e  /etc/SuSE-release  ]; then PATH=$PATH:/opt/gnome/bin export  PATH
fi
;;
esac fi
if
[ -x /etc/X11/xinit/xinitrc  ]; then
exec /etc/X11/xinit/xinitrc fi
if
[ -f /etc/X11/xinit/xinitrc  ]; then
exec sh /etc/X11/xinit/xinitrc fi
[ -r $HOME/.Xresources  ] &&  xrdb  $HOME/.Xresources xsetroot  -solid  grey
xterm  -geometry  80x24+10+10  -ls  -title
"$VNCDESKTOP  Desktop"
&
twm  &
一般情况下,我们使用的  Linux 桌面都是"Gnome"桌面,故配置成这个桌面比较习惯。 按  "i"  键进入编辑状态,主要修改最后两行
(将配置文件的最后两行注释掉,并且加入了一行代码,表明使用的是  "Gnome"  桌面)。
修改如下:
# xterm  -geometry  80x24+10+10  -ls  -title  "$VNCDESKTOP  Desktop"  &
# twm  &
gnome-session  &
四、配置登录帐号、桌面分辨率、连接方式
输入:
[root@localhost ~]# vi /etc/sysconfig/vncservers
出现如下提示:
# The VNCSERVERS variable is a list of display:user pairs.
# Uncomment the lines below to start a VNC server on display :2
# as my 'myusername' (adjust this to your own).   You will also
# need to set a VNC password; run 'man vncpasswd' to see how
# to do that.
#
# DO NOT RUN THIS SERVICE if your local area network is
# untrusted!  For a secure way of using VNC, see this URL:
# http://kbase.redhat.com/faq/docs/DOC-7028
# Use "-nolisten tcp" to prevent X connections to your VNC server via TCP.
# Use "-localhost" to prevent remote VNC clients connecting except when
# doing so through a secure tunnel.   See the "-via" option in the
# `man vncviewer' manual page.
# VNCSERVERS="2:myusername"
# VNCSERVERARGS[2]="-geometry 800x600 -nolisten tcp -localhost"
重点编辑最后两行,将这两行注释去掉,得到:
VNCSERVERS="1:root"
VNCSERVERARGS[1]="-geometry 1024x768" (这一行可以不要,变成自适应的窗口大小,建议不要)
这里是只有一个帐号登录,设置分辨率为 1024*768,如果你有多个帐号,则按照下面格式配置。
VNCSERVERS="1:user1 2:user2 3:user3"
VNCSERVERARGS[1]="-geometry 1024×768"
VNCSERVERARGS[2]="-geometry 1024×768"
VNCSERVERARGS[3]="-geometry 800×600 -depth 24 -nolisten tcp -nohttpd -localhost"
解释一下这个文件:
VNCSERVERS  这一行是配置在系统启动时启动几个VNC server,上面的例子里运行了三个  VNC server,
其中 user1 在display :1,user2在display :2,user3在display :3。
VNCSERVERARGS  这三行,分别为  VNC server 1, 2, 3 配置启动参数,上面的例子里对user1和user2 使用屏幕分辨率 1024×768,对 user3 使用 800×600,24色,不支持 tcp,不支持 http 连接,只能在 本地测试访问。
注释:在启动 VNCserver 时,你也可以为 server 指定一个 display 参数。你可以把 display理解为一个桌面,每个用户都可以有自己的桌面。VNC 客户端在连接时,可以指定连接到哪个桌面上。在系统 中,display 号不能重复,也就是说,如果有用户已经建立了名为 ":1" 的 display,另外一个用户就不 能再使用  ":1"  了,他可以使用  ":2"。
指定  display  号码的启动  VNC  server  的命令是:
vncserver:1
修改完vncserver后,重新执行vncserver时即以新的分辨率开始
验证:ps -ef | grep vnc,可以看到所显示的分辨率参数为修改后的参数。
启动vncserver服务
service vncserver start
五、配置防火墙,允许VNC连接
VNC server监听的端口从 5900 开始,display:1  监听  5901,display:2 监听  5902,以此类推。
CentOS  的防火墙缺省是不允许连接这些端口的,所以需要使用下面的步骤打开防火墙(需要root权限)
[root@localhost ~]# vi /etc/sysconfig/iptables
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3389 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 5901 -j ACCEPT
#-A INPUT -m state --state NEW -m tcp -p tcp --dport 5902 -j ACCEPT
#-A INPUT -m state --state NEW -m tcp -p tcp --dport 5903 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
上面我们只添加了一个 root帐号和桌面 1,所以这里按照上面的规则,添加一个  "5901"  端口号即可。(若有多个账号和桌面,则添加多个)
-A INPUT -m state --state NEW -m tcp -p tcp --dport 5901 -j ACCEPT
重启防火墙,是配置生效
[root@localhost  ~]#service  iptables  restart iptables:清除防火墙规则:[确定]
重启防火墙完毕后,你就可以使用VNC客户端连接了,连接时候必须注意主机IP地址后面必须加桌面号(输入端口号是一样的,但是这里是桌面号)。
例如这样连接:10.0.14.104:1
230650516.png

230749565.jpg六、设置VNC开机自动启动
[root@localhost  ~]#  chkconfig  vncserver  on
至此,所有配置完毕!我们就可以用vnc远程连接linux桌面了!