测试平台:Centos6.5-x86_64

一、VNC安装

使用yum安装vnc

#yum install vnc-server

有时候会得不到想要的结果,比如我在64位的CentOs6.4虚拟机上就遇到过,

执行此命令在64为的CentOs6.4的物理机上都能直接将tigervnc-server直接下载安装

但在虚拟机上却只下了tigervnc-server-modules下来,结果就是vnc-server的配置文件

没有嘛,vnc-server也不能启动。

此时用命令:yum install tigervnc-server安装即可。

二、VNC配置

1.修改服务器端配置文件

VNC配置文件/etc/sysconfig/vncserver
# 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=”21:root 31:cloud 41:owncloud”
VNCSERVERARGS[21]=”-geometry 1024×768 -alwaysshared ”
VNCSERVERARGS[31]=”-geometry 1024×720 -alwaysshared”
VNCSERVERARGS[41]=”-geometry 800×600 -alwaysshared”

说明:

(1)配置文件中VNCSERVERS=”21:root 31:cloud 41:owncloud”表明允许三个账户登录vnc服务器

分别是root/cloud/owncloud,他们使用的端口号为vnc基础端口号(5900)再加上21/31/41这三个显示号,即:访问5921端口使用root账户,5931端口使用cloud账户;

(2)VNCSERVERARGS[显示号]设置了各显示号对应桌面的信息

2.账户设置、服务启动

要想以上配置文件生效——多用户访问必须执行以下操作:

(1)创建cloud(系统)账户:

#adduser cloud
#passwd cloud
输入密码—————————————-(系统密码)
确认密码—————————————-(系统密码)
进入账户个人权限系统下执行密码设定操作:
#su cloud
#vncpasswd
输入密码——————————–(登录VNC的密码)
确认密码——————————–(登录VNC的密码)
#su -root———————————(切换回root账户)
#service vncserver restart———–(重启生效)

也可以在该新建账户权限下,直接使用vncserver命令使设置生效。

(2)创建owncloud账户:

方法同上

3.防火墙设置

开启了那些端口那防火墙必须允许那些端口才行,懒方法直接关掉防火墙

#service iptables stop

4.启动服务

#service vncserver start

5.开机自启动vncserver服务:

# chkconfig vncserver on

三、VNC管理

1.停止某VNC端口:

vncserver -kill:显示号

如停止cloud账户的VNC服务:

#vncserver -kill: 31

如因意外导致不能使用vncservver -kill:port方式停止指定端口的VNC服务,可以

查看该端口的使用者进程号,再杀掉该进程即可。

# lsof -i:5931
COMMAND   PID       USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
Xvnc    28189 yilianghai    6u  IPv4 506956      0t0  TCP *:5931 (LISTEN)
#kill 28189
#service vncserver restart

重启vncserver问题就消失了

2.客户端使用配置

客户端在每一个账户的home目录下存在一份该账户特有的VNC图形界面的配置文件xstartup,路径为~/.vnc/xstartup

3.关于服务器动信息

在服务端通过vncserver 命令启动vnc 后,控制台输出:

New ‘favey:1 (root)’ desktop is favey:1
Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/favey:1.log

第一行表示在   favey 这台机器上 root 用户启动了 vnc 桌面 1 号,再次输入 vncserver的话,输出与上面不同的一点只不过是第一行的 1 变成了 2 而已,表示启动了 vnc 桌面 2 号,以次类推。

第二行表示 vnc 配置文件保存路径为 /root/.vnc/xstartup

第三行表示该桌面的日志保存路径

在客户端输入命令 vncviewer ip: 桌面号查看远程桌面时,默认为twm 图形终端,实际上就是字符界面,若想换成gnome 图形终端,需在客户端更改xstartup 文件:

xterm -geometry 80×24+10+10 -ls -title “$VNCDESKTOP Desktop” &twm &

中第二行 twm &为 /usr/bin/gnome-session & , 若想更改为 kde 图形终端,将第二行改为 /usr/bin/startkde &即可。

配置文件更改完成后,在服务端通过 vncserver -kill : 桌面号逐个关掉所有的 vnc 服务端桌面,再通过vncserver 命令重新开启即可换成相应的图形终端。

参考资料:

使用VNC实现多账户登录

实际用例:

10.10.84.115配置文件
“/etc/sysconfig/vncservers”
1 # The VNCSERVERS variable is a list of display:user pairs.
2 #
3 # Uncomment the lines below to start a VNC server on display :2
4 # as my ‘myusername’ (adjust this to your own).  You will also
5 # need to set a VNC password; run ‘man vncpasswd’ to see how
6 # to do that.
7 #
8 # DO NOT RUN THIS SERVICE if your local area network is
9 # untrusted!  For a secure way of using VNC, see this URL:
10 # http://kbase.redhat.com/faq/docs/DOC-7028
11
12 # Use “-nolisten tcp” to prevent X connections to your VNC server via TCP.
13
14 # Use “-localhost” to prevent remote VNC clients connecting except when
15 # doing so through a secure tunnel.  See the “-via” option in the
16 # `man vncviewer’ manual page.
17
18 #VNCSERVERS=”3:root”
19 #VNCSERVERARGS[3]=” -geometry 1360×710 -alwaysshared -depth 32″