Compton 设置透明度其实并不复杂。许多 Linux 用户在美化桌面时,经常需要调整窗口透明度——例如让终端半透明、浏览器呈现朦胧效果,或让特定工具始终保持不透明。Compton 正是实现这些需求的理想工具,其配置方式非常灵活。接下来将详细说明核心步骤与关键参数,按照指引操作即可。

1. 安装Compton
在绝大多数主流 Linux 发行版中,安装 Compton 只需一条命令。例如,Debian/Ubuntu 用户执行 sudo apt update && sudo apt install compton,Fedora 用户执行 sudo dnf install compton,Arch 系用户执行 sudo pacman -S compton。安装完成后运行 compton --version 验证即可。
2. 配置Compton透明度(核心方法)
Compton 的配置文件通常位于 ~/.config/compton.conf,若不存在可手动创建。以下介绍几个最关键的参数,从全局设置到针对性调整,逐步说明。
(1)全局透明度(基础设置)
opacity 参数用于控制所有窗口的基础不透明度,取值范围为 0 到 1,其中 0 表示完全透明,1 表示完全不透明。例如,设为 0.8 即窗口呈现 80% 不透明度,可透视背景。配置写法为:
opacity = 0.8;
部分版本也支持 alpha 参数,效果相同(如 alpha = 0.8)。
(2)针对性窗口透明度(高级设置)
仅设置全局透明度往往不够灵活?此时可使用 opacity-rule 参数,根据窗口类名(class_g)或窗口标题(name)等条件,为不同窗口单独设定透明度。示例如下:
opacity-rule = [
"90:class_g 'Firefox'", # Firefox窗口透明度90%
"90:name 'Terminal'", # 终端窗口透明度90%
"100:class_g 'Xephyr'" # Xephyr窗口完全不透明
];
匹配条件如何获取?最简单的方法是在终端运行 xprop | grep WM_CLASS,然后点击目标窗口,即可输出其类名和实例名。name 字段对应窗口标题,例如 'Terminal' 即终端窗口的标题。
(3)排除特定窗口
某些窗口如 dmenu、polybar,最好保持完全不透明,以免重叠后影响观感。利用 focus-exclude 参数即可排除它们:
focus-exclude = "x 0 && y 0 && override_redirect true";
这条规则的含义是:坐标位于 (0,0) 且 override_redirect 属性为 true 的窗口,将跳过透明度处理。dmenu 默认位于左上角,符合该条件,因此不受影响。
3. 启动Compton并应用设置
(1)手动启动(临时测试)
可先执行一条命令测试效果:compton -c ~/.config/compton.conf。添加 -b 参数可使其在后台运行:compton -b -c ~/.config/compton.conf。测试无误后再考虑设置开机自启。
(2)开机自启动
两种常用方式:
- systemd 服务:创建
/etc/systemd/system/compton.service,内容如下:
[Unit]
Description=Compton Compositor
After=graphical.target
[Service]
ExecStart=/usr/bin/compton -c ~/.config/compton.conf
Restart=always
[Install]
WantedBy=graphical.target
然后执行 sudo systemctl enable compton 和 sudo systemctl start compton 即可启用。
- 桌面环境设置:在 GNOME/KDE 的“启动应用程序”管理器中添加一条启动命令(与手动启动相同),下次登录后会自动运行。
4. 命令行快速调整(无需修改配置文件)
若不想编辑配置文件,可直接带参数启动:compton -b -r 0.5 -i 0.8。其中 -b 表示后台运行,-r 0.5 设置全局阴影透明度为 50%,-i 0.8 设置聚焦窗口透明度为 80%。需要注意的是,这种方式设置的参数仅对当前会话有效,重启后需重新输入。
注意事项
- 显卡驱动:Compton 依赖 OpenGL 和 GLX。先运行
glxinfo | grep "OpenGL version"检查。若输出无版本信息,说明驱动未正确安装,需先解决驱动问题。 - 桌面环境冲突:GNOME 的 Mutter、KDE 的 KWin 均自带合成管理器,与 Compton 冲突,可能引发问题。请前往桌面设置关闭自带合成器。例如 GNOME 中,进入“设置→外观→启用合成器”并关闭。
- 性能优化:透明度效果消耗显卡资源,若感觉卡顿,可降低
blur-radius(模糊半径)或直接关闭阴影(shadow-exclude = ["all"])。流畅度与视觉效果难以兼得,需根据实际情况取舍。
