温馨提示×

CentOS下Compton的更新和维护指南

小樊
42
2025-11-16 02:51:53
栏目: 智能运维

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/防火墙,减少攻击面;对关键服务最小权限运行。

0