Debian 下 Compton 的高级配置选项
一 核心渲染与同步
- 渲染后端:设置 backend = “glx”(或 xrender)。支持 OpenGL 的显卡优先用 glx 获取更好性能与特效支持。
- 垂直同步:设置 vsync = true/false 以控制撕裂与输入延迟的平衡。
- 背景模糊:启用 blur-background = true,并通过 blur-kern = “3x3box” 等指定内核;部分版本支持 [blur] method = gaussian; size = 10; deviation = 5.0 的高斯模糊。
- 透明度与忽略根窗口:用 opacity(0.0–1.0)控制整体不透明度;设置 ignore_root = true 可避免桌面背景异常透明。
- 淡入淡出动画:通过 fade-in-step / fade-out-step = 0.1 调整窗口出现/消失的过渡速度。
二 窗口规则与特效排除
- 按窗口设置透明度:使用 opacity-rule,如
opacity-rule = [ “90:name *? ‘Firefox’”, “90:name *? ‘Terminal’”, “100:class_g ‘Xephyr’” ]。
- 排除阴影的窗口:使用 shadow-exclude,如
shadow-exclude = [ “name ‘Notification’”, “class_g ? ‘Dmenu’”, “class_g ? ‘Dunst’”, “_NET_WM_STATE@:32a * ‘_NET_WM_STATE_HIDDEN’”, “_GTK_FRAME_EXTENTS@:c”, “_NET_WM_STATE@:32a * ‘_NET_WM_STATE_STICKY’”, “class_g ? ‘i3-frame’” ]。
- 背景不透明覆盖:对特定应用强制不透明,如 background-opacity = 1.0 结合规则或窗口属性匹配。
三 性能优化与资源控制
- 降低开销:在不需要时关闭 shadow、减少 opacity 使用,或改用更轻量的 backend(如从 xrender 切换到 glx)。
- GPU 加速:显卡与驱动支持时优先 backend = “glx” 以利用 GPU 合成。
- 限制 CPU 占用:使用 cpulimit -l 50 -p $(pgrep compton) 将 Compton 的 CPU 使用率限制在 50%。
- 启动参数优化:按需使用 compton -c ~/.config/compton.conf 指定配置;在会话启动脚本(如 ~/.xprofile 或 ~/.xinitrc)中加入启动命令以持久化。
四 配置位置与生效方式
- 配置文件路径:优先使用用户级 ~/.config/compton.conf;系统级可用 /etc/xdg/compton.conf。
- 应用与热重载:
- 手动重启:killall compton && compton &;
- 指定配置启动:compton -c ~/.config/compton.conf;
- 登录自启:将启动命令加入 ~/.xprofile 或 ~/.xinitrc。
- 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。
五 实用示例片段
backend = "glx"
vsync = true
shadow = true
opacity = 0.85
ignore_root = true
blur-background = true
blur-kern = "3x3box"
opacity-rule = [
"90:name *? 'Firefox'",
"90:name *? 'Terminal'",
"100:class_g 'Xephyr'"
]
shadow-exclude = [
"name 'Notification'",
"class_g ? 'Dmenu'",
"class_g ? 'Dunst'",
"_NET_WM_STATE@:32a * '_NET_WM_STATE_HIDDEN'",
"_GTK_FRAME_EXTENTS@:c",
"_NET_WM_STATE@:32a * '_NET_WM_STATE_STICKY'",
"class_g ? 'i3-frame'"
]
fade-in-step = 0.08
fade-out-step = 0.08
将以上保存为 ~/.config/compton.conf 后,使用 killall compton && compton & 或加入 ~/.xprofile 生效。