更新前务必备份原有配置文件,防止数据丢失。常见配置文件路径包括:
~/.vnc/
(如~/.vnc/xstartup
、~/.vnc/config
)/etc/systemd/system/vncserver@:1.service
(或其他:X
编号的服务文件)、/etc/sysconfig/vncservers
(部分旧版本使用)tar
或cp
命令备份,例如:tar -czvf vnc_backup_$(date +%F).tar.gz ~/.vnc/ /etc/systemd/system/vncserver@:*.service
避免新旧服务冲突,需先停止并禁用旧版本服务。根据系统初始化类型选择命令:
sudo systemctl stop vncserver@:1.service # 替换:1为你的实际显示编号
sudo systemctl disable vncserver@:1.service
sudo service vncserver stop
sudo chkconfig vncserver off
通过yum
(CentOS 7及以下)或dnf
(CentOS 8及以上)更新到最新版本:
# CentOS 7及以下
sudo yum update tigervnc-server -y
# CentOS 8及以上(使用dnf)
sudo dnf update tigervnc-server -y
更新完成后,可通过rpm -q tigervnc-server
验证版本。
修改服务文件(可选):
若新版本修改了服务文件格式(如ExecStart
路径、环境变量),需编辑对应服务文件(通常位于/etc/systemd/system/vncserver@:1.service
)。重点检查以下内容:
User=your_username
);PIDFile=/home/your_username/.vnc/%H:%i.pid
);ExecStart=/usr/bin/vncserver %i
)。重新加载systemd配置:
若修改了服务文件,需重新加载以应用更改:
sudo systemctl daemon-reload
设置VNC密码(若未设置或需修改):
使用vncpasswd
命令为用户设置/修改VNC密码(密码长度限制为6-8位):
vncpasswd
sudo systemctl start vncserver@:1.service # 替换:1为你的显示编号
sudo systemctl enable vncserver@:1.service
sudo systemctl status vncserver@:1.service
若状态显示active (running)
,则表示启动成功。VNC默认使用5900+显示编号
的端口(如:1
对应5901
、:2
对应5902
),需开放对应端口:
# 开放指定端口(以:1为例)
sudo firewall-cmd --permanent --add-port=5901/tcp
# 重新加载防火墙规则
sudo firewall-cmd --reload
若使用SELinux,还需调整SELinux策略(如允许VNC服务访问网络):
sudo setsebool -P vncserver_enable_homedirs 1
使用VNC客户端(如RealVNC、TightVNC)连接服务器:
192.168.1.100:1
);systemctl status
)、密码是否正确。~/.vnc/xstartup
文件,添加或修改为以下内容(适用于GNOME桌面):#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
exec /etc/X11/xinit/xinitrc
保存后重启服务:sudo systemctl restart vncserver@:1.service
。journalctl -xe
或/var/log/messages
)。