一、准备工作:安装Compton与定位配置文件
想玩转Compton的阴影效果,第一步自然是把它装进系统。不同发行版命令略有差异:Debian/Ubuntu用户敲sudo apt-get install compton,Arch Linux用户则用sudo pacman -S compton。装完之后,配置文件通常放在两个地方:~/.config/compton.conf(用户级,优先读取)和/etc/xdg/compton.conf(系统级)。如果这两个文件都不存在,手动创建一个就行——别担心,后面会给出完整示例。

二、基础阴影设置:启用与核心参数调整
阴影效果不是一装就好,得手动打开开关。先看几个关键参数:
- 启用阴影:在配置文件中写一句
shadow = true(默认是关闭的,这一步相当于开了闸)。 - 阴影不透明度:用
shadow-opacity控制,取值范围0.0到1.0,0代表完全透明,1代表完全不透明。经验值在0.5-0.75之间,既能看清阴影,又不至于太扎眼。 - 阴影模糊半径:
shadow-radius决定阴影的柔和程度,单位是像素。数字越大,边缘越模糊。推荐5-12,太小了阴影生硬,太大了可能影响性能——尤其是老机器。 - 阴影偏移量:通过
shadow-offset-x(水平)和shadow-offset-y(垂直)调整。负值表示阴影向窗口内侧偏移,正值向外侧。通常推荐-10至-20,模拟真实光源从上方照射的效果,避免阴影遮挡窗口内容。比如下面这个配置:
shadow = true
shadow-opacity = 0.7
shadow-radius = 10
shadow-offset-x = -15
shadow-offset-y = -15
三、阴影排除:避免不必要元素的阴影
不是所有窗口都需要阴影。通知中心、状态栏、视频播放窗口这些地方加上阴影反而碍眼。通过shadow-exclude可以精准排除:
- 按窗口类名排除:
class_g = 'Notification'(通知窗口)、class_g = 'Polybar'(状态栏); - 按窗口名称排除:
name = 'Firefox'(特定应用,注意需确认窗口的真实名称); - 按窗口角色排除:
role = 'menu'(下拉菜单)。
示例:
shadow-exclude = [
"class_g = 'Notification'",
"class_g = 'Polybar'",
"name = 'Firefox'"
]
四、性能优化:平衡效果与流畅度
好看的阴影背后是性能的代价,尤其在高分辨率或老旧显卡上。这里有几个优化方向:
- 选择高性能后端:优先使用
glx后端(支持GPU加速),而不是xrender(纯CPU渲染)。设置backend = "glx",流畅度立竿见影。 - 启用垂直同步(VSync):
vsync = true可以减少屏幕撕裂,动画更顺滑。 - 禁用不必要的特效:如果不需要窗口透明度,直接设置
opacity = 1.0;不需要背景模糊,就设blur-background = false。别让系统做无谓的运算。 - 优化模糊算法:如果确实需要背景模糊,选择高效的
kawase算法(blur-method = "kawase"),并调整强度blur-strength = 5(值越小越模糊,但性能开销也越小)。
五、进阶调整:个性化阴影效果
基础参数调好了,想玩点花样?这几个选项能让阴影更贴合你的桌面主题:
- 阴影颜色:
shadow-color支持十六进制颜色值,比如#00000080表示半透明黑色。默认就是黑色,但浅色主题下可以换成#33333380,显得更柔和。 - 阴影指数:
shadow-exponent控制阴影的衰减速度——值越大,阴影边缘过渡越快。推荐3-5,默认是3,适合大多数场景。 - 窗口透明度规则:通过
opacity-rule可以为特定应用设置透明度(比如终端半透明),示例:
opacity-rule = [
"90:class_g = 'Alacritty'", # Alacritty终端透明度90%
"100:class_g = 'Firefox'" # Firefox完全不透明
]
六、应用与调试配置
改完配置,需要重启Compton才能生效。最直接的方式:killall compton && compton &。如果系统有服务管理器,也可以用systemctl restart compton。如果遇到问题(比如后端不支持、窗口排除规则无效),启动时加上--log-level DEBUG参数,比如compton --config ~/.config/compton.conf --log-level DEBUG,查看日志就能定位原因。调试起来并不复杂,别怕折腾。