温馨提示×

Ubuntu Compton配置中如何设置透明度

小樊
43
2025-12-10 09:45:48
栏目: 智能运维

Ubuntu 下使用 Compton 设置透明度的实用指南

一 基础准备

  • 确认会话类型:Compton 仅适用于 X11。如果你使用的是 Wayland,请改用相应会话的原生合成器(如 Mutter/KWin)或改用 xcompmgr。
  • 安装 Compton:在 Ubuntu/Debian 上执行:sudo apt update && sudo apt install compton
  • 配置文件路径:常用为 ~/.config/compton.conf;若不存在可创建:mkdir -p ~/.config && touch ~/.config/compton.conf
  • 避免冲突:部分桌面环境(如 GNOME)自带合成器,启用 Compton 前建议先关闭桌面自带合成以避免冲突。

二 配置方式与示例

  • 按窗口规则设置透明度(推荐)
    • 使用 opacity-rule 为不同窗口设置不同透明度,数值为百分比(如 90 表示 90% 不透明,即 10% 透明)。
    • 示例:
      opacity-rule = [
        "90:class_g 'Firefox'",     # Firefox 90% 不透明
        "95:name 'Terminal'",       # 终端 95% 不透明
        "100:class_g 'Xephyr'"     # Xephyr 完全不透明
      ];
      
    • 进阶:可对聚焦/非聚焦分别设置,例如让名称为 vegeta 的窗口聚焦 90%、非聚焦 60%
      opacity-rule = [
        "90:name *? 'vegeta' && focused",
        "60:name *? 'vegeta' && !focused"
      ];
      
    • 提示:规则按顺序匹配,命中后停止继续匹配。
  • 全局透明度(不区分窗口)
    • 命令行方式:compton -b -r 0.5 -i 0.8
      • -b 后台运行;-r 0.5 全局透明度 50%-i 0.8 聚焦窗口透明度 80%
    • 配置文件方式:部分构建支持顶层 alpha(取值 0.0–1.0),例如:alpha = 0.8(全局 80% 不透明)。不同版本/构建可能不支持该键,建议优先使用 opacity-rule
  • 让特定程序不透明
    • 使用 focus-exclude 排除如 dmenu 这类弹出层,使其保持不透明:
      focus-exclude = "x 0 && y 0 && override_redirect true";
      
    • 也可在 opacity-rule 中显式设为 100"100:class_g 'dmenu'"

三 应用与调试

  • 应用配置
    • 手动启动:compton --config ~/.config/compton.conf(或 compton -b 后台运行)。
    • 会话自动启动:例如在 i3 配置中加入 exec_always compton -b;其他桌面可将命令加入“启动应用程序”。
  • 热重载
    • 快速重启以加载新配置:killall compton && compton &
  • 排错要点
    • 若透明度无效,检查是否使用了 Wayland、是否与其他合成器冲突、规则是否命中(可用更精确的类名/名称匹配)。

四 常见问题与建议

  • 桌面环境冲突:如 GNOME/KDE/Xfce 自带合成器可能与 Compton 冲突,启用前先关闭自带合成。
  • 性能与渲染:优先使用 GLX 后端(如 backend = "glx";),并确保显卡驱动支持 OpenGL/GLX;在较老硬件上可改用 xrender
  • 规则优先级:更具体的规则应放在前面,避免被通用规则提前匹配。

0