在 Linux 下调试 compton(现已多被 fork 为 picom)通常从日志、配置、进程状态、渲染后端几个方面入手。下面按实用顺序说明。
不要后台启动,直接终端运行:
compton --config ~/.config/compton.conf -b # 先看是否报错
更推荐:
compton --config ~/.config/compton.conf --log-level trace --log-file /tmp/compton.log
或(旧版):
compton -c -f -D 5 --shadow-exclude "n:e:Notification"
查看日志:
tail -f /tmp/compton.log
log-level 可选:
errorwarninfodebugtrace(最详细)ps aux | grep compton
或:
pgrep -a compton
如果有多个实例,先杀掉:
pkill compton
先用一个最小配置排除配置问题:
# ~/.config/compton.conf
backend = "glx";
glx-no-stencil = true;
shadow = false;
fade = false;
unredir-if-possible = true;
然后运行:
compton --config ~/.config/compton.conf
如果这样正常,再逐步加功能(阴影、模糊、淡入)。
尝试:
backend = "xrender";
或:
backend = "glx";
vsync = "none";
shadow = true;
shadow-exclude = [
"name = 'Notification'",
"class_g = 'Conky'"
];
调试:
compton --shadow --shadow-radius=0
确认:
unredir-if-possible = true 导致全屏 bypass尝试:
backend = "glx";
glx-no-rebind-pixmap = true;
或降级到:
backend = "xrender";
xwininfo
xprop
例如:
xprop | grep WM_CLASS
用于写 class_g 排除规则。
如果你用的是 picom(推荐):
picom --experimental-backends --backend glx --log-level trace
配置文件:
~/.config/picom/picom.conf
✅ 只有 一个 compton 实例
✅ 使用 --log-level trace
✅ 最小配置先跑通
✅ backend 正确(glx / xrender)
✅ 显卡驱动正常(glxinfo)
如果你愿意,可以贴出:
我可以帮你精确定位问题。