CentOS 更新 TigerVNC 的实用步骤
一 优先方案 使用包管理器升级
- 适用于 CentOS 7/8,通过系统仓库执行升级,步骤简洁、可回滚。
- 操作步骤:
- 更新索引与系统
- 升级 TigerVNC(服务器与查看器)
- sudo yum upgrade tigervnc-server tigervnc -y
- 若通过 systemd 管理实例,重载并重启
- sudo systemctl daemon-reload
- sudo systemctl restart vncserver@:1.service
- 验证版本
- vncviewer -version 或 rpm -q tigervnc-server
- 说明:在 CentOS 7 上,默认仓库通常仅提供较老的 1.8.x;如需更新版本,请参考下文“手动安装更高版本”。
二 手动安装更高版本 RPM(适用于 CentOS 7 默认源版本过旧)
- 场景:需要 1.12.x 或更高版本,而系统仓库仅提供 1.8.x。
- 操作步骤(以 1.12.0 为例,EL7/x86_64):
- 安装依赖
- sudo yum install -y policycoreutils-python libXfont2
- 下载 RPM(SourceForge 稳定版目录)
- wget -O tigervnc-server-1.12.0-1.el7.x86_64.rpm https://sourceforge.net/projects/tigervnc/files/stable/1.12.0/el7/RPMS/x86_64/tigervnc-server-1.12.0-1.el7.x86_64.rpm/download
- wget -O tigervnc-server-minimal-1.12.0-1.el7.x86_64.rpm https://sourceforge.net/projects/tigervnc/files/stable/1.12.0/el7/RPMS/x86_64/tigervnc-server-minimal-1.12.0-1.el7.x86_64.rpm/download
- wget -O tigervnc-selinux-1.12.0-1.el7.noarch.rpm https://sourceforge.net/projects/tigervnc/files/stable/1.12.0/el7/RPMS/noarch/tigervnc-selinux-1.12.0-1.el7.noarch.rpm/download
- wget -O tigervnc-license-1.12.0-1.el7.noarch.rpm https://sourceforge.net/projects/tigervnc/files/stable/1.12.0/el7/RPMS/noarch/tigervnc-license-1.12.0-1.el7.noarch.rpm/download
- 安装(建议按依赖顺序)
- sudo rpm -ivh tigervnc-selinux-1.12.0-1.el7.noarch.rpm tigervnc-server-minimal-1.12.0-1.el7.x86_64.rpm tigervnc-server-1.12.0-1.el7.x86_64.rpm tigervnc-license-1.12.0-1.el7.noarch.rpm
- 重启服务
- sudo systemctl daemon-reload
- sudo systemctl restart vncserver@:1.service
- 验证
- rpm -qa | grep tigervnc-server
- 提示:若系统已有旧版组件被其他包依赖,可并存新旧包;必要时用 rpm -Uvh 执行升级替换(请先在测试环境验证)。
三 从源码编译安装(获取最新特性或定制)
- 适用:需要最新特性、补丁,或发行版仓库无法满足的场景。
- 操作步骤:
- 安装编译依赖(示例)
- sudo yum groupinstall -y “Development Tools”
- sudo yum install -y cmake libX11-devel libXext-devel libXft-devel libXrender-devel libXtst-devel libjpeg-turbo-devel libpng-devel libtiff-devel zlib-devel
- 获取源码并构建(以 1.18.0 为例)
- wget https://github.com/tigervnc/tigervnc/releases/download/v1.18.0/tigervnc-1.18.0.tar.gz
- tar xvf tigervnc-1.18.0.tar.gz && cd tigervnc-1.18.0
- mkdir build && cd build
- cmake -G “Unix Makefiles” …
- make -j$(nproc)
- sudo make install
- 确保可执行文件在 PATH
- echo ‘export PATH=$PATH:/usr/local/bin’ >> ~/.bashrc && source ~/.bashrc
- 启动与验证
- vncserver :1
- vncviewer localhost:1
- 说明:源码安装便于获取最新版本,但与系统包管理器隔离,后续升级与回滚需自行维护。
四 更新后的验证与常见问题
- 版本与进程
- 版本:vncviewer -version 或 rpm -q tigervnc-server
- 进程与端口:ps -ef | grep Xvnc;ss -lntp | grep 590(显示 :1 → 5901 等)
- 服务管理
- 重启:sudo systemctl restart vncserver@:1.service
- 开机自启:sudo systemctl enable vncserver@:1.service
- 防火墙
- 放行示例:sudo firewall-cmd --permanent --add-port=5901/tcp && sudo firewall-cmd --reload
- 常见问题
- 旧版并存:CentOS 7 上常见同时装有 tigervnc-server 与 tigervnc-server-minimal,升级时建议一并处理,避免依赖冲突。
- 升级后无法启动:检查 ~/.vnc 下的日志,确认 Xvnc 与桌面会话配置兼容;必要时用 vncserver :1 -clean 清理旧会话后重启。