Ubuntu下Compton与Wayland的协同工作指南
一、核心结论与前提
- Compton 是 X11 的窗口合成器,不充当 Wayland 合成器。在 Wayland 会话中应由 GNOME Mutter / KWin / Sway 等负责合成;Compton 通常仅在 Xorg 会话中启用。若你使用的是 Ubuntu 22.04 及以上,系统常默认提供 Picom(Compton 的活跃分支),其配置与 Compton 基本兼容,但同样仅用于 X11。在 Wayland 下尝试直接运行 Compton 通常不会生效或没有意义。
二、在 Ubuntu 上的正确做法
- 使用 Wayland 会话
- 在登录界面齿轮图标中选择 Ubuntu(Wayland) 会话,之后由 Mutter 负责合成与特效;无需也不能再单独运行 Compton/Picom。
- 需要使用 Compton/Picom 的场景
- 登出,在登录界面切换到 Ubuntu on Xorg 会话,再启动 Compton/Picom(见下一节)。
- 关于后端参数的澄清
- 常见误区是给 Compton 加上 –backend=wayland 参数。Compton 并不实现 Wayland 合成器协议,该参数并不能让其在 Wayland 会话中接管合成;在 Wayland 下应依赖桌面自带的合成器。
三、在 Xorg 会话中启用 Compton 或 Picom
- 安装
- Ubuntu/Debian 系可直接安装:sudo apt update && sudo apt install picom(若仓库无 Compton,可用 Picom 替代,配置兼容)。
- 配置
- 配置文件:~/.config/compton.conf(不存在则创建)。可按需开启阴影、透明度、模糊等;示例:
- shadow = true;
- blur-background = false;
- fade = true;
- 启动与自启
- 手动启动:compton --config ~/.config/compton.conf -b
- 设置自启(会话级):将启动命令加入 ~/.xprofile 或桌面会话的自动启动脚本中,例如:
- echo “compton --config ~/.config/compton.conf -b &” >> ~/.xprofile
- 验证
- 查看进程:pgrep -x compton || pgrep -x picom
- 查看日志(便于排错):compton --config ~/.config/compton.conf -b --log-level info --log-file /tmp/compton.log
- 与桌面合成器的冲突
- 在 Xorg 下若同时启用桌面自带合成器(如 GNOME 的 Mutter),可能与 Compton/Picom 冲突,导致黑屏、卡顿或无特效;应仅保留一个合成器运行。
四、常见问题与排查
- 在 Wayland 会话中运行了 Compton 但没有效果
- 这是预期行为;Wayland 会话应由 Mutter/KWin/Sway 合成。请切换到 Xorg 会话再使用 Compton/Picom。
- 在 Xorg 会话中没有透明/阴影/模糊
- 检查是否真的在 Xorg 会话;确认 compton/picom 进程存在;查看日志是否有报错;确保配置文件路径与语法正确;避免与其他合成器并存。
- 想要更好的 Wayland 体验
- 优先使用 Wayland 原生合成器(如 Mutter/KWin/Sway),并根据桌面环境调整特效与性能策略;Compton/Picom 仅作为 X11 的可选优化方案。