温馨提示×

怎么调试ubuntu compton

小樊
48
2026-09-13 01:15:06
栏目: 智能运维

在 Ubuntu 上调试 compton(或已更名为 picom) 可以从日志、配置、进程、渲染后端几个方面入手。下面给你一套比较系统的排查方法。


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

很多 Ubuntu 仓库里:

  • compton 是旧版(基本停更)
  • picom 是新版(fork)
which compton
which picom
compton --version
picom --version

建议优先使用 picom:

sudo apt install picom

二、前台运行并查看日志(最重要)

不要后台启动,先前台跑,看报错:

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

或(compton):

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

常见有用参数:

picom -b        # 后台
picom --show-all-errors
picom --log-level trace

如果是 systemd 启动失败,看日志:

journalctl --user -xe

三、最小配置测试

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

mkdir -p ~/.config
cat > ~/.config/picom.conf <<EOF
backend = "glx";
vsync = true;
EOF

然后:

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

如果这样能跑,说明原配置有问题。


四、常见错误 & 解决

1. 黑屏 / 无透明

检查:

  • 是否在桌面环境内部运行(不要在 TTY)
  • 是否和桌面合成器冲突(如 GNOME 自带)

GNOME 用户:

gsettings set org.gnome.mutter experimental-features "['scale-monitor-framebuffer']"

或干脆用:

picom --backend xrender

2. GLX 错误

报错类似:

Failed to load backend: glx

解决:

picom --backend xrender

或安装:

sudo apt install mesa-utils libgl1-mesa-dri

3. 多显示器问题

use-damage = true;

或尝试:

unredir-if-possible = false;

4. 高 CPU / 卡顿

vsync = false;
fps-limit = 60;

五、确认是否被其他合成器占用

ps aux | grep -E "compton|picom|mutter|compiz|kwin"

同一时间只能有一个合成器。


六、Autostart 调试(Ubuntu)

如果是开机启动失败:

~/.config/autostart/picom.desktop

内容示例:

[Desktop Entry]
Type=Application
Exec=picom --config ~/.config/picom.conf
Hidden=false

测试:

gtk-launch picom

七、快速自检清单

  • [ ] 用 picom 而不是旧 compton
  • [ ] 前台运行看日志
  • [ ] 用最小配置
  • [ ] backend 改成 xrender 测试
  • [ ] 没有多个合成器冲突
  • [ ] 不是在纯 TTY

如果你愿意,可以把:

  • Ubuntu 版本
  • 桌面环境(GNOME / KDE / XFCE)
  • picom --version
  • 报错日志

贴出来,我可以直接帮你定位。

0 踩