CentOS 下 Compton 的更新与维护指南
一 更新前准备
- 备份配置:优先备份用户级与系统级配置,防止升级覆盖或语法变更导致异常。执行:
- cp ~/.config/compton.conf ~/.config/compton.conf.bak
- sudo cp /etc/compton.conf /etc/compton.conf.bak
- 确认当前版本与安装方式:
- compton --version
- 查看是否为包管理器安装:rpm -q compton;或查看是否存在服务:systemctl is-active compton
- 启用软件源:确保已启用 EPEL 等必要仓库,以获得较新的 Compton 包与依赖。
- CentOS 7:sudo yum install -y epel-release
- CentOS 8/9:sudo dnf install -y epel-release
- 资源与兼容性检查:在低配设备上关注 CPU/内存 占用;与 GNOME/KDE/Xfce 等桌面环境的合成器/窗口管理器可能存在兼容差异,必要时调整启动方式或切换后端。
二 标准更新流程
- 基于包管理器(推荐)
- CentOS 7(yum):
- sudo yum clean all && sudo yum update -y
- sudo yum upgrade compton -y
- CentOS 8/9(dnf):
- sudo dnf check-update && sudo dnf update -y
- sudo dnf upgrade compton -y
- 验证:compton --version
- 如以 systemd 管理:sudo systemctl restart compton
- 容器化安装
- Flatpak:flatpak update org.compton-project.Compton;如作为服务运行:systemctl --user restart compton(或重启会话)
- Snap:sudo snap refresh compton;如作为服务运行:sudo systemctl restart snap.compton.compton.service
- 源码编译(仓库版本过旧时)
- 安装编译依赖:sudo yum groupinstall “Development Tools” -y;sudo yum install -y mesa-libGL-devel mesa-libEGL-devel libX11-devel libXext-devel libXinerama-devel libXrandr-devel
- 构建安装:
- git clone https://github.com/astraeador/compton.git
- cd compton && mkdir build && cd build
- cmake … && make
- sudo make install(默认安装到 /usr/local/bin/compton)
- 注意:编译安装不会自动纳入包管理器,后续维护需自行管理升级与回滚。
三 服务管理与自启动
- 创建 systemd 服务(示例):
-
sudo tee /etc/systemd/system/compton.service >/dev/null <<‘EOF’
[Unit]
Description=Compton Compositor
After=display-manager.service
[Service]
ExecStart=/usr/bin/compton --config /etc/compton.conf
Restart=always
[Install]
WantedBy=multi-user.target
EOF
- 常用操作:
- 启用开机自启:sudo systemctl enable compton
- 启动/重启/停止:sudo systemctl start|restart|stop compton
- 查看状态与日志:systemctl status compton;journalctl -u compton.service -b
- 会话级启动(无 systemd 或用户会话):在桌面会话的自动启动脚本中加入 compton --config ~/.config/compton.conf。
四 日常维护与故障排查
- 版本与仓库核对
- 核对可用更新:yum list compton 或 dnf list compton;必要时检查启用的仓库:yum repolist / dnf repolist
- 若版本长期不更新,优先排查仓库配置与网络,再考虑源码编译。
- 配置与兼容性
- 更新后如界面异常,先比对备份配置,逐步恢复改动;必要时将 backend 调整为 glx 并开启 vsync 降低撕裂与开销:
- backend = glx
- vsync = true
- frame_rate = 30
- 日志与诊断
- 服务日志:journalctl -u compton.service -b
- 进程与资源:ps aux | grep compton;必要时使用 top/htop 观察 CPU/内存
- 重装与回滚
- 包管理器安装:sudo dnf reinstall compton 或 sudo yum reinstall compton
- 源码安装:记录旧版本 commit,回退后重新 make install;或使用备份配置快速恢复
- 安全与系统维护
- 定期执行系统与安全更新:sudo dnf update 或 sudo yum update
- 启用并配置 SELinux/防火墙,减少攻击面;对关键服务最小权限运行。