VNC简介:
VNC是Linux/UNIX下优秀的远程桌面控制软件,由客户端(vncviewer)和服务端(vncserver)两部分组成。
安装软件包:
[root@localhost ~]# yum install -y tigervnc
[root@localhost ~]# yum install -y tigervnc-server
配置前的准备工作:
正式配置VNC服务前,先添加几个系统账号用于测试。
[root@localhost ~]# useradd user1 [root@localhost ~]# useradd user2 [root@localhost ~]# useradd user3
可以不用设置密码,当然,你想设置也可以。
服务配置:
编辑VNC主配置文件。
[root@localhost ~]# vim /etc/sysconfig/vncservers
在文件末尾找如下两行。
# VNCSERVERS="2:myusername" # VNCSERVERARGS[2]="-geometry 800x600 -nolisten tcp -localhost"
复制一份,或者直接去掉这两行前面的注释也可以,修改为如下形式。
VNCSERVERS="1:user1 2:user2" VNCSERVERARGS[1]="-geometry 800x600 -nolisten tcp -localhost" VNCSERVERARGS[2]="-geometry 800x600 -nolisten tcp -localhost"
其中VNCSERVERS选项用以指定允许远程登录的用户名及该用户的编号,VNCSERVERARGS选项后面接用户编号,其后定义的是该用户远程登录的参数。
VNCSERVERARGS的默认参数有如下几个:
-geometry 桌面分辨率,默认1024x768; -nohttpd 不监听HTTP端口(58xx端口); -nolisten tcp 不监听X端口(60xx端口); -localhost 只允许从本机访问; -AlwaysShared 默认只同时允许一个vncviewer连接,此参数允许同时连多个vncviewer; -SecurityTypes None 登录不需要密码认证VncAuth默认值,要密码认证。
启动服务:
先切换到各个账户下为他们分别配置VNC密码,此密码可以与用户系统账户密码不同。(尝试过在root用户下为他们统一配置密码,发现行不通。。。)
[root@localhost ~]# su user1 [user1@localhost root]$ vncpasswd Password: #要求输入密码 Verify: #要求再次输入密码
user2用户也要按照上面的方法配置VNC密码。
最后切换回root用户,在保证防火墙已关闭的情况下统一开启VNC服务,此时VNC进程会自动生成用户的VNC服务配置文件及日志文件到用户家目录的.vnc/下。
[root@localhost ~]# service vncserver start 正在启动 VNC 服务器: 1:user1 New 'localhost.localdomain:1 (user1)' desktop is localhost.localdomain:1 Starting applications specified in /home/user1/.vnc/xstartup Log file is /home/user1/.vnc/localhost.localdomain:1.log 2:user2 New 'localhost.localdomain:2 (user2)' desktop is localhost.localdomain:2 Starting applications specified in /home/user2/.vnc/xstartup Log file is /home/user2/.vnc/localhost.localdomain:2.log
注意第四行,其中的desktop is localhost.localdomain:1是告诉你,user1的VNC进程号是1,访问此VNC桌面的方法就是IP:1。而user2的进程号则是2,观察倒数第四行(算上空行~)。
如果你只想为某一用户启用VNC进程,可以切换到该用户的身份上,执行vncserver命令。注:使用此方法启用VNC服务后,在root用户下就不能再使用service命令来关闭VNC服务器了,必须使用kill -9暴力杀死用户的VNC服务器进程。
[root@localhost ~]# su user1 [user1@localhost root]$ vncserver New 'localhost.localdomain:3 (user1)' desktop is localhost.localdomain:3 Starting applications specified in /home/user1/.vnc/xstartup Log file is /home/user1/.vnc/localhost.localdomain:3.log
为用户指定默认桌面环境:
编辑user1的VNC配置文件。
[root@localhost ~]# vim /home/user1/.vnc/xstartup
转至文件末尾,找到下面一行。
twm & #指定默认使用文本界面
将其修改为以下任意一种形式,根据自己的需求选择,不要把两个都加上,如果你那么干了,那我只能感慨你是个大傻瓜了。
startkde & #指定默认使用KDE桌面环境 gnome-session & #指定默认使用Gnome桌面环境
使用客户端连接VNC服务器:
可以使用Windows下的VNC客户端,本实验中我在另一台安装有Desktop的CentOS6.5上使用客户端连接VNC。
安装VNC客户端,并连接VNC服务器,这里我连接user2的VNC服务。
[root@localhost ~]# yum install -y vnc [root@localhost ~]# vncviewer 192.168.1.101:2
之后会弹出一个窗口要求你输入VNC的密码。
输入后按回车键就可以连接VNC桌面啦!
我这里出现乱码不是VNC配置的问题,而是因为安装系统的时候选择了系统语言为中文,但Desktop下却没有安装中文字体。上图中,gnmoe桌面的系统工具提醒我安装zh-cn字体,那我就安装一下吧!可以看到,安装后立刻正常了~