一、安装 VNC 服务端(CentOS 6.4)
CentOS 6.4 系统默认并未预装 VNC,因此需要手动确认是否已安装。首先检查系统中是否存在 VNC 组件:
[root@localhost ~]# rpm -q vnc vnc-server
如果返回 package vnc is not installed,则说明确实没有安装。接下来直接通过 yum 命令完成安装:
[root@localhost ~]# yum install vnc vnc-server
二、设置 VNC 连接密码
安装完成后,先不要急于配置其他选项。首次使用前需要启动 VNC 服务,否则系统仍会提示未安装(这是 CentOS 的设计逻辑)。执行以下命令:
[root@localhost ~]$ vncserver
随后设置 VNC 专用密码。请注意:此密码并非系统登录密码,而是用于 VNC 远程连接的独立密码。在哪一个用户下执行该命令,将来对应的 VNC 桌面就归属于该用户。如果你想为 imiss 用户也分配独立的桌面,可以先切换用户 su imiss,再执行 vncserver,并单独设置密码。首次设置时,系统会要求你输入两次密码以确认:
[root@localhost ~]$ vncpasswd
Password:
Verify:
三、配置桌面环境类型
大多数 Linux 用户习惯图形界面,Gnome 桌面是最常见的选项。配置文件位于 ~/.vnc/xstartup,使用 vi 编辑器打开:
[root@localhost ~]$ vi ~/.vnc/xstartup
找到最后两行,默认情况下它们是被注释掉的。按 i 进入编辑模式,将其修改为如下内容:
# xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
# twm &
gnome-session &
简单来说,就是将 xterm 和 twm 两行注释掉,并添加 gnome-session &,这样启动的即为 Gnome 桌面环境。
四、配置登录账户、桌面分辨率与连接方式
接下来需要告知 VNC 服务器:为哪个用户启动桌面,以及桌面的分辨率大小。编辑全局配置文件:
[root@localhost ~]# vi /etc/sysconfig/vncservers
找到最后两行,修改为类似以下内容:
VNCSERVERS="1:root"
VNCSERVERARGS[1]="-geometry 1024x768"
数字 1 表示显示编号(display number),在 VNC 连接时对应 :1。你可以根据需求增加更多用户和桌面,例如 "2:imiss",每个桌面可单独指定分辨率。
五、配置防火墙,允许 VNC 远程连接
VNC 默认监听的端口从 5900 开始。显示编号 :1 对应端口 5901,:2 对应 5902,以此类推。CentOS 的防火墙默认会阻止这些端口,因此需要手动开放。编辑 iptables 规则文件:
[root@localhost ~]# vi /etc/sysconfig/iptables
添加以下一行(注意端口号需与显示编号匹配):
-A INPUT -m state --state NEW -m tcp -p tcp --dport 5901 -j ACCEPT
如果配置了其他桌面(例如 :2),则再添加一行 --dport 5902。
六、重启防火墙使配置生效
修改完配置文件后,执行以下命令让新的规则生效:
service iptables restart
七、设置 VNC 服务开机自启动
如果你希望在每次系统启动后 VNC 自动运行,请执行:
[root@localhost ~]# chkconfig vncserver on
八、关闭 VNC 桌面
有时需要临时关闭某个桌面,注意 kill 后面有一个空格:
vncserver -kill :1
这样可安全停止编号为 :1 的桌面。

安装成功后的界面大致如上图所示。
九、客户端安装与连接
服务端配置完成后,客户端还需要安装 VNC Viewer。你可以从官方网站下载安装包,或使用已有的安装源。安装之后,在连接时输入 服务器IP:1(例如 192.168.1.100:1),然后输入之前设置的 VNC 密码——再次强调,该密码并非系统登录密码,而是第二步通过 vncpasswd 设定的 VNC 专用密码。

输入正确密码后,即可成功看到远程桌面。
