在CentOS系统中安装和配置VNC服务可以方便地进行图形界面远程操作,尤其适用于需要可视化界面的服务器管理场景,以下是详细的安装步骤和配置方法,帮助您快速完成VNC服务的部署。

检查系统环境
在开始安装前,确保您的CentOS系统已更新至最新状态,打开终端,执行以下命令更新系统:
sudo yum update -y
确认系统是否已安装桌面环境,如果未安装,可以安装一个轻量级的桌面环境,如GNOME或XFCE,以XFCE为例,执行以下命令:
sudo yum groupinstall "X Window System" -y sudo yum groupinstall "XFCE" -y
安装完成后,可通过startx命令测试桌面环境是否正常启动。
安装VNC服务器软件
CentOS系统中常用的VNC服务器软件是TigerVNC,执行以下命令安装TigerVNC:
sudo yum install tigervnc-server -y
安装完成后,需要配置VNC服务,复制VNC服务的配置文件到/etc/systemd/system/目录下:
sudo cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service
这里的1表示VNC服务的端口号为5901(5900+1),您可以根据需要修改。
配置VNC服务
编辑VNC服务的配置文件,指定运行VNC服务的用户和桌面环境路径,执行以下命令打开配置文件:

sudo vi /etc/systemd/system/vncserver@:1.service
在文件中找到<USER>字段,将其替换为您的实际用户名,例如root或普通用户,确保ExecStart和ExecStop字段中的路径与您的桌面环境匹配,对于XFCE桌面环境,配置如下:
ExecStart=/usr/sbin/runuser -l <USER> -c "/usr/bin/vncserver %i -geometry 1280x1024 -depth 24"
ExecStop=/usr/sbin/runuser -l <USER> -c "/usr/bin/vncserver -kill %i"
保存并退出文件后,重新加载systemd配置:
sudo systemctl daemon-reload
设置VNC密码
为VNC用户设置访问密码,切换到目标用户,执行以下命令:
su - <USER> vncpasswd
按照提示输入密码并确认,密码设置完成后,可以启动VNC服务:
sudo systemctl start vncserver@:1.service
设置开机自启:
sudo systemctl enable vncserver@:1.service
配置防火墙规则
为确保VNC服务能被外部访问,需要开放相应的端口,默认情况下,VNC使用5901端口,执行以下命令开放端口:
sudo firewall-cmd --permanent --add-port=5901/tcp sudo firewall-cmd --reload
如果需要通过Web浏览器访问VNC,还可以开放6901端口(VNC WebSocket端口):

sudo firewall-cmd --permanent --add-port=6901/tcp sudo firewall-cmd --reload
连接VNC服务
配置完成后,您可以使用VNC客户端工具(如RealVNC、TigerVNC Viewer等)连接服务器,在客户端中输入服务器的IP地址和端口号,例如168.1.100:1,然后输入之前设置的VNC密码即可连接。
常见问题排查
如果无法连接VNC服务,可以检查以下问题:
- 服务状态:通过
sudo systemctl status vncserver@:1.service查看服务是否正常运行。 - 端口占用:使用
netstat -tuln | grep 5901确认端口是否被监听。 - 日志文件:查看VNC服务日志,通常位于用户主目录下的
.vnc/目录中。
相关问答FAQs
Q1: 如何修改VNC服务的分辨率?
A1: 修改VNC服务的分辨率可以通过编辑/etc/systemd/system/vncserver@:1.service文件中的-geometry参数实现,将-geometry 1280x1024修改为-geometry 1920x1080,然后重启VNC服务即可生效。
Q2: VNC连接时提示“Authentication failed”怎么办?
A2: 此问题通常由密码错误或VNC服务配置异常导致,建议重新执行vncpasswd命令重置密码,并检查/etc/systemd/system/vncserver@:1.service文件中的用户配置是否正确,若问题依旧,可查看VNC服务日志(~/.vnc/<hostname>:1.log)排查具体错误原因。