适用于 CentOS 的 Compton 配置诀窍
一 安装与准备
- 确认仓库与版本:CentOS 7 建议先启用 EPEL,再用 yum 安装;较新的 CentOS Stream/8+ 可用 dnf。命令示例:sudo yum install -y epel-release && sudo yum install -y compton(或 dnf install -y compton)。安装前执行 sudo yum update -y 保持系统最新。配置文件常见位置为 /etc/compton.conf(全局)或 ~/.config/compton.conf(用户)。
二 快速上手与自启动
- 手工启动:compton -c ~/.config/compton.conf;如需前台运行便于排错可去掉后台选项。
- 开机自启动两种稳妥做法:
- 会话级(推荐):在桌面会话的“启动应用程序”里加入 compton -c ~/.config/compton.conf。
- systemd 用户服务(无图形登录也能启动):创建文件 ~/.config/systemd/user/compton.service,内容示例:
[Unit]
Description=Compton Compositor
After=graphical-session.target
[Service]
ExecStart=/usr/bin/compton -c %h/.config/compton.conf
Restart=on-failure
[Install]
WantedBy=graphical-session.target
启用:systemctl --user daemon-reload && systemctl --user enable --now compton.service。若使用系统级服务,请确保 After=display-manager.service 且以正确用户运行。
三 配置文件骨架与关键参数
- 建议以“最小可用 + 逐步开启特效”为原则,先确保稳定再叠加效果。示例骨架(写入 ~/.config/compton.conf):
backend = “glx”; # 优先用 GLX 硬件合成
vsync = true; # 避免撕裂,按显示器能力选择
shadow = true; # 窗口阴影
shadow-radius = 5;
shadow-opacity = 0.5;
shadow-exclude = [ “name=‘desktop_window’”, “class_g=‘Conky’” ]; # 排除桌面/常驻层
fade = true; # 窗口切换淡入淡出
fade-delta = 10;
opacity-rule = [ “90:class_g=‘XTerm’”, “0.9:class_g=‘URxvt’” ]; # 指定程序透明度
unredirect = false; # 游戏/全屏应用直绘(按需开启)
glx-no-stencil = true;
glx-copy-from-front = true;
mark-wmwin-focused = true;
mark-ovredir-focused = true;
use-damage = true;
log-level = 0;
log-file = “/var/log/compton.log”; # 便于排错
使用:compton -c ~/.config/compton.conf;修改后 killall compton 再启动以生效。
四 性能与兼容优化
- 性能优先:在笔记本或低负载设备上,可先关闭阴影/模糊(shadow=false、blur=false),将 vsync 设为 true,必要时把 backend 调整为 glx 并开启 use-damage;出现卡顿时减少淡入淡出与阴影质量。
- 兼容性要点:与 GNOME/KDE/Xfce 等桌面叠加时,优先用会话级自启,避免与内置合成器冲突;远程桌面(如 XRDP)场景建议关闭合成或改用轻量配置以减少带宽与 CPU 占用;多显示器下先确保 xrandr 输出正确,再启动 Compton。
- 资源与稳定:定期更新系统与 Compton;遇到异常先查日志(/var/log/compton.log 或 journalctl --user -u compton.service);必要时用 cpulimit 限制单进程占用(示例:cpulimit -l 50 -p $(pidof compton))。
五 常见问题排查清单
- 启动失败或黑屏闪屏:注释掉模糊/阴影等重特效,仅保留 backend/use-damage/vsync 等基础项;用 compton -c 配置文件 2> /var/log/compton.log 捕获错误;必要时回退 backend 为 xrender 验证是否为驱动问题。
- 与桌面环境“打架”:GNOME 默认已有 Mutter 合成,若启用 Compton 出现重影/撕裂,优先在 GNOME Tweak 中关闭其合成,或改为会话级自启而非系统级常驻。
- 多显示器异常:执行 xrandr --query 检查输出名与排列,必要时先调整 xrandr 再启动 Compton;排除规则中加入特定程序(如 name=‘desktop_window’)以避免桌面层被错误合成。