温馨提示×

Linux Compton与Mutter的冲突怎么办

小樊
31
2025-12-06 05:10:24
栏目: 智能运维

根因与取舍

  • MutterGNOME 的窗口管理器兼合成器,负责窗口布局、输入与桌面合成;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(x11wayland)。
    • 查看进程: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 中可按需开启/关闭阴影、透明度等特效以平衡性能与观感。

0