Ubuntu compton配置的进阶技巧
小樊
43
2025-12-20 07:09:08
Ubuntu 下 Compton 配置的进阶技巧
一 性能与稳定性优化
- 选择高效后端:优先使用 backend = glx(或环境支持时选 wayland),通常较 xrender 更高效;同时确保显卡驱动正确安装,否则 glx 可能退化为软件渲染。
- 精细控制 VSync:将 vsync 设为 true/false 做 A/B 测试;部分驱动/应用组合下关闭可提升帧率,开启可减少撕裂,需结合显示器刷新率与游戏/视频场景实测。
- 降低合成开销:在不需要时关闭 shadow = false;谨慎使用全局透明度(如 opacity),对性能敏感场景建议只对特定窗口用规则控制。
- 限制资源占用:用 cpulimit 限制单进程占用,例如:cpulimit -l 50 -p $(pgrep compton);或用 systemd 的 CPUQuota= 做更稳态的限流。
- 监控与回退:用 top/vmstat/pidstat 观察 compton 的 CPU/上下文切换;若出现异常,先回退到最简配置(仅 backend/ vsync/ shadow 三项)再逐项加回。
二 多显示器与高分屏实践
- 职责边界:Compton 只负责窗口合成,多显示器布局与刷新率由 xrandr 管理;先用 xrandr 正确设置扩展/镜像、主屏与相对位置,再启动 Compton。
- 快速排障:若观察到卡顿或撕裂,先确认 xrandr 输出是否正常、各屏刷新率一致;再在 Compton 中调整 vsync 与后端。
- 显示名称一致性:在 Compton 的 shadow-exclude 等规则里使用与 xrandr 一致的 output 名称(如 HDMI-1、eDP-1),避免因名称不匹配导致规则失效。
三 视觉细节与窗口规则
- 背景模糊:启用 blur-background = true 并选择合适卷积核,例如 blur-kern = “3x3box”;在 KDE/GNOME 等桌面中,可与模糊插件/扩展协同获得更稳定的效果。
- 阴影排除:对通知、菜单、拖动层等不需要阴影的窗口进行排除,提升观感与性能:
shadow-exclude = [ “name ‘Notification’”, “class_g ? ‘Dmenu’”, “class_g ? ‘Dunst’”, “_NET_WM_STATE@:32a * ‘_NET_WM_STATE_HIDDEN’” ];
- 窗口透明度规则:按应用/类精确控制,避免全局透明带来的可读性与性能问题:
opacity-rule = [ “90:name *? ‘Firefox’”, “90:name *? ‘Terminal’”, “100:class_g ‘Xephyr’” ];
- 细节优化:设置 ignore_root = true 可避免根窗口透明度引发的异常;对固定不透明窗口(如视频播放器)使用 100% 规则,减少不必要的 alpha 合成。
四 启动与热重载
- 会话自启:在 ~/.xprofile 或 ~/.xinitrc 中加入:
compton -b &
以在登录会话时后台启动;修改配置后可用 killall compton && compton -b 快速重启生效。
- Systemd 管理:创建用户级服务(推荐)或系统级服务,示例(用户级):
[Unit]
Description=Compton Window Composer
After=graphical.target
[Service]
ExecStart=/usr/bin/compton --config %h/.config/compton.conf
Restart=on-failure
[Install]
WantedBy=default.target
启用:systemctl --user enable --now compton;修改后执行 systemctl --user restart compton。
- 调试技巧:启动时加 –log-level debug --log-file /tmp/compton.log,从日志定位阴影、模糊、规则匹配等问题。
五 常见问题与替代方案
- 撕裂与卡顿:先切换 vsync(true/false),再尝试 backend glx/xrender;若问题仍在,减少 shadow/blur/透明度 或暂时关闭以定位根因。
- 高 CPU 占用:用 cpulimit 或 systemd CPUQuota 限流;检查是否有大量未排除的窗口触发模糊/透明;必要时回退到最简配置逐步加回。
- 笔记本与省电:合成器会增加一定功耗,移动场景下可结合 自动挂起/灭屏 策略,或在全屏视频/游戏时临时关闭 Compton。
- 替代方案:若仍无法满足需求,可尝试 xcompmgr、i3-compiz、Sway 等其他合成器,在不同硬件/桌面环境下可能表现更好。