温馨提示×

如何调试ubuntu compton

小樊
45
2026-09-04 01:06:23
栏目: 智能运维

在 Ubuntu 上调试 compton(或它的继任者 picom)通常需要从日志、配置、渲染后端、 compositor 冲突几个方面入手。下面给你一套比较系统的调试方法。


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

很多 Ubuntu 仓库里的 compton 实际已经是 picom 分支:

compton --version
picom --version

如果提示 picom,建议直接用 picom(功能更全、bug 更少)。


二、用命令行前台运行(最关键)

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

compton --config ~/.config/compton.conf -f

或 picom:

picom --config ~/.config/picom.conf -f

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

  • 配置语法错误
  • backend 不支持
  • 和已有 compositor 冲突

三、开启调试日志

compton

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

picom

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

然后:

tail -f /tmp/picom.log

四、检查是否有其他 compositor 冲突

Ubuntu 常见冲突来源:

  • GNOME 自带的 compositor
  • xfwm4(XFCE)
  • mutter
  • kwin

如果你用的是 GNOME on X11,通常不需要 compton,否则会卡顿或黑屏。

查看当前 compositor:

xprop _NET_WM_CM_OWNER

如果有输出,说明已经有 compositor 在运行。


五、最小化配置测试

用一个极简配置排除问题:

backend = "glx";
vsync = true;

或 xrender(更稳):

backend = "xrender";

然后逐步加功能(阴影、模糊、透明)。


六、常见问题速查

1. 黑屏 / 闪屏

  • 换 backend:
    backend = "xrender";
    
  • 禁用 fade:
    fading = false;
    

2. 窗口透明失效

确认:

opacity-rule = [
  "90:class_g = 'Firefox'"
];

3. CPU 占用高

  • 关闭模糊
  • 使用 xrender
  • 禁用 shadow

4. NVIDIA 显卡问题

尝试:

backend = "glx";
glx-no-stencil = true;

或干脆用 xrender


七、systemd / 自动启动调试

如果你是用 .desktop 启动:

cat ~/.config/autostart/compton.desktop

确保:

Exec=picom --config ~/.config/picom.conf

并用:

journalctl --user -b | grep picom

八、推荐替代方案

如果 compton 问题太多,建议:

  • picom(官方维护)
  • Wayland(GNOME / KDE 原生,不需要 compositor)

如果你愿意,可以把:

  • Ubuntu 版本
  • 桌面环境(GNOME / XFCE / KDE)
  • 显卡型号
  • compton 配置

发出来,我可以帮你精准定位问题。

0