Compton 的配置难度属于中等偏易,核心在于理解它的配置逻辑。 对于大多数用户来说,只要掌握几个关键参数,就能获得比默认效果好得多的体验。
Compton 是一个轻量级的 X11 合成管理器(Compositor),主要用于提供窗口透明、阴影、淡入淡出动画和画面撕裂修复。虽然它功能强大,但配置过程确实有一些“坑”需要注意。
以下是详细的难度分析和上手指南:
compton & 就能启动,默认配置通常就能解决画面撕裂问题。~/.config/compton.conf。如果文件不存在,你需要手动创建,或者从 /etc/xdg/compton.conf 复制一份。shadow-radius, fade-delta, backend 等),新手容易眼花缭乱。glx 或 xrender 后端。选错了后端可能导致无法启动或性能低下。ForceCompositionPipeline 使用。如果你正在使用 Arch Linux、Debian 或 Ubuntu,建议直接安装 Picom。Picom 是 Compton 的一个活跃分支,修复了很多 Bug,配置更友好。
# Arch/Manjaro
sudo pacman -S picom
# Ubuntu/Debian
sudo apt install picom
创建配置文件 ~/.config/picom/picom.conf(注意:Picom 的路径通常是 picom 文件夹,而老版 Compton 是 compton.conf 根文件)。
这里是一个**“开箱即用”的舒适配置**,解决了最常见的需求(去撕裂、阴影、透明):
# 关闭配置文件版本检查(避免报错)
compton_version = "1";
# 后端选择:glx 性能较好,xrender 兼容性较好
backend = "glx";
# 开启垂直同步(解决画面撕裂)
vsync = true;
# 阴影设置
shadow = true;
shadow-radius = 7;
shadow-offset-x = -7;
shadow-offset-y = -7;
shadow-opacity = 0.75;
# 窗口透明度(聚焦的窗口不透明,非聚焦的稍微透明)
opacity-rule = [
"90:class_g = 'URxvt'",
"90:class_g = 'XTerm'"
];
# 淡入淡出动画
fading = true;
fade-delta = 4;
# 排除特定窗口(比如全屏游戏不要阴影,dock栏不要透明)
shadow-exclude = [
"class_g = 'Conky'",
"class_g = 'Krunner'",
"_NET_WM_STATE@:32a *= '_NET_WM_STATE_FULLSCREEN'"
];
# 防止黑屏或闪烁(非常重要!)
unredir-if-possible = false;
在你的 ~/.xinitrc 或 i3/bspwm 的启动脚本中加入:
picom --experimental-backends &
注:较新版本的 Picom 使用 --experimental-backends 来获得更好的模糊效果。
| 问题 | 原因 | 解决方案 |
|---|---|---|
| 启动报错 | 配置文件语法错误 | 检查是否有多余的逗号或缺少分号。Picom 通常需要 JSON 格式(花括号包裹)。 |
| 画面撕裂 | 后端或显卡设置不对 | 尝试 backend = "xrender";NVIDIA 用户需在 nvidia-settings 中开启 Force Full Composition Pipeline。 |
| 全屏视频/游戏闪烁 | 合成器干扰 | 在配置中加入 unredir-if-possible = true; 或排除全屏应用。 |
| 透明不生效 | 终端模拟器设置 | 确保终端(如 Alacritty, Kitty)自身的配置文件中开启了 transparency 或 background_opacity。 |
如果你告诉我你使用的发行版(如 Arch, Ubuntu)和桌面环境(如 i3, bspwm, 还是 GNOME/KDE),我可以给你更精确的命令。