温馨提示×

Debian Compton有哪些高级配置选项

小樊
36
2025-12-08 21:52:58
栏目: 智能运维

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 生效。

0