温馨提示×

Debian Compton配置文件详解

小樊
37
2025-11-15 05:19:30
栏目: 智能运维

Debian 下 Compton 配置文件详解

一 基础与环境准备

  • 安装与路径
    • Debian 上安装:sudo apt update && sudo apt install compton -y
    • 配置文件默认位置:~/.config/compton.conf(不存在可手动创建:mkdir -p ~/.config && touch ~/.config/compton.conf)
  • 会话与后端
    • Compton 是 X11 的窗口合成器,通常运行在 Xorg 会话中;在 Wayland 会话下一般不使用 Compton。常见后端为 glx(OpenGL)或 xrender,部分构建还支持 egl。选择原则:有合适驱动时优先 glx/egl,兼容性需求可选 xrender

二 配置文件结构与示例

  • 文件格式支持两种常见风格(同一配置内不要混用):
    • 类 C 的键值对:key = value;(或 key value;)
    • 类 JSON 的块与数组:key = [ “item1”, “item2” ]; 或 shadow-exclude { “class_g ‘GtkWindow’”; “class_g ‘GtkDialog’”; };
  • 最小可用示例(保存为 ~/.config/compton.conf):
    # 基本渲染与同步
    backend = "glx";
    vsync = true;
    
    # 阴影
    shadow = true;
    shadow-radius = 2;
    shadow-offset-x = 2;
    shadow-offset-y = 2;
    shadow-opacity = 0.5;
    
    # 淡入淡出
    fade = true;
    fade-delta = 10;
    
    # 背景色(无透明时生效)
    background = "#000000";
    
    # 窗口不透明度(示例:对某些应用固定不透明度)
    opacity-rule = [
        "90:class_g = 'Firefox'",
        "90:class_g = 'Alacritty'"
    ];
    
    # 排除阴影的窗口(示例:菜单、通知等)
    shadow-exclude = [
        "class_g 'GtkMenu'",
        "class_g 'GtkDialog'",
        "class_g 'Notification'"
    ];
    
    说明:
    • 以上键名与取值为常见用法;不同版本可能略有差异,建议逐项启用并测试。

三 关键参数详解

  • 渲染与同步
    • backend:渲染后端,常用 glx/xrender(部分构建支持 egl);驱动支持良好时 glx/egl 通常更流畅。
    • vsync:是否启用垂直同步,取值 true/false,用于减少撕裂,但可能引入一定输入延迟。
  • 阴影
    • shadow:是否启用阴影,取值 true/false
    • shadow-radius / shadow-offset-x / shadow-offset-y:阴影模糊半径与偏移。
    • shadow-opacity:阴影不透明度,取值 0.0–1.0
    • shadow-exclude:数组或块语法,按窗口类/实例等规则排除阴影(如菜单、通知、Dock 等)。
  • 淡入淡出与动画
    • fade / fade-delta:是否启用淡入淡出及动画步长(毫秒),数值越小越顺滑、开销略增。
  • 不透明度与模糊
    • opacity-rule:按窗口规则设置不透明度(语法: “不透明度:匹配条件”;如 “90:class_g = ‘Firefox’” 表示 90% 不透明度)。
    • 背景模糊/屏边模糊:部分构建提供如 bg_blurscreen_edge_blur 等开关,是否可用取决于版本与构建配置。
  • 高级 OpenGL 选项(glx 后端)
    • glx-no-stencil、glx-copy-from-front、glx-fbo、glx-damage、glx-vsync 等,用于细粒度控制 OpenGL 渲染路径与同步策略;遇到画面撕裂、卡顿或特定应用渲染异常时可逐项试验。

四 启动与自启动

  • 手动启动与热重载
    • 启动:compton --config ~/.config/compton.conf
    • 重启生效:先结束旧进程再启动,例如:pkill compton && compton --config ~/.config/compton.conf &
  • 会话自启动
    • 桌面会话(Openbox、i3、Xfce 等):在会话的“自启动”或“启动脚本”中加入 compton 命令。
    • systemd 用户服务(推荐在用户级启用,避免权限与图形会话问题):
      1. 创建服务文件:nano ~/.config/systemd/user/compton.service
      2. 写入示例:
        [Unit]
        Description=Compton Compositor
        After=graphical-session.target
        
        [Service]
        ExecStart=/usr/bin/compton --config %h/.config/compton.conf
        Restart=always
        
        [Install]
        WantedBy=default.target
        
      3. 启用并启动: systemctl --user daemon-reload systemctl --user enable --now compton.service 说明:若在 Wayland 会话中,Compton 不会生效;请切换到 Xorg 会话测试。

五 常见问题与性能优化

  • 性能优化
    • 优先选择 glx/egl 后端(显卡驱动支持良好时),必要时退回 xrender 提升兼容性。
    • 不需要时关闭 阴影(shadow = false)淡入淡出(fade = false),可显著降低开销。
    • 减少不必要的 不透明度/模糊 规则,避免频繁 alpha 混合。
    • 遇到撕裂可开启 vsync,若输入延迟敏感可在特定硬件上尝试关闭验证效果。
  • 故障排查
    • 配置错误导致黑屏/崩溃:在终端运行 compton 观察输出;或暂时改用最小化配置逐项恢复。
    • 应用渲染异常(花屏、残影):尝试切换 backend,或调整 glx-damage / glx-fbo / glx-no-stencil 等 OpenGL 选项。
    • 阴影异常:完善 shadow-exclude 规则,排除菜单、通知、Dock/面板等不需要阴影的窗口。
    • 版本差异:部分选项(如 bg_blur、screen_edge_blur)可能仅在特定构建中提供,若配置项不存在请先确认所用版本与构建配置。

0