温馨提示×

怎样调试linux compton

小樊
38
2026-09-06 21:17:09
栏目: 智能运维

在 Linux 上调试 compton(或它的继任者 picom)通常是为了解决:

  • 透明/阴影异常
  • 闪屏、卡顿
  • 多显示器问题
  • 与其他窗口管理器/合成器冲突

下面是系统性的调试方法。


一、确认你用的是 compton 还是 picom

compton --version
picom --version
which compton picom

注意:compton 已停止维护,picom 是其活跃分支,命令参数基本一致。


二、以“前台调试模式”运行(最重要)

不要后台运行,直接前台启动看日志:

compton --config ~/.config/compton.conf -b false

或(picom):

picom --config ~/.config/picom.conf --no-daemon

观察终端输出,常见错误:

  • 配置语法错误
  • backend 不支持
  • GLX / EGL 初始化失败

三、开启详细日志

compton --log-level trace --log-file /tmp/compton.log

picom --log-level trace --log-file /tmp/compton.log

然后查看:

tail -f /tmp/compton.log

四、最小化配置排除法

先用最小配置测试:

backend = "glx";
vsync = true;

或 xrender(更稳定但功能少):

backend = "xrender";

再逐步加:

  • shadow
  • fade
  • opacity-rule
  • blur

五、常见调试场景与解决

1️⃣ 闪屏 / 撕裂

vsync = true;

或尝试:

backend = "xrender";

NVIDIA 用户:

backend = "glx";
glx-swap-method = "buffer-age";

2️⃣ 透明不生效

检查:

xprop _NET_WM_WINDOW_OPACITY

确认窗口管理器支持:

  • i3 / bspwm / openbox ✅
  • 某些 DE(GNOME/KDE)自带合成器 ❌(需关闭)

3️⃣ 多显示器异常

xinerama-shadow-crop = true;

或指定输出:

--output eDP1

4️⃣ 与桌面环境冲突

如果你在:

  • GNOME → 用 mutter
  • KDE → 用 kwin
  • XFCE → 关掉自带合成器
killall xfwm4 compositor

六、使用环境变量调试

export LIBGL_DEBUG=verbose
compton

或 OpenGL:

export MESA_DEBUG=1

七、检查 X11 / GPU

glxinfo | grep "OpenGL"
nvidia-smi

八、快速排错清单 ✅

  • [ ] 是否只运行一个合成器
  • [ ] 是否前台运行看日志
  • [ ] 是否最小配置可复现
  • [ ] backend 是否匹配显卡
  • [ ] 是否 DE 自带合成器冲突

如果你愿意,可以贴出:

  • 发行版
  • 显卡
  • 窗口管理器
  • 当前 compton.conf

我可以直接帮你改配置。

0