在 Linux 桌面环境下折腾久了,对 Compton 这款独立合成管理器应该都不陌生。它能让窗口带阴影、透明、平滑切换,整个视觉效果直接上一个档次。不过默认配置往往不够用,得自己动手调一调。这篇文章就把 Compton 配置从头到尾理一遍,从安装、参数说明到可直接套用的模板,再到调试技巧,一次性梳理清楚。

安装与配置文件位置
安装 Compton 很简单,不同发行版就一条命令的事:
- Debian/Ubuntu 系用
sudo apt-get install compton - Arch 系用
sudo pacman -S compton - Fedora/RHEL 系用
sudo dnf install compton
配置文件优先放用户目录:~/.config/compton.conf,系统级备选是 /etc/xdg/compton.conf。如果文件不存在,直接新建一个就行。首次启动可以用这条命令前台运行,方便观察日志和效果:
compton --config ~/.config/compton.conf -b
配置结构与常用参数
Compton 的配置围绕几个核心方向展开:渲染后端、垂直同步、阴影、透明度、淡入淡出、背景模糊,以及按窗口规则定制行为。下面逐个拆解。
核心参数
backend:渲染后端,常用glx(性能更好,但需要显卡驱动支持)或xrender(兼容性更稳)。vsync:垂直同步,可选true、false或opengl-swc,主要用来减少画面撕裂,具体选哪个得看硬件和驱动。shadow:是否给窗口加阴影,最基础的视觉开关。
透明度与淡化
inactive-opacity/active-opacity:非活动窗口和活动窗口的透明度,比如设成 0.9 / 1.0,非活动窗口半透明,视觉效果更清爽。fade = true配合fade-delta、fade-in-step、fade-out-step:窗口切换时的淡入淡出动画,调好了非常丝滑。
阴影细节
shadow-radius、shadow-offset-x、shadow-offset-y、shadow-opacity:控制阴影的圆角大小、偏移方向和透明度。shadow-exclude:按窗口属性排除阴影,比如通知弹窗、桌面组件这些通常不需要阴影。
背景模糊
blur-background、blur-background-frame、blur-background-fixed:控制窗口背景模糊、标题栏模糊以及固定区域模糊。blur-kern:模糊核,常用3x3box。blur-background-exclude:排除特定类型窗口,比如 dock、desktop 这些不需要模糊的场景。
规则与调试
opacity-rule:按窗口类或名称单独设置不透明度,比如"90:class_g 'Firefox'"让 Firefox 半透明。- 日志与诊断:通过
--log-file、--log-level、--log-color定位问题,调试时非常有用。
三个可直接使用的配置模板
光看参数不够直观,直接上三个模板,覆盖从性能优先到日常通用再到定制化场景。
模板A 性能优先(轻量、稳定)
backend = "xrender"
vsync = false
shadow = false
fading = false
blur-background = false
inactive-opacity = 1.0
关闭阴影、模糊和淡化,用 xrender 后端,适合老旧显卡或对 CPU 负载敏感的场景。
模板B 平衡模式(日常通用)
backend = "glx"
vsync = "opengl-swc"
shadow = true
shadow-radius = 12
shadow-offset-x = -15
shadow-offset-y = -15
shadow-opacity = 0.5
shadow-exclude = [
"name = 'Notification'",
"class_g = 'Conky'",
"class_g ?= 'Notify-osd'",
"class_g = 'Cairo-clock'"
]
fading = true
fade-delta = 5
fade-in-step = 0.03
fade-out-step = 0.03
blur-background = true
blur-background-frame = true
blur-background-fixed = false
blur-kern = "3x3box"
blur-background-exclude = [
"window_type = 'dock'",
"window_type = 'desktop'"
]
inactive-opacity = 0.9
active-opacity = 1.0
启用阴影和轻度背景模糊,用 glx 加 opengl-swc 减少撕裂,适合大多数桌面环境,兼顾视觉效果和性能。
模板C 按应用定制透明度(工作区优化)
backend = "glx"
vsync = true
shadow = true
inactive-opacity = 0.95
active-opacity = 1.0
opacity-rule = [
"90:class_g 'Firefox'",
"92:class_g 'Alacritty'",
"95:class_g 'Thunderbird'
]
通过 opacity-rule 为不同应用设置不同的不透明度,兼顾可读性和视觉层次感。
应用与排错
配置写好了,怎么让它跑起来?
应用配置
- 手动重启:
pkill compton && compton --config ~/.config/compton.conf -b。 - 如果用了 Systemd 服务:
sudo systemctl restart compton。
开机自启
创建服务文件 /etc/systemd/system/compton.service:
[Unit]
Description=Compton Window Composer
After=xorg.service
[Service]
ExecStart=/usr/bin/compton --config /etc/compton.conf
Restart=on-failure
[Install]
WantedBy=multi-user.target
然后启用:sudo systemctl daemon-reload && sudo systemctl enable compton --now。
调试技巧
- 前台运行观察输出:
compton --config ~/.config/compton.conf -b。 - 加日志定位问题:
--log-file /tmp/compton.log --log-level 7,根据日志调整 backend、vsync 以及各特效开关。
性能与兼容性建议
最后说几条实践总结。优先选择 backend = "glx" 并搭配 vsync = "opengl-swc" 或 true,能有效减少画面撕裂。如果出现卡顿或花屏,果断回退到 xrender,同时关闭模糊和阴影,基本能解决问题。
不必要的特效关掉就是赚到——shadow = false、blur-background = false、fading = false 这三个开关对性能影响最明显。
善用 shadow-exclude 和 blur-background-exclude,精准排除 dock、desktop、notification 这些窗口,避免无效渲染,既省资源又能避免奇怪的显示问题。
显卡驱动和 DRI3/OpenGL 的状态会直接影响 Compton 的稳定性,必要时更新驱动,或者在不同的 vsync 取值之间多试几次,总能找到最适合当前硬件的组合。