[转载]【VNC】Linux环境VNC服务安装、配置与使用
原文:http://blog.chinaunix.net/u/1281/showart_1982905.html
【实验】【VNC】Linux环境VNC服务安装、配置与使用
1.确认VNC是否安装
默认情况下,RedHatEnterpriseLinux安装程序会将VNC服务安装在系统上。
确认是否已经安装VNC服务及查看安装的VNC版本
[root@testdb~]#rpm-qvnc-server
vnc-server-4.1.2-9.el5
[root@testdb~]#
若系统没有安装,可以到操作系统安装盘的Server目录下找到VNC服务的RPM安装包vnc-server-4.1.2-9.el5.x86_64.rpm,安装命令如下
rpm-ivh/mnt/Server/vnc-server-4.1.2-9.el5.x86_64.rpm
2.启动VNC服务
使用vncserver命令启动VNC服务,命令格式为“vncserver:桌面号”,其中“桌面号”用“数字”的方式表示,每个用户连个需要占用1个桌面
启动编号为1的桌面示例如下
[root@testdb~]#vncserver:1
Youwillrequireapasswordtoaccessyourdesktops.
Password:
Verify:
xauth:creatingnewauthorityfile/root/.Xauthority
New'testdb:1(root)'desktopistestdb:1
Creatingdefaultstartupscript./root/.vnc/xstartup
Startingapplicationsspecifiedin/root/.vnc/xstartup
Logfileis/root/.vnc/testdb:1.log
以上命令执行的过程中,因为是第一次执行,需要输入密码,这个密码被加密保存在用户主目录下的.vnc子目录(/root/.vnc/passwd)中;同时在用户主目录下的.vnc子目录中为用户自动建立xstartup配置文件(/root/.vnc/xstartup),在每次启动VND服务时,都会读取该文件中的配置信息。
BTW:/root/.vnc/目录下还有一个“testdb:1.pid”文件,这个文件记录着启动VNC后对应后天操作系统的进程号,用于停止VNC服务时准确定位进程号。
3.VNC服务使用的端口号与桌面号的关系
VNC服务使用的端口号与桌面号相关,VNC使用TCP端口从5900开始,对应关系如下
桌面号为“1”----端口号为5901
桌面号为“2”----端口号为5902
桌面号为“3”----端口号为5903
……
基于Java的VNC客户程序Web服务TCP端口从5800开始,也是与桌面号相关,对应关系如下
桌面号为“1”----端口号为5801
桌面号为“2”----端口号为5802
桌面号为“3”----端口号为5803
……
基于上面的介绍,如果Linux开启了防火墙功能,就需要手工开启相应的端口,以开启桌面号为“1”相应的端口为例,命令如下
[root@testdb~]#iptables-IINPUT-ptcp--dport5901-jACCEPT
[root@testdb~]#iptables-IINPUT-ptcp--dport5801-jACCEPT
4.测试VNC服务
第一种方法是使用VNCViewer软件登陆测试,操作流程如下
启动VNCViewer软件-->Server输入“144.194.192.183:1”-->点击“OK”-->Password输入登陆密码-->点击“OK”登陆到X-Window图形桌面环境-->测试成功
第二种方法是使用Web浏览器(如Firefox,IE,Safari)登陆测试,操作流程如下
地址栏输入http://144.194.192.183:5801/-->出现VNCviewerforJava(此工具是使用Java编写的VNC客户端程序)界面,同时跳出VNCviewer对话框,在Server处输入“144.194.192.183:1”点击“OK”-->Password输入登陆密码-->点击“OK”登陆到X-Window图形桌面环境-->测试成功
(注:VNCviewerforJava需要JRE支持,如果页面无法显示,表示没有安装JRE,可以到http://java.sun.com/javase/downloads/index_jdk5.jsp这里下载最新的JRE进行安装)
5.配置VNC图形桌面环境为KDE或GNOME桌面环境
如果您是按照我的上面方法进行的配置的,登陆到桌面后效果是非常简单的,只有一个Shell可供使用,这是为什么呢?怎么才能看到可爱并且美丽的KDE或GNOME桌面环境呢?回答如下
之所以那么的难看,是因为VNC服务默认使用的是twm图形桌面环境的,可以在VNC的配置文件xstartup中对其进行修改,先看一下这个配置文件
[root@testdb~]#cat/root/.vnc/xstartup
#!/bin/sh
#Uncommentthefollowingtwolinesfornormaldesktop:
#unsetSESSION_MANAGER
#exec/etc/X11/xinit/xinitrc
[-x/etc/vnc/xstartup]&&exec/etc/vnc/xstartup
[-r$HOME/.Xresources]&&xrdb$HOME/.Xresources
xsetroot-solidgrey
vncconfig-iconic&
xterm-geometry80x24+10+10-ls-title"$VNCDESKTOPDesktop"&
twm&
将这个xstartup文件的最后一行修改为“startkde&”,再重新启动vncserver服务后就可以登陆到KDE桌面环境
将这个xstartup文件的最后一行修改为“gnome-session&”,再重新启动vncserver服务后就可以登陆到GNOME桌面环境
重新启动vncserver服务的方法:
[root@testdb~]#vncserver-kill:1
[root@testdb~]#vncserver:1
6.配置多个桌面
可以使用如下的方法启动多个桌面的VNC
vncserver:1
vncserver:2
vncserver:3
……
但是这种手工启动的方法在服务器重新启动之后将失效,因此,下面介绍如何让系统自动管理多个桌面的VNC,方法是将需要自动管理的信息添加到/etc/sysconfig/vncservers配置文件中,先以桌面1为root用户桌面2为oracle用户为例进行配置如下:
格式为:VNCSERVERS="桌面号:使用的用户名桌面号:使用的用户名"
[root@testdb~]#vi/etc/sysconfig/vncservers
VNCSERVERS="1:root2:oracle"
VNCSERVERARGS[1]="-geometry1024x768"
VNCSERVERARGS[2]="-geometry1024x768"
7.修改VNC访问的密码
使用命令vncpasswd对不同用户的VNC的密码进行修改,一定要注意,如果配置了不同用户的VNC需要分别到各自用户中进行修改,例如在我的这个实验中,root用户和oracle用户需要分别修改,修改过程如下:
[root@testdb~]#vncpasswd
Password:
Verify:
[root@testdb~]#
8.启动和停止VNC服务
1)启动VNC服务命令
[root@testdb~]#/etc/init.d/vncserverstart
StartingVNCserver:1:root
New'testdb:1(root)'desktopistestdb:1
Startingapplicationsspecifiedin/root/.vnc/xstartup
Logfileis/root/.vnc/testdb:1.log
2:oracle
New'testdb:2(oracle)'desktopistestdb:2
Startingapplicationsspecifiedin/home/oracle/.vnc/xstartup
Logfileis/home/oracle/.vnc/testdb:2.log
[OK]
2)停止VNC服务命令
[root@testdb~]#/etc/init.d/vncserverstop
ShuttingdownVNCserver:1:root2:oracle[OK]
3)重新启动VNC服务命令
[root@testdb~]#/etc/init.d/vncserverrestart
ShuttingdownVNCserver:1:root2:oracle[OK]
StartingVNCserver:1:root
New'testdb:1(root)'desktopistestdb:1
Startingapplicationsspecifiedin/root/.vnc/xstartup
Logfileis/root/.vnc/testdb:1.log
2:oracle
New'testdb:2(oracle)'desktopistestdb:2
Startingapplicationsspecifiedin/home/oracle/.vnc/xstartup
Logfileis/home/oracle/.vnc/testdb:2.log
[OK]
4)设置VNC服务随系统启动自动加载
第一种方法:使用“ntsysv”命令启动图形化服务配置程序,在vncserver服务前加上星号,点击确定,配置完成。
第二种方法:使用“chkconfig”在命令行模式下进行操作,命令使用如下(预知chkconfig详细使用方法请自助式man一下)
[root@testdb~]#chkconfigvncserveron
[root@testdb~]#chkconfig--listvncserver
vncserver0:off1:off2:on3:on4:on5:on6:off