温馨提示×

linux compton配置如何调试

小樊
35
2026-09-15 22:25:37
栏目: 智能运维

在 Linux 下调试 compton(或它的继任者 picom)配置,通常可以从日志输出、配置校验、逐步排查几个方面入手。下面按实用顺序说明。


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

很多发行版已经用 picom(compton 的 fork):

which compton
which picom
  • picom → 用 picom
  • 只有 compton → 老版本,但调试方式类似

下文以 picom / compton 通用说明。


二、用命令行前台运行(最重要)

不要直接后台启动,先在前台看报错:

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

或 picom:

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

如果有错误,会直接打印在终端。


三、开启调试日志

1. 提高日志级别

compton --log-level debug

或 picom:

picom --log-level debug

2. 输出日志到文件

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

然后:

tail -f /tmp/picom.log

四、常用调试参数

参数 作用
--no-daemon 前台运行
--diagnostics 打印系统/配置诊断信息(picom)
--print-errors 显示 X 错误
--config /path 指定配置文件
--version 确认版本

示例:

picom --no-daemon --diagnostics

五、最小化配置测试法(强烈推荐)

如果配置不生效或崩溃:

1. 先写一个最小配置

~/.config/picom.conf

backend = "glx";
vsync = true;

运行:

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

2. 逐步加功能

依次加入:

  • 阴影
  • 模糊
  • 透明
  • 规则(opacity / shadow-exclude)

每加一项就重启一次,快速定位问题。


六、常见问题排查清单

1. 黑屏 / 闪屏

  • 换 backend:
backend = "xrender";

backend = "glx";
  • 关闭 vsync 测试:
vsync = false;

2. 透明不生效

确认:

  • 窗口管理器支持 compositing
  • 没有冲突的 compositor(如 xcompmgr)
ps aux | grep -E "compton|picom|xcompmgr"

3. 某些窗口异常

xprop 获取窗口类:

xprop

点击窗口,看:

WM_CLASS(STRING) = "firefox", "Firefox"

然后在配置中排除:

shadow-exclude = [
  "class_g = 'Firefox'"
];

4. NVIDIA 用户

尝试:

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

七、查看是否已运行(避免重复)

pgrep -a picom

重启前先杀掉:

killall picom

八、示例调试流程(推荐)

killall picom
picom --no-daemon --log-level debug --config ~/.config/picom.conf

观察:

  • 是否报错
  • 是否某一行配置导致退出
  • 是否窗口行为异常

如果你愿意,可以把:

  • 发行版
  • 窗口管理器(i3 / bspwm / openbox 等)
  • 显卡
  • 当前配置内容

发出来,我可以帮你逐行审查配置

0