温馨提示×

Linux Compton中如何设置透明度效果

小樊
37
2025-12-18 02:04:11
栏目: 智能运维

Linux Compton 透明度设置指南

一 基础准备

  • 确认会话与兼容性:Compton 仅适用于 X11 会话;在 Wayland 下无法工作。若使用 GNOME/KDE 等自带合成器,需先关闭其内置合成以避免冲突。
  • 安装 Compton:
    • Debian/Ubuntu:sudo apt update && sudo apt install compton
    • Fedora:sudo dnf install compton
    • Arch:sudo pacman -S compton
  • 配置文件路径:默认使用 ~/.config/compton.conf,不存在可创建:mkdir -p ~/.config && touch ~/.config/compton.conf

二 配置方式与关键参数

  • 全局窗口透明度

    • 配置文件:设置整体窗口不透明度(示例为 90% 不透明,即 0.9
      opacity = 0.9;
      
    • 命令行:
      compton --config ~/.config/compton.conf -i 0.9
      
      说明:数值范围 0.0–1.0,数值越小越透明;部分版本也支持 --alpha 0.9
  • 按窗口规则设置

    • 使用 opacity-rule 精确匹配窗口类、名称等,语法为 "透明度:条件"(透明度以百分比表示,如 90 表示 90% 不透明):
      opacity-rule = [
        "90:class_g 'Firefox'",
        "90:name 'Terminal'",
        "100:class_g 'Xephyr'"
      ];
      
    • 排除特定窗口(如保持 dmenu 不透明):
      focus-exclude = "x 0 && y 0 && override_redirect true";
      
    • 提示:可用 xprop 获取窗口的 WM_CLASS/WM_NAME 以编写精确规则。
  • 背景与模糊

    • 背景透明度(如桌面背景透过终端):
      background-opacity = 0.8;
      
    • 背景模糊(需配合支持模糊的版本/后端):
      blur: {
        method = "gaussian";
        size = 4;
        strength = 10;
      }
      
    • 淡入淡出动画:
      fade = true;
      fade-delta = 10;
      

三 启动与自启动

  • 手动启动(当前会话生效):

    compton --config ~/.config/compton.conf -b
    

    说明:-b 表示后台运行。

  • 开机自启动

    • 桌面会话自启动(示例为 GNOME):创建文件 ~/.config/autostart/compton.desktop
      [Desktop Entry]
      Type=Application
      Exec=compton --config ~/.config/compton.conf
      Hidden=false
      NoDisplay=false
      X-GNOME-Autostart-enabled=true
      Name=Compton
      
    • systemd 用户服务(推荐):创建 ~/.config/systemd/user/compton.service
      [Unit]
      Description=Compton Compositor
      After=graphical-session.target
      
      [Service]
      ExecStart=/usr/bin/compton --config %h/.config/compton.conf
      Restart=always
      
      [Install]
      WantedBy=default.target
      
      启用:
      systemctl --user daemon-reload
      systemctl --user enable --now compton
      

四 常见问题与优化

  • 合成器冲突:若使用 GNOME/KDE 自带合成器,请先关闭以避免与 Compton 冲突。
  • 性能与渲染:优先选择 backend = “glx”;必要时降低 frame-rate(如设为 60)以平衡流畅度与 CPU/GPU 占用。
  • 透明度无效排查:检查目标窗口是否匹配 opacity-rule;部分程序(如某些对话框)可能设置了 override_redirect,可用 focus-exclude 或规则精确匹配处理。
  • 模糊与背景:若背景模糊无效,确认版本支持、渲染后端为 glx,并启用相关模糊参数。
  • 调试建议:提高日志级别定位问题,例如 log-level = "debug";

0