Compton 与 Wayland 的配合方式
核心结论
- Compton 是 X11 的窗口合成器/渲染器,不能直接替代 Wayland 的 compositor。在 Wayland 会话中,应由各桌面/平铺合成器(如 GNOME Shell、KWin、Sway)负责合成与特效。若希望在 Wayland 下获得类似 Compton 的阴影、透明度、模糊等效果,应直接使用这些合成器提供的功能或相应插件,而不是试图让 Compton 作为 Wayland 合成器运行。Compton 的配置文件通常位于 ~/.config/compton.conf,其典型配置项如 backend = “glx” 也表明它面向 X11 渲染路径。
常见场景与正确做法
- 使用 GNOME(Wayland 会话)
- 直接使用 Mutter(GNOME Shell 的合成器)内置的透明度/模糊能力(如通过 GTK 主题 与扩展实现),无需 Compton。
- 使用 KDE Plasma(Wayland 会话)
- 使用 KWin 的特效与模糊(系统设置 → 外观/桌面效果),无需 Compton。
- 使用 Sway / wlroots 系平铺窗口管理器(Wayland)
- 使用 Sway 自带的 swayfx(或社区 fork)来获得阴影、模糊、圆角等效果;这是与 wlroots 生态匹配的推荐路径。
- 必须使用 X11 才能用 Compton
- 在登录界面切换到 Xorg 会话,再启动 Compton(如手动运行或通过自启动/会话脚本)。Compton 在 X11 下工作稳定,可满足阴影、透明度、淡入淡出等需求。
在 X11 会话中快速启用 Compton(备选)
- 安装与配置
- 安装:sudo apt install compton(Debian/Ubuntu 等),或 sudo pacman -S compton(Arch/Manjaro 等)。
- 配置:编辑 ~/.config/compton.conf,示例关键项:
- backend = “glx”
- shadow-exclude = [ “.*” ]
- fade = true
- opacity = 0.9
- vsync = true
- 启动与自启动
- 手动:运行 compton 或 compton -b(后台)。
- 自启动:创建 ~/.config/autostart/compton.desktop,内容示例:
- [Desktop Entry]
- Type=Application
- Exec=compton
- Hidden=false
- NoDisplay=false
- X-GNOME-Autostart-enabled=true
- Name=Compton
- 验证
- 观察窗口阴影/透明度是否生效;必要时重启会话或重载配置。
常见误区与排查
- 误区一:在 Wayland 会话中“直接运行 Compton”
- 多数情况下不会生效或仅影响极少数 XWayland 窗口,正确做法是使用对应桌面/平铺合成器的特效机制。
- 误区二:将 Compton 当作 Wayland 合成器
- Wayland 的架构要求由 compositor 全权合成,Compton 并非 Wayland compositor,无法替代 Mutter/KWin/Sway 等。
- 排查建议
- 确认当前会话是 Wayland 还是 Xorg(如 echo $XDG_SESSION_TYPE)。
- 在 Xorg 下检查 Compton 是否在运行(如 pgrep compton),必要时用 pkill/kill 后重启。
- 更新系统与相关组件,优先采用合成器原生特效方案以获得更好兼容性与性能。