Ubuntu 下使用 Compton 配置窗口动画
一 原理与适用范围
- Compton 是 X11 的轻量级合成器,负责窗口的合成、淡入淡出、阴影、透明度等视觉特效。它并不提供类似 GNOME/KDE 的窗口“过渡动画”(如最小化/最大化/切换工作区时的缩放或滑入),这类动画由桌面环境自身控制。因此,使用 Compton 能明显优化的是“窗口出现/消失/移动时的淡入淡出与阴影过渡”,而不是完整的窗口管理器级过渡动画。
二 快速启用淡入淡出与阴影
- 安装(若尚未安装):sudo apt update && sudo apt install compton
- 生成默认配置:compton --config > ~/.config/compton.conf
- 编辑配置,开启淡入淡出与阴影(示例):
- 启用淡入淡出:在配置中加入 fade = true;(部分构建还支持 fade-delta = 10 等细项)
- 启用阴影:设置 shadow = true;,可按需调整 shadow-radius、shadow-opacity、shadow-offset-x/y
- 应用与测试:
- 手动启动:compton --config ~/.config/compton.conf
- 观察打开/关闭/移动窗口时的淡入淡出与阴影过渡是否生效
- 说明:上述做法仅影响“窗口内容的淡入淡出与阴影”,不会为最小化/最大化等动作添加缩放或滑入动画。
三 常见动画相关参数与建议值
- 淡入淡出
- 建议:设置 fade = true;;若出现闪烁或卡顿,可适当增大 fade-delta(如 10–16 ms)以让过渡更平滑(具体可用值取决于构建与硬件)。
- 透明度与过渡
- 使用 opacity-rule 为特定应用设置常态透明度,配合淡入淡出可获得更自然的视觉过渡,例如:
- opacity-rule = [ “class_g=‘Firefox’ window_opacity 0.9”, “class_g=‘Chrome’ window_opacity 0.9” ];
- 阴影
- 建议:开启 shadow = true;,并按需微调 shadow-radius(如 5–12)、shadow-opacity(如 0.3–0.6)、shadow-offset-x/y(如 0/1 或 1/1),使窗口边界过渡更柔和。
四 启动与排错
- 开机自启(会话级,推荐)
- 在桌面环境的“启动应用程序”中加入:compton --config ~/.config/compton.conf
- 不同桌面(如 GNOME/KDE/XFCE)添加方式略有差异,但均为在会话启动时执行上述命令。
- 手动运行与验证
- 终端执行:compton --config ~/.config/compton.conf
- 关闭现有 Compton 进程后再启动,避免多实例冲突(可用 killall compton 结束旧进程)。
- 查看运行状态
- 使用:ps -e | grep compton 检查是否已运行
- 故障排查
- 若合成未生效,优先检查是否运行在 X11(Compton 不适用于 Wayland);必要时更换渲染后端(如 backend = “glx”; 或 “xrender”;)以兼顾性能与兼容性。