测试平台: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″