用 Compton 解决 Linux 显示问题的实用指南
一 适用场景与思路
- 画面撕裂:启用或调整 vsync(垂直同步),让显卡与显示器刷新率同步,减少撕裂。
- 卡顿与高 CPU:选择更合适的 backend(glx/xrender),关闭不必要的特效(如阴影、模糊、淡入淡出)。
- 透明度/模糊异常:校正 opacity/blur 与窗口规则,排除不支持的窗口。
- 阴影/叠加错误:通过 shadow-exclude 等规则,为特定窗口禁用阴影或合成。
- 与桌面环境冲突:在 GNOME/KDE 等自带合成的桌面中,可能需要停用系统合成器或改用轻量 WM 搭配 Compton。
二 快速安装与启用
- 安装(常见发行版)
- Debian/Ubuntu 系:sudo apt-get install compton
- Arch 系:sudo pacman -S compton
- Fedora/RHEL 系:sudo dnf install compton
- 配置文件
- 位置:~/.config/compton.conf 或 /etc/xdg/compton.conf(不存在可新建)。
- 前台试运行(便于观察日志与效果)
- compton --config ~/.config/compton.conf --log-level debug
- 设为自启动(二选一)
- 会话自启:将 compton 命令加入窗口管理器/会话的启动脚本(如 i3/config、Openbox autostart)。
- Systemd 服务示例(/etc/systemd/system/compton.service):
- [Unit] Description=Compton Window Composer;After=xorg.service
- [Service] ExecStart=/usr/bin/compton --config /etc/compton.conf;Restart=on-failure
- [Install] WantedBy=multi-user.target
- 启用:sudo systemctl daemon-reload && sudo systemctl enable --now compton
- 热重载
- killall compton && compton &(或使用 systemctl restart compton)
三 关键配置与对应问题
- 撕裂与卡顿
- backend = glx(或尝试 wayland);vsync = true/false 按显示器与驱动实测选择;必要时关闭阴影/模糊/淡入淡出以减负。
- 透明度与模糊
- 全局 opacity(0.0–1.0);[opacity-rule] 为指定应用设透明度;[blur] 启用背景模糊(如 method=gaussian)。
- 阴影与叠加异常
- shadow = true/false;shadow-exclude 排除特定窗口(支持正则);fade = false 可消除淡入淡出造成的卡顿观感。
- 性能与稳定性
- 优先 glx 后端;减少模糊/阴影;必要时限制 CPU(如 cpulimit -l 50 -p $(pgrep compton))。
四 最小可用配置示例
- 目标:减少撕裂、降低 CPU、保留适度阴影与透明度
- 配置(保存到 ~/.config/compton.conf):
- backend = “glx”
- vsync = true
- shadow = true
- shadow-exclude = [“name = ‘Conky’”, “class_g = ‘Polybar’”]
- fade = false
- opacity = 0.92
- [opacity-rule] = [“90:class_g ‘Firefox’”, “95:name ‘Terminal’”]
- [blur]
- method = “gaussian”
- size = 8
- deviation = 4.0
- 使用
- 前台试运行:compton --config ~/.config/compton.conf --log-level debug
- 无异常后设为自启动(会话脚本或 systemd)
五 故障排查与替代方案
- 桌面环境冲突
- GNOME/KDE 自带合成器可能与 Compton 冲突;可尝试关闭系统合成或改用 Openbox/i3 等轻量 WM 搭配 Compton。
- 驱动与后端
- 若出现黑屏/花屏/崩溃,先改用 backend xrender 排除 OpenGL 问题;更新显卡驱动后再切回 glx。
- 日志定位
- 启动时加 --log-level debug,观察终端或日志文件输出,快速定位异常选项/窗口。
- 资源占用过高
- 关闭阴影/模糊/淡入淡出;用 cpulimit 限制 CPU;必要时改用更轻量的配置或 WM。
- 替代方案
- 若仍不稳定,可考虑 Picom(Compton 的活跃分支)或直接使用桌面环境自带合成器。