温馨提示×

Debian Compton配置示例分享

小樊
41
2025-12-16 20:08:35
栏目: 智能运维

Debian 下使用 Compton 的实用配置示例

一 安装与准备

  • Debian 上安装 Compton:sudo apt update && sudo apt install compton -y。建议同时安装 x11-xserver-utilswmctrl,便于后续调试与窗口管理(可选)。安装完成后即可准备配置文件与自启动方案。

二 配置文件示例

  • 将以下内容保存为 ~/.config/compton.conf,按需微调。该示例启用轻量阴影、背景模糊、基于规则的窗口透明度,并开启垂直同步与硬件加速(glx)。
# ~/.config/compton.conf
backend = glx
vsync = true
glx-sync = true
glx-no-stencil = true
glx-copy-from-front = false
glx-fbo = true
glx-damage = true
glx-hw-accel = true

# 阴影
shadow = true
shadow-radius = 12
shadow-offset-x = 2
shadow-offset-y = 2
shadow-opacity = 0.45
shadow-exclude = [
  "class_g = 'GtkWindow'",
  "class_g = 'GtkDialog'",
  "class_g = 'MatePanel'",
  "class_g = 'Xfce4-panel'",
  "class_g = 'Polybar'",
  "_NET_WM_WINDOW_TYPE@:a = 'dock'",
  "_NET_WM_WINDOW_TYPE@:a = 'desktop'"
]

# 淡入淡出
fade = true
fade-delta = 10

# 不重定向(提升某些全屏游戏/视频性能)
unredirect = pointer

# 背景模糊(需后端支持,glx 下通常可用)
blur-background = true
blur-background-fixed = false
blur-kern = "3x3box"

# 窗口透明度规则(语法:透明度:条件)
[opacity-rule]
90:class_g = 'Firefox'
95:class_g = 'Alacritty'
95:class_g = 'xterm'
100:class_g = 'Polybar'
100:class_g = 'Conky'

# 忽略根窗口透明,避免桌面背景异常
ignore-root = true
  • 说明
    • 若遇到某些应用/面板出现阴影或透明异常,可在 shadow-exclude 中继续添加对应的 class_g_NET_WM_WINDOW_TYPE
    • 模糊效果对性能有一定影响,低配显卡可关闭 blur-background 或将 blur-kern 改为更轻量的核(如 3x3box)。

三 启动与自启动

  • 会话自启动(推荐)
    • 在桌面会话的自动启动中加入:/usr/bin/compton --config ~/.config/compton.conf
    • 例如在 Openbox 的 autostart 中加入:compton --config ~/.config/compton.conf &
  • systemd 用户服务(无显示管理器或需用户级管理时)
    • 新建文件:/etc/systemd/system/compton.service
    • 内容:
      [Unit]
      Description=Compton Compositor
      After=display-manager.service
      
      [Service]
      ExecStart=/usr/bin/compton --config /home/你的用户名/.config/compton.conf
      Restart=always
      User=你的用户名
      
      [Install]
      WantedBy=multi-user.target
      
    • 启用并启动:sudo systemctl enable --now compton
  • 调试与热重载
    • 查看状态:systemctl --user status compton(用户服务)或 systemctl status compton(系统服务)
    • 热重载:先 killall compton,再启动;或使用 systemctl restart compton
    • 临时前台运行(便于观察日志与报错):compton --config ~/.config/compton.conf --log-level=debug

四 常见问题与优化

  • 性能优化
    • 优先使用 backend = glx 并开启 glx-hw-accel、glx-fbo、glx-damage;若出现异常,可尝试关闭 glx-copy-from-front 或改为 unredirect = pointer/all/none 测试。
    • 不需要特效时,可关闭 shadowblur-background;降低 fade-delta 也能减少过渡开销。
  • 兼容性与显示异常
    • 出现拖影、撕裂或卡顿时,切换 vsync(true/false)并测试 glx-sync;部分驱动/硬件组合对 glx-no-stencil 的敏感度不同,可按需开关。
    • 桌面面板、Dock、壁纸类窗口建议加入 shadow-excludeignore-root,避免阴影或透明错误。

0