在 Ubuntu 上使用 Compton 实现窗口透明度
一 安装与准备
- 在终端执行安装命令:sudo apt update && sudo apt install compton。
- 若使用 GNOME 等自带合成器的桌面环境,需先关闭其内置合成以避免冲突(可在系统设置或相应扩展中禁用)。
- 确保你的显卡驱动支持 OpenGL/GLX,否则透明与渲染效果可能异常或性能较差。
二 配置透明度
- 创建或编辑配置文件:mkdir -p ~/.config && nano ~/.config/compton.conf。
- 常用做法一(按窗口规则设置):使用 opacity-rule 精确控制不同应用的透明度,例如:
opacity-rule = [
“90:class_g ‘Firefox’”, # 类名为 Firefox 的窗口透明度 90%
“90:name ‘Terminal’”, # 名称为 Terminal 的窗口透明度 90%
“100:class_g ‘Xephyr’” # 类名为 Xephyr 的窗口保持不透明
];
- 常用做法二(全局与不聚焦透明度):设置全局与不聚焦窗口的透明度,例如:
inactive-opacity = 0.5 # 非聚焦窗口 50% 不透明
active-opacity = 0.8 # 聚焦窗口 80% 不透明
- 可选:排除特定窗口(如位于左上角的 dmenu)使其不透明:
focus-exclude = “x 0 && y 0 && override_redirect true”
三 启动与开机自启
- 前台测试:运行 compton --config ~/.config/compton.conf,确认透明度生效。
- 后台常驻:运行 compton -b(或 compton --config ~/.config/compton.conf -b)。
- 开机自启示例:
- Openbox:在 ~/.config/openbox/autostart 添加:compton -c ~/.config/compton.conf &
- i3wm:在 ~/.config/i3/config 添加:exec --no-startup-id compton -c ~/.config/compton.conf
- 修改配置后使生效:可重启会话,或执行 pkill compton && compton --config ~/.config/compton.conf。
四 常见问题与优化
- 合成器冲突:若使用 GNOME/KDE/Xfce 等自带合成器,需先关闭其内置合成功能,再启用 Compton。
- 性能与渲染:优先选择 backend = “glx”;必要时开启 vsync = true 减少撕裂(可能略降性能)。
- 快速调整:也可通过命令行临时覆盖部分参数,例如:compton -b -r 0.5 -i 0.8(示例含义依版本而定,建议以配置文件为主)。