①. VNC的运行机制介绍:
在配置VNC前,必须了解VNC的运行机制。Linux下的VNC可以同时启动多个vncserver,各个vncserver之间用显示编号(display number)来区分,每个vncserver服务监听3个端口,它们分别是:
5800+显示编号: VNC的httpd监听端口,如果VNC客户端为IE,Firefox等非vncviewer时必须开放。
5900+显示编号: VNC服务端与客户端通信的真正端口,必须无条件开放。
6000+显示编号: X监听端口,可选。
显示编号、开放的端口分别由/etc/sysconfig/vncservers文件中的VNCSERVERS和VNCSERVERARGS控制。VNCSERVERS的设置方式为“VNCSERVERS="显示编号1:用户名1 …"”,如:VNCSERVERS="1:root 2:aiezu"。VNCSERVERARGS的设置方式为VNCSERVERARGS[显示编号1]="参数一 参数值一 参数二参数值二
-geometry | 桌面分辨率,默认1024x768; |
-nohttpd | 不监听HTTP端口(58xx端口); |
-nolisten tcp | 不监听X端口(60xx端口); |
-localhost | 只允许从本机访问; |
-AlwaysShared | 默认只同时允许一个vncviewer连接,此参数允许同时连多个vncviewer; |
-SecurityTypes None | 登录不需要密码认证VncAuth默认值,要密码认证。 |
②. 修改/etc/sysconfig/vncserver文件:
熟悉Linux下VNC的运行机制后,开始正式配置VNC Server。vi /etc/sysconfig/vncserver,添加如下三行:
- VNCSERVERS="1:root
3:aiezu" - VNCSERVERARGS[1]="-geometry
800x600 -nolisten tcp" - VNCSERVERARGS[3]="-geometry
1024x768 -nolisten tcp"
本例我们开启两个vncserver,分别是root用户,显示编号为1和用户aiezu,显示编号为3,并且全不开启X监听端口60xx。
③. 设置VNC用户密码:
接下来设置VNC的密码,此步骤不可跳过,否则VNC Server将无法启动,在Linux Shell下执行下列命令:
- #
su - aiezu - #
vncpasswd - Password:
文章来至[爱E族]:http://www.aiezu.com - Verify:
- #
su - root - #
vncpasswd - Password:
- Verify:
- service vncserver start //启动vncserver
运行上面命令后,会在用户根目录($HOME)下的".vnc"文件夹下生成一系列文件。其中passwd为vnc用户密码文件,由vncpasswd生成。其他的都由vnc初次启动时生成,xstartup为VNC客户端连接时启动的脚本。文章来至[爱E族]:http://www.aiezu.com
④. 修改".vnc/xstartup"文件:
执行到上面步骤后,VNC Server已经能正常运行。但是默认设置下,客户连接时启动的是xterm,我们如果想看到桌面,必须将用户根目录下的".vnc/xstartup"文件中的最后两行注释掉,然后根据你安装的桌面坏境,添加一行"startkde &"或者"gnome-session &"。如下:
- #!/bin/sh
-
- #
Uncomment the following two lines for normal desktop: - #
unset SESSION_MANAGER - #
exec /etc/X11/xinit/xinitrc -
文章来至[爱E族]:http://www.aiezu.com - [
-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
& 文章来至[爱E族]:http://www.aiezu.com - startkde
& - #
gnome-session &
配置完各个用户根目录下的".vnc/xstartup"后,执行service vncserver restart 重新启动vncserver使配置生效。