- 首页 >
- 问答 >
-
智能运维 >
- Linux Compton与Mutter的冲突怎么办
Linux Compton与Mutter的冲突怎么办
小樊
31
2025-12-06 05:10:24
根因与取舍
- Mutter 是 GNOME 的窗口管理器兼合成器,负责窗口布局、输入与桌面合成;Compton 是第三方 X11 合成器,提供阴影、透明等效果。两者在同一会话里同时接管合成会争抢同一职责,典型现象是撕裂、卡顿、闪屏或桌面失效。正确做法是:在 GNOME(X11 会话) 中保留 Mutter,要么禁用 Compton;要么切换到非 GNOME 的窗口管理器(如 Openbox/i3),由 Compton 负责合成。
场景化解决方案
- 使用 GNOME(默认会话)
- 仅保留 Mutter:停止并禁用 Compton,避免双重合成。
- 若需要阴影/透明等效果,优先使用 GNOME 内置的外观设置或扩展,而不是再叠加一个合成器。
- 使用 i3/Openbox 等非 GNOME 窗口管理器
- 由 Compton 负责合成,保持 Mutter 不启动(或不在该会话中运行)。
- 使用 Wayland
- Compton 仅支持 X11,在 Wayland 会话中不会工作;请使用 Mutter(GNOME on Wayland)或其他 Wayland 合成器。
快速排查与修复步骤
- 确认会话与合成器
- 查看是否在 GNOME:echo $XDG_CURRENT_DESKTOP(应为 GNOME);echo $XDG_SESSION_TYPE(x11 或 wayland)。
- 查看进程:pgrep -x compton;pgrep -x mutter。
- 停止冲突并只保留一个合成器
- 仅用 Mutter:killall compton(必要时放到会话退出脚本中防止自启)。
- 仅用 Compton:killall mutter(仅在非 GNOME 会话中执行)。
- 防止自启
- 若通过登录自启脚本(如 ~/.xprofile、~/.xinitrc)或会话服务启动了 Compton,请移除相关条目。
- 替代与回退
- 若 Compton 与系统组件仍有兼容性问题,可改用 picom(Compton 的精神继任者)或 xcompmgr 等替代合成器。
Compton 最小可用配置示例
- 仅保留必要效果,减少与 Mutter 的潜在冲突面;将文件保存为 ~/.config/compton.conf:
- backend = “glx”
- vsync = true
- shadow = false
- fading = false
- opacity = false
- 应用与热替换
- 启动:compton --config ~/.config/compton.conf
- 替换当前合成器:compton --replace
- 退出:killall compton
- 提示:在 GNOME 会话中请勿同时运行 Compton;在 i3/Openbox 中可按需开启/关闭阴影、透明度等特效以平衡性能与观感。