详细信息参考:http://download.csdn.net/detail/changyanmanman/6382869
Linux中VNC服务配置
1、确认自己linux系统是否安装VNC
默认情况下,有的系统是安装VNC,有的没有,据了解:Red Hat Enterprise Linux默认是安装VNC服务,而Fedora是没有安装VNC服务。
以Fedora为例打开终端窗口:
在Red Hat Enterprise Linux输入命令:rpm -q vnc-server检测服务是否安装,而在Fedora 14中使用rpm -qtigervnc-server检测。
注意:Fedora和Red HatEnterprise Linux安装和配置VNC服务都一样,就是安装包不同:
Red Hat EnterpriseLinux用的是:vnc-server
Fedora用的是:tigervnc-server
2、安装VNC(检测没有安装时)
若系统没有安装,可以到操作系统安装盘的Server目录下找到VNC服务的RPM安装包:
2.1、安装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.2、在线下载安装(系统必须联网)
命令:yum installtigervnc-server
======================================================================
安装信息解释如下:
====================================================================
[root@localhost ~]$ yum install tigervnc-server
We trust you have received the usual lecture from thelocal System
Administrator. It usually boils down tothese three things:
#1) Respect the privacy of others.
#2) Think before you type.
#3) With great power comes greatresponsibility.
[sudo] password for test:*****
已加载插件:fastestmirror, langpacks, presto, refresh-packagekit
Adding zh_CN to language list
Loading mirror speeds from cached hostfile
* fedora: mirror.bjtu.edu.cn
* updates: mirror.bjtu.edu.cn
设置安装进程
解决依赖关系
--> 执行事务检查
---> 软件包 tigervnc-server.i686 0:1.0.90-0.22.20100813svn4123.fc14.1将被安装
--> 处理依赖关系 tigervnc-server-minimal,它被软件包tigervnc-server-1.0.90-0.22.20100813svn4123.fc14.1.i686 需要
--> 执行事务检查
---> 软件包 tigervnc-server-minimal.i686 0:1.0.90-0.22.20100813svn4123.fc14.1将被安装
--> 处理依赖关系 tigervnc-license,它被软件包tigervnc-server-minimal-1.0.90-0.22.20100813svn4123.fc14.1.i686 需要
--> 执行事务检查
---> 软件包 tigervnc-license.noarch 0:1.0.90-0.22.20100813svn4123.fc14.1将被安装
依赖关系解决
=====================================================================================
软件包 架构 版本 仓库 大小
=====================================================================================
正在安装:
tigervnc-server i6861.0.90-0.22.20100813svn4123.fc14.1 updates 154 k
为依赖而安装:
tigervnc-license noarch1.0.90-0.22.20100813svn4123.fc14.1 updates 17 k
tigervnc-server-minimal i6861.0.90-0.22.20100813svn4123.fc14.1 updates 903 k
事务概要
=====================================================================================
Install 3 Package(s)
总下载量:1.0 M
Installed size: 2.7 M
确定吗?[y/N]:y
下载软件包:
Setting up and reading Presto deltametadata
updates/prestodelta | 529 kB 00:02
Processing delta metadata
Package(s) data still to download: 1.0 M
(1/3):tigervnc-license-1.0.90-0.22.20100813svn4123.fc14.1.no | 17 kB 00:00
(2/3):tigervnc-server-1.0.90-0.22.20100813svn4123.fc14.1.i68 | 154 kB 00:00
(3/3): tigervnc-server-minimal-1.0.90-0.22.20100813svn4123.fc| 903 kB 00:02
-------------------------------------------------------------------------------------
总计 351 kB/s | 1.0 MB 00:03
运行 rpm_check_debug
执行事务测试
事务测试成功
执行事务
正在安装 :tigervnc-license-1.0.90-0.22.20100813svn4123.fc14.1.noarch 1/3
正在安装 :tigervnc-server-minimal-1.0.90-0.22.20100813svn4123.fc14.1. 2/3
正在安装 :tigervnc-server-1.0.90-0.22.20100813svn4123.fc14.1.i686 3/3
已安装:
tigervnc-server.i6860:1.0.90-0.22.20100813svn4123.fc14.1
作为依赖被安装:
tigervnc-license.noarch0:1.0.90-0.22.20100813svn4123.fc14.1
tigervnc-server-minimal.i6860:1.0.90-0.22.20100813svn4123.fc14.1
完毕!
======================================================================
3、VNC的配置
要把vnc配置成一项系统服务,把你的用户名称加入到下面的配置文件中:
[test@localhost ~]$ sudo vi/etc/sysconfig/vncservers
在配置文件的最后,添加如下语句。我的用户名为test,你可以填写你的。
VNCSERVERS="1:test"
4、VNC的登录用密码设置
启动vnc服务前,用vncpasswd这个命令来创建一个test的登录用口令。
[test@localhost ~]$ vncpasswd
注意此时在home目录下,会自动创建一个隐藏的目录.vnc,其中有一个文件passwd保存着你的test的口令。
5、启动VNC服务
当然啦,假如检查出你是安装了VNC了,linux里面就告诉他,你要启动了。以Red Hat EnterpriseLinux为例演示:
命令如下:
[root@testdb ~]# vncserver :1
或者
[root@testdb ~]# vncserver
其中包括3个桌面号:如vncserver :1,vncserver :2,vncserver :3
输入该命令后出现该界面,要求你输入密码,那个密码是你等会连接linux服务器的密码啊。
注意:细说一下,以上命令执行的过程中,因为是第一次执行,需要输入密码,这个密码被加密保存在用户主目录下的.vnc子目录(/root/.vnc/passwd)中;同时在用户主目录下的.vnc子目录中为用户自动建立xstartup配置文件(/root/.vnc/xstartup),在每次启动VND服务时,都会读取该文件中的配置信息。
另外:/root/.vnc/目录下还有一个“testdb:1.pid”文件,这个文件记录着启动VNC后对应后天操作系统的进程号,用于停止VNC服务时准确定位进程号。
6、VNC服务使用的端口号与桌面号的关系
1)VNC服务使用的端口号与桌面号相关,VNC使用TCP端口从5900开始,对应关系如下
桌面号为“1” ---- 端口号为5901
桌面号为“2” ---- 端口号为5902
桌面号为“3” ---- 端口号为5903
2)基于Java的VNC客户程序Web服务TCP端口从5800开始,也是与桌面号相关,对应关系如下:
桌面号为“1” ---- 端口号为5801
桌面号为“2” ---- 端口号为5802
桌面号为“3” ---- 端口号为5803
基于上面的介绍;
3)如果Linux开启了防火墙功能,就需要手工开启相应的端口,以开启桌面号为“1”相应的端口为例,命令如下
[root@testdb ~]# iptables -I INPUT -p tcp--dport 5901 -j ACCEPT
[root@testdb ~]# iptables -I INPUT -p tcp--dport 5801 -j ACCEPT
输入以上命令出现界面
以上步骤其实已经可以通过windows系统控制linux的了,可是不是图形界面往下我会细说一下。
7、VNC客户端测试
第一中客户端测试:
在这里我简单解释一下,服务器后要输入的IP为我的Fedora14的IP,而冒号和1则表示与VNCSERVERS="1:test"中的1相对应。
接下来让输入登录密码,它与刚才,[test@localhost ~]$ vncpasswd命令所输入的密码相对应。
密码你自己所设置的密码输入
呵呵出现拉
第二种方法:是使用Web浏览器(如Firefox,IE,Safari)登陆测试,操作流程如下地址栏输入http://192.168.0.3:5801/ --> 出现VNC viewer for Java(此工具是使用Java编写的VNC客户端程序)界面,同时跳出VNC viewer对话框,在Server处输入“192.168.0.3:1”点击“OK” --> Password输入登陆密码 --> 点击“OK”登陆到X-Window图形桌面环境 --> 测试成功
(注:VNC viewerfor Java需要JRE支持,如果页面无法显示,表示没有安装JRE,可以到http://java.sun.com/javase/downloads/index_jdk5.jsp这里下载最新的JRE进行安装)
本人在浏览器测试成功了
出现如下界面,那就代表你成功了一大半了。
5:若是想重新启动vncserver服务,
方法如下:
[root@testdb ~]# vncserver -kill :1
[root@testdb ~]# vncserver :1
8、配置多个桌面
可以使用如下的方法启动多个桌面的VNC
vncserver :1
vncserver :2
vncserver :3 ……
但是这种手工启动的方法在服务器重新启动之后将失效,因此,下面介绍如何让系统自动 [url=javascript:;]管理[/url]
多个桌面的VNC,方法是将需要自动管理的信息添加到/etc/sysconfig/vncservers配置文件中,先以桌面1为root用户桌面2为oracle用户为例进行配置如下: 格式为:VNCSERVERS="桌面号:使用的用户名 桌面号:使用的用户名" [root@testdb ~]# vi /etc/sysconfig/vncservers VNCSERVERS="1:root 2:oracle"
VNCSERVERARGS[1]="-geometry 1024x768" VNCSERVERARGS[2]="-geometry 1024x768"
9、修改VNC访问的密码
使用命令vncpasswd对不同用户的VNC的密码进行修改,一定要注意,如果配置了不同用户的VNC需要分别到各自用户中进行修改,例如在我的这个实验中,root用户和oracle用户需要分别修改,修改过程如下:
[root@testdb ~]# vncpasswd Password: Verify:
[root@testdb ~]#
10、启动和停止VNC服务
1)启动VNC服务命令
[root@testdb ~]# /etc/init.d/vncserver start Starting VNC server: 1:root
New 'testdb:1 (root)' desktop is testdb:1
Starting applications specified in /root/.vnc/xstartup Log file is /root/.vnc/testdb:1.log
2:oracle
New 'testdb:2 (oracle)' desktop is testdb:2
Starting applications specified in /home/oracle/.vnc/xstartup Log file is /home/oracle/.vnc/testdb:2.log
[ OK ]
2)停止VNC服务命令
[root@testdb ~]# /etc/init.d/vncserver stop Shutting down VNC server: 1:root 2:oracle [ OK ]
3)重新启动VNC服务命令
[root@testdb ~]# /etc/init.d/vncserver restart Shutting down VNC server: 1:root 2:oracle [ OK ]
Starting VNC server: 1:root
New 'testdb:1 (root)' desktop is testdb:1
Starting applications specified in /root/.vnc/xstartup Log file is /root/.vnc/testdb:1.log 2:oracle
New 'testdb:2 (oracle)' desktop is testdb:2
Starting applications specified in /home/oracle/.vnc/xstartup Log file is /home/oracle/.vnc/testdb:2.log [ OK ]
4)设置VNC服务随系统启动自动加载
第一种方法:使用“ntsysv”命令启动图形化服务配置程序,在vncserver服务前加上星号,点击确定,配置完成。
第二种方法:使用“chkconfig”在命令行模式下进行操作,命令使用如下(预知chkconfig详细使用方法请自助式man一下)
[root@testdb ~]# chkconfig vncserver on
[root@testdb ~]# chkconfig --list vncserver
vncserver 0:off
1:off 2:on 3:on
4:on 5:on 6:off