在 Debian 中配置 Compton 透明度的实用步骤
一 安装与准备
- 在终端执行安装:sudo apt update && sudo apt install compton。安装完成后建议先关闭现有桌面自带的合成器(如 GNOME 的 Mutter),避免与 Compton 冲突。Compton 主要面向 X11 会话,若在 Wayland 会话下通常无法生效。
二 创建配置文件并设置透明度
- 生成配置文件:mkdir -p ~/.config && nano ~/.config/compton.conf。
- 常用透明度配置示例(按需在配置文件中写入):
- 全局窗口透明度(示例为 90%):在配置中加入 opacity = 0.9;或在启动命令中使用 -i 0.9。
- 按窗口规则设置透明度(示例):opacity-rule = [ “90:class_g ‘Firefox’”, “90:name ‘Terminal’”, “100:class_g ‘Xephyr’” ](含义:Firefox 与终端为 90%,Xephyr 为 100% 不透明)。
- 聚焦/失焦差异化透明度(示例):opacity-rule = [ “90:name *? ‘VIM’ && focused”, “60:name *? ‘VIM’ && !focused” ](聚焦 90%,失焦 60%)。
- 让特定弹出层/菜单保持不透明(示例):focus-exclude = “x 0 && y 0 && override_redirect true”(常用于 dmenu 等)。
三 启动与开机自启
- 手动启动以测试:compton --config ~/.config/compton.conf -b(-b 表示后台运行)。
- 使配置生效的常用方式:
- 先结束旧进程再启动:killall compton && compton --config ~/.config/compton.conf -b。
- i3 窗口管理器:在 ~/.config/i3/config 中加入 exec_always compton -b。
- 使用 systemd 用户服务(可选):创建 ~/.config/systemd/user/compton.service,内容示例:
- [Unit]
Description=Compton composite manager
After=graphical-session.target
- [Service]
ExecStart=/usr/bin/compton --config %h/.config/compton.conf -b
Restart=always
- [Install]
WantedBy=default.target
然后执行:systemctl --user daemon-reload && systemctl --user enable --now compton。注意大多数桌面并不提供系统级 compton.service,推荐使用用户级服务或会话启动脚本。
四 常见问题与优化
- 桌面环境冲突:GNOME/KDE/Xfce 自带合成器可能与 Compton 冲突,需在系统设置中关闭自带合成或改用纯 X11 会话再启用 Compton。
- 性能与渲染后端:若显卡与驱动支持 OpenGL,优先使用 backend = “glx”;兼容性不佳时可改为 xrender。可结合 vsync、shadow 等选项按硬件与偏好调优。
- 特定程序不透明:对 dmenu、rofi、锁屏等弹出层,使用 focus-exclude 或 opacity-rule 将其设为 100% 不透明,避免可读性或输入问题。
- 获取窗口类名/名称:可用 xprop 工具查看目标窗口的 WM_CLASS(对应 class_g)或 WM_NAME(对应 name),以便编写精确的 opacity-rule。