Debian 下 Compton 高级配置与实战
一 环境准备与配置结构
sudo apt update && sudo apt install comptonps -e | grep comptoncompton &、killall comptoncompton --config ~/.config/compton.confbackend = "glx"、vsync = trueshadow { ... }、blur { ... }、opacity-rule { ... }、exclude { ... }二 关键高级选项与推荐值
backend:优先 glx(或环境支持的 egl),兼容性不佳时再试 xrendervsync:多数场景设为 true 减少撕裂;若出现卡顿或输入延迟,可尝试 falseshadow = true,配合 shadow-radius、shadow-offset-x/y、shadow-opacity 精细控制blur-background = true,blur-method = "gaussian",blur-size 与 blur-deviation 控制强度与半径opacity 与 alpha 控制整体不透明度(0.0–1.0)opacity-rule 为不同应用设定不透明度,如开发工具、浏览器、面板等exclude 与 shadow-exclude 排除通知、菜单、Dock、i3bar 等不需要阴影或不需要合成的元素frame-rate 控制合成刷新上限(如 60),配合 vsync 使用glx-* 系列:如 glx-damage = true、glx-fbo = true、glx-no-stencil = false 等,按硬件与驱动情况微调三 高级配置示例
# 渲染与同步
backend = "glx"
vsync = true
frame-rate = 60
# 全局透明度(可选)
opacity = 0.95
# 阴影
shadow = true
shadow-radius = 6
shadow-offset-x = 1
shadow-offset-y = 1
shadow-opacity = 0.25
shadow-exclude = [
"name = 'Notification'",
"class_g = 'Dmenu'",
"class_g = 'Dunst'",
"_NET_WM_STATE@:32a * '_NET_WM_STATE_HIDDEN'"
]
# 背景模糊
blur-background = true
blur-method = "gaussian"
blur-size = 8
blur-deviation = 4.0
# 窗口不透明度规则(示例)
opacity-rule = [
"95:name *? 'Code'",
"90:class_g 'Code - Insiders'",
"95:name *? 'Chrome'",
"99:class_g 'Chromium'",
"99:class_g 'Firefox'",
"99:class_g 'GIMP'",
"66:name *? 'i3bar'",
"0:_NET_WM_STATE@:32a * '_NET_WM_STATE_HIDDEN'"
]
# 排除不需要合成/阴影的元素
exclude = [
"name = 'Conky'",
"class_g = 'i3-frame'"
]
compton --config ~/.config/compton.conf,修改后重启 Compton 生效四 性能调优与故障排查
exclude/shadow-exclude 减少合成负担;对全屏游戏/视频可临时禁用合成blur-size、frame-rate,或关闭 vsync 测试输入延迟与帧率变化cpulimit -l 50 -p $(pgrep compton)[Unit]
Description=Compton Compositor
After=graphical-session.target
[Service]
ExecStart=/usr/bin/compton --config %h/.config/compton.conf
Restart=on-failure
[Install]
WantedBy=graphical-session.target
启用:systemctl --user daemon-reload && systemctl --user enable --now comptonvsync 取值,检查 backend 与驱动shadow-exclude 规则blur-size 或暂时关闭 blur-background