VNC配置整理

来源:互联网 发布:sql转义字符 单引号 编辑:程序博客网 时间:2024/06/16 09:10
 

                                                                                                                            VNC配置整理

1.       确认VNC是否安装
默认情况下,Red Hat Enterprise Linux安装程序会将VNC服务安装在系统上。
确认是否已经安装VNC服务及查看安装的VNC版本

[root@smsdb01 .vnc]# rpm -qa vnc-server

vnc-server-4.1.2-14.el5_5.4

若系统没有安装,可以到操作系统安装盘的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

You will require a password to access your desktops.

Password:
Verify:
xauth:  creating new authority file /root/.Xauthority

New 'testdb:1 (root)' desktop is testdb:1

Creating default startup script. /root/.vnc/xstartup
Starting applications specified in /root/.vnc/xstartup
Log file is /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
如果Linux开启了防火墙功能,就需要手工开启相应的端口,以开启桌面号为“1”相应的端口为例,命令如下
[root@testdb ~]# iptables -I INPUT -p tcp --dport 5901 -j ACCEPT
[root@testdb ~]# iptables -I INPUT -p tcp --dport 5902 -j ACCEPT

 测试VNC服务
方法是使用VNC Viewer软件登陆测试,操作流程如下
启动VNC Viewer软件 --> Server输入“服务器IP:桌面号” --> 点击“OK” --> Password输入登陆密码 --> 点击“OK”登陆到X-Window图形桌面环境 --> 测试成功

4.        配置VNC图形桌面环境为KDE或GNOME桌面环境

VNC服务默认使用的是twm图形桌面环境的,可以在VNC的配置文件xstartup中对其进行修改成KDE或GNOME桌面环境,这样的配置涉及到以下几个配置文件

a./etc/sysconfig/vncservers  -- 在这个配置文件中配置桌面对应的用户,及相关的分辨率

b./home/user_home/.vnc/xstarup  -- user_home是用户的主目录,需要根据用户的具体需要进行,在这个配置文件中主要是选择何种桌面环境

下面以kde桌面环境为例配置多个桌面(这里以1024x768进行配置,默认配置就是)

   注意:红色字体是需要进行配置

[root@smsdb01 .vnc]# vi /etc/sysconfig/vncservers

VNCSERVERS="1:root 2:tux"

VNCSERVERARGS[1]="-geometry 1024x768 -alwaysshared -depth 24"

VNCSERVERARGS[2]="-geometry 1024x768 -alwaysshared -depth 24"

[root@smsdb01 .vnc]# pwd

/home/tux/.vnc

[root@smsdb01 .vnc]# vi 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" &

#gnome-session &   #set starting GNOME desktop

startkde &         #kde desktop

#twm &      #Text interface

配置完成重启vncserver

Service vncserver restart,然后用vncviewer 进行登录测试

1.       修改VNC访问的密码

使用命令vncpasswd对不同用户的VNC的密码进行修改,一定要注意,如果配置了不同用户的VNC需要分别到各自用户中进行修改,例如在我的这个实验中,root用户和tux用户需要分别修改,修改过程如下:
[root@smsdb01 .vnc]# vncpasswd

Password:

Verify:

[root@smsdb01 .vnc]#

2.       修改分辨率方法

方法1:

通过vncserver 命令实现,不过这种方法会新生成一个桌面环境,会产生一个新的进程

 [root@smsdb01 .vnc]# man vncserver

       -geometry widthxheight

              Specify the size of the desktop to be created. Default is 1024x768.

默认的分辨率是1024x768,我们可以使用这个参数对分辨率进行调整。
例如,我们需要将分辨率调整到800x600

[root@smsdb01 .vnc]# vncserver -geometry 800x600

Warning: smsdb01.scn.com:4 is taken because of /tmp/.X4-lock

Remove this file if there is no X server smsdb01.scn.com:4

New 'smsdb01.scn.com:5 (root)' desktop is smsdb01.scn.com:5

 

Starting applications specified in /root/.vnc/xstartup

Log file is /root/.vnc/smsdb01.scn.com:5.log

方法2:

修改vncservers配置文件

[root@smsdb01 .vnc]# vncserver -geometry 800x600

VNCSERVERS="1:root 2:tux"

VNCSERVERARGS[1]="-geometry 1024x768 -alwaysshared -depth 24"

VNCSERVERARGS[2]="-geometry 1024x768 -alwaysshared -depth 24"

-alwaysshared代表允许多用户同时登录 -depth代为色深,参数有8,16,24,32。

两种修改方法各有利弊,请根据具体环境进行调整。使用第一种方法操作简单,影响范围小,因为该方法是通过单独启动vnc进程来提供服务的,但是容易在系统中遗留过多的vnc进程;第二种方法是通过调整VNC默认分辨率的手段实现的,实现集中管理,但存在因分辨率调整过高导致客户端无法使用的问题。

3.       VNC相关问题

a.       查看vnc进程及端口

[root@smsdb01 .vnc]# ps -ef|grep Xvnc

root      3987     1  0 14:34 pts/5    00:00:05 Xvnc :1 -desktop smsdb01.scn.com:1 (root) -httpd /usr/share/vnc/classes -auth /root/.Xauthority -geometry 1024x768 -depth 24 -rfbwait 30000 -rfbauth /root/.vnc/passwd -rfbport 5901 -pn -alwaysshared

tux       4066     1  0 14:34 ?        00:00:12 Xvnc :2 -desktop smsdb01.scn.com:2 (tux) -httpd /usr/share/vnc/classes -auth /home/tux/.Xauthority -geometry 1024x768 -depth 24 -rfbwait 30000 -rfbauth /home/tux/.vnc/passwd -rfbport 5902 -pn -alwaysshared

root      5336     1  0 20:20 pts/5    00:00:01 Xvnc :5 -desktop smsdb01.scn.com:5 (root) -httpd /usr/share/vnc/classes -auth /root/.Xauthority -geometry 800x600 -depth 16 -rfbwait 30000 -rfbauth /root/.vnc/passwd -rfbport 5905 -pn

root      5544 30732  0 20:31 pts/5    00:00:00 grep Xvnc

b.查看进程文件

/home/tux/.vnc

[root@smsdb01 .vnc]# ls -al

总计 28

drwxr-xr-x  2 tux tux 4096 02-21 20:14 .

drwx------ 20 tux tux 4096 02-21 14:35 ..

-rw-------  1 tux tux    8 02-21 12:55 passwd

-rw-rw-r--  1 tux tux 3059 02-21 18:44 smsdb01.scn.com:2.log

-rw-rw-r--  1 tux tux    5 02-21 14:34 smsdb01.scn.com:2.pid

-rwxr-xr-x  1 tux tux  443 02-21 14:34 xstartup

[root@smsdb01 .vnc]# more smsdb01.scn.com:2.pid

4066

[root@smsdb01 .vnc]# more /home/tux/.vnc/smsdb01.scn.com:2.pid

4066

我们使用的vncserver –kill :2 就是找到这个pid文件然后根据这个进行kill进程的。

b.       桌面启动失败

这个一般是由于我们之前己经启动,但没有正关掉所致,这样在临时文件下有相关的锁文件,如果这个文件存在,服务器则认为存在则会报错。所以必须手动进行删除这些文件

1.删除tmp下文件以.X开头的文件,

[root@smsdb01 .vnc]# cd /tmp

[root@smsdb01 tmp]# ls -al|grep lock

-rw-r--r--  1 root root    5 02-21 20:20 scim-bridge-0.3.0.lockfile-0@localhost:5.0

-rw-rw-r--  1 tux  tux     6 02-21 19:59 scim-bridge-0.3.0.lockfile-500@localhost:0.0

-rw-rw-r--  1 tux  tux     5 02-21 20:10 scim-bridge-0.3.0.lockfile-500@localhost:2.0

-r--r--r--  1 root root   11 02-21 13:12 .X0-lock

-r--r--r--  1 root root   11 02-21 14:34 .X1-lock

-r--r--r--  1 tux  tux    11 02-21 14:34 .X2-lock

-r--r--r--  1 root root   11 02-21 13:26 .X3-lock

-r--r--r--  1 root root   11 02-21 13:35 .X4-lock

-r--r--r--  1 root root   11 02-21 20:20 .X5-lock

     2. .X11-unix对应桌面文件

[root@smsdb01 tmp]# cd .X11-unix/

[root@smsdb01 .X11-unix]# ls -al

总计 12

drwxrwxrwt  2 root root 4096 02-21 20:20 .

drwxrwxrwt 21 root root 4096 02-21 20:20 ..

srwxrwxrwx  1 root root    0 02-21 13:12 X0

srwxrwxrwx  1 root root    0 02-21 14:34 X1

srwxrwxrwx  1 tux  tux     0 02-21 14:34 X2

srwxrwxrwx  1 root root    0 02-21 13:26 X3

srwxrwxrwx  1 root root    0 02-21 13:35 X4

srwxrwxrwx  1 root root    0 02-21 20:20 X5

这样操作完成,重新启vncserver就可以启动桌了

原创粉丝点击