CentOS 上 Compton 的更新与升级指南
一 准备与版本确认
- 确认当前版本:执行命令查看已安装版本与可执行文件路径
- 版本:compton --version
- 路径:which compton
- 确认安装来源:
- 包管理器:rpm -q compton 或 dnf info compton
- 若为源码安装:通常位于 /usr/local/bin/compton(与包管理器路径不同)
- 仓库准备:部分 CentOS 版本默认仓库不含 Compton,建议先启用 EPEL 再安装/更新:
- sudo yum install epel-release 或 sudo dnf install epel-release
- 会话注意:Compton 是 X11 的窗口合成器,不适用于 Wayland 会话。若在 Wayland 下,请改用相应桌面提供的合成器(如 Mutter/KWin)。
二 使用包管理器更新
- 适用于通过系统仓库安装的 Compton(推荐优先方式)。
- 更新步骤:
- CentOS 7:
- 检查更新:sudo yum check-update compton
- 执行升级:sudo yum upgrade compton
- CentOS 8/Stream:
- 检查更新:sudo dnf check-update compton
- 执行升级:sudo dnf upgrade compton
- 升级后验证:compton --version 应显示新版本号。
三 重装或跨版本升级
- 重新安装当前版本(修复损坏或配置异常):
- sudo dnf reinstall compton(或 sudo yum reinstall compton)
- 跨小版本/大版本升级(系统版本升级,如 7 → 8/Stream):
- 先完成系统升级,再按“二”执行 Compton 的更新;必要时配合重建/替换配置文件。
- 从源码安装更高版本(仓库版本过旧时可选):
- 安装依赖(示例):sudo dnf install meson gcc ninja-build libX11-devel libXrandr-devel libXinerama-devel libXdamage-devel libXext-devel libconfig-devel uthash-devel(不同发行版包名可能略有差异)
- 构建与安装:
- git clone https://github.com/compton-compositor/compton.git
- cd compton && meson setup build && ninja -C build && sudo ninja -C build install
- 注意:源码安装可能覆盖包管理器文件,后续建议用包管理器维护;如需回退,优先使用已安装的二进制或重新安装包。
四 重启与自启动
- 若 Compton 已在运行,更新后需重启以加载新二进制与配置:
- 简单方式:pkill compton && compton &(前台测试可用,不建议长期使用)
- 使用 systemd 用户会话(推荐):
- 创建服务文件 ~/.config/systemd/user/compton.service:
- [Unit]
- Description=Compton Compositor
- After=graphical-session.target
- [Service]
- ExecStart=/usr/bin/compton --config /etc/compton.conf
- Restart=always
- [Install]
- WantedBy=graphical-session.target
- 启用与启动:
- systemctl --user daemon-reload
- systemctl --user enable --now compton
- 配置文件位置:常见为 /etc/compton.conf 或 ~/.config/compton.conf;升级不会覆盖自定义配置,但新增选项需手动合并。
五 常见问题与排查
- 找不到包或版本过旧:启用 EPEL,或考虑使用 Flatpak/Snap(若发行版提供相应运行时与包)。
- 升级后无变化:确认正在使用的是更新后的可执行文件(对比 which compton 与 compton --version),并重启 Compton/会话。
- 会话不兼容:在 Wayland 会话下 Compton 不会生效,需切换到 Xorg 会话或使用桌面自带合成器。
- 性能与兼容性:在资源较紧张设备上,适当调整阴影、模糊、VSync 等参数;不同桌面环境(如 GNOME/KDE/Xfce)与 Compton 的兼容性有所差异,必要时更换配置或切换合成器。