温馨提示×

Linux Compton配置如何调整透明度设置

小樊
35
2025-12-23 23:22:37
栏目: 智能运维

Linux Compton 透明度设置指南

一 配置文件与关键参数

  • 配置文件位置:优先使用用户目录的 ~/.config/compton.conf;如全局配置存在,可参考 /etc/xdg/compton.conf。不存在时可创建:mkdir -p ~/.config && touch ~/.config/compton.conf。
  • 全局窗口不透明度:使用 opacity(浮点,0.0–1.0,数值越小越透明)。示例:opacity = 0.85; 表示整体窗口 85% 不透明
  • 按窗口规则设置:使用 opacity-rule,支持按 class_g、name 等匹配,语法为 “透明度:匹配条件”。示例:opacity-rule = [“90:class_g ‘Firefox’”, “90:name ‘Terminal’”, “100:class_g ‘Xephyr’”]; 表示 Firefox 与终端 90%,Xephyr 100%
  • 背景/桌面透明度:使用 background-opacity(浮点,0.0–1.0)。示例:background-opacity = 0.9; 表示桌面背景 90% 不透明
  • 淡入淡出动画:使用 fade = true/false; fade-delta = 10; 控制透明度变化平滑度。
  • 根窗口:如遇到桌面背景异常透明,可设置 ignore_root = true;
  • 启动方式:编辑完成后可用 compton --config ~/.config/compton.conf 测试,或 compton -b 后台常驻。

二 快速示例配置

# ~/.config/compton.conf
backend = "glx"
vsync = true
shadow = true
fade = true
fade-delta = 10

# 全局不透明度(0.0–1.0)
opacity = 0.88

# 背景透明度(0.0–1.0)
background-opacity = 0.92

# 按窗口设置
opacity-rule = [
  "90:class_g 'Firefox'",
  "90:name 'Terminal'",
  "100:class_g 'Xephyr'"
]

# 忽略根窗口
ignore_root = true
  • 应用方式:保存后执行 compton --config ~/.config/compton.conf(或 compton -b 后台运行)。

三 按应用与状态精细化控制

  • 聚焦/未聚焦差异化:在 opacity-rule 中使用 focused!focused 区分状态。示例:opacity-rule = [“90:name *? ‘VIM’ && focused”, “60:name *? ‘VIM’ && !focused”]; 表示 VIM 聚焦 90%、未聚焦 60%
  • 临时弹出层不透明:对 dmenu 等 override_redirect 窗口,可用 focus-exclude 排除,使其不受透明度影响。示例:focus-exclude = “x 0 && y 0 && override_redirect true”;。

四 命令行临时调整与生效方式

  • 后台启动并指定配置:compton -b -c ~/.config/compton.conf。
  • 热重载:先结束旧进程再启动新进程,例如 pkill compton && compton -b;如使用用户级 systemd:systemctl --user restart compton。
  • 注意:部分桌面环境(如 GNOME)自带合成器,可能与 Compton 冲突,需先禁用自带合成器或调整其设置。

五 常见问题与排查

  • 会话限制:Wayland 会话下 Compton 通常不可用,请切换到 Xorg 会话;Wayland 可考虑其他复合器。
  • 性能与兼容性:显卡驱动需支持 OpenGL/GLX;如卡顿或异常,可尝试切换后端(如 backend = “xrender”)并减少阴影/动画。
  • 桌面背景异常:启用 ignore_root = true 以忽略根窗口透明度影响。
  • 规则不生效:先用 xprop 确认窗口的 WM_CLASS/WM_NAME,再调整 opacity-rule 的匹配条件。

0