温馨提示×

CentOS Compton配置指南及技巧分享

小樊
36
2025-12-09 19:49:35
栏目: 智能运维

CentOS 下 Compton 配置与性能优化指南

一 安装与准备

  • CentOS 7/8 上,使用包管理器安装 Compton;若仓库暂未提供,可先启用 EPEL 再安装。
  • 建议先更新系统并确认显卡驱动正常(OpenGL 可用),以便启用硬件加速。
  • 安装示例:
    • 启用 EPEL(如未启用):sudo yum install -y epel-release
    • 安装 Compton:sudo yum install -y compton 或 sudo dnf install -y compton
  • 说明:Compton 是 X11 的窗口合成器,不用于 Wayland 会话。

二 配置文件与关键参数

  • 配置文件路径:优先使用用户级 ~/.config/compton.conf;也可使用系统级 /etc/compton.conf/etc/xdg/compton.conf
  • 常用参数与作用:
    • backend:合成后端,优先 glx(OpenGL),兼容性备选 xrender;Wayland 会话不适用。
    • vsync:垂直同步,设为 true/false 结合显示器与驱动测试撕裂与延迟。
    • shadow:窗口阴影,关闭可降负载(shadow = false)。
    • opacity / alpha / opacity-rule:透明度与按应用规则设置不透明度(如 opacity-rule = [“90:class_g ‘Firefox’”])。
    • fade:淡入淡出动画,关闭可提升性能(fade = false)。
    • unredirect:是否绕过未遮挡窗口合成,开启可提升全屏性能,但在部分驱动/应用下可能引入撕裂或重绘问题(unredirect = false 更稳)。
    • shadow-exclude、alpha-threshold:按窗口类/标题排除阴影,设置透明度阈值以跳过几乎透明的窗口合成。
  • 示例配置(可按需裁剪):
    • backend = “glx”
    • vsync = true
    • shadow = false
    • fade = false
    • unredirect = false
    • opacity-rule = [ “90:class_g ‘Firefox’”, “90:name ‘Terminal’” ]
    • shadow-exclude = [ “.*” ]
    • alpha-threshold = 0.05

三 启动与自启动

  • 手动启动与热重载:
    • 启动:compton --config ~/.config/compton.conf
    • 重启:killall compton && compton &
  • 开机自启动(systemd 用户服务,推荐):
    • 创建:mkdir -p ~/.config/systemd/user
    • 新建文件:~/.config/systemd/user/compton.service
    • 内容:
      • [Unit]
        Description=Compton Window Composer
        After=graphical-session.target
      • [Service]
        ExecStart=/usr/bin/compton --config %h/.config/compton.conf
        Restart=always
      • [Install]
        WantedBy=graphical-session.target
    • 启用:systemctl --user daemon-reload && systemctl --user enable --now compton.service
  • 系统级服务(可选,多用户/登录会话场景):创建 /etc/systemd/system/compton.service,示例:
    • [Unit] Description=Compton Compositor; After=display-manager.service
    • [Service] ExecStart=/usr/bin/compton -c /etc/compton.conf; Restart=always
    • [Install] WantedBy=multi-user.target
    • 启用:sudo systemctl daemon-reload && sudo systemctl enable --now compton.service
  • 提示:使用显示管理器(如 GDM)时,After=display-manager.service 有助于在登录后启动;用户级服务需确保会话已启动。

四 性能优化与常见问题

  • 性能优先的稳妥设置:
    • backend = “glx”;shadow = false;fade = false;opacity/blur 视需求关闭;unredirect = false(更稳)。
    • 若画面撕裂,尝试 vsync = true;若出现输入延迟或卡顿,再测试 vsync = false。
  • 资源限制与稳定性:
    • 使用 cpulimit 限制单进程占用(示例:cpulimit -l 50 -p $(pgrep compton))。
    • 通过日志定位问题:compton -c /path/compton.conf 2> /var/log/compton.log,再查看 /var/log/compton.log。
  • 多显示器与特定应用优化:
    • 使用 shadow-exclude、opacity-rule 精确控制窗口效果,减少不必要的合成与重绘。
  • 驱动与兼容性:
    • 确保 OpenGL 与显卡驱动正常;如 glx 异常,可回退 xrender 验证。
  • 替代方案:若仍不满足需求,可测试 xcompmgrpicom 或切换至支持 Wayland 的合成器/桌面环境。

0