温馨提示×

如何调试linux compton参数

小樊
44
2026-09-27 23:01:33
栏目: 智能运维

在 Linux 下调试 compton(或它的继任者 picom)参数,核心思路是:前台运行 + 打开日志 + 逐项验证参数 + 用工具观察效果。下面按实用流程说明。


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

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

which compton picom
compton --version
picom --version

以下以 compton 为例,picom 参数基本兼容。


二、最关键的调试方式:前台运行 + 日志

不要直接后台启动,否则看不到错误。

1. 先杀掉已有实例

pkill compton
pkill picom

2. 前台运行并打开调试日志

compton --config ~/.config/compton.conf -b=false --log-level trace --log-file /tmp/compton.log

或简单点:

compton --config ~/.config/compton.conf --show-all-errors -D 5

参数说明:

  • --log-level trace:最详细日志
  • --show-all-errors:显示配置错误
  • -D 5:淡入淡出延迟(方便观察)

观察日志:

tail -f /tmp/compton.log

三、用最小配置逐步调试

不要一上来用复杂配置,建议从最小可用配置开始:

示例最小 compton.conf

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

shadow = false;
fade = false;
inactive-opacity = 1.0;

然后逐步开启:

  • shadow = true
  • blur-background = true
  • opacity-rule

每改一项,重启 compton 观察效果。


四、常见调试场景与对应参数

1. 窗口闪烁 / 卡顿

vsync = true;
unredir-if-possible = true;

或尝试:

backend = "xrender";

2. 阴影异常

shadow = true;
shadow-radius = 12;
shadow-offset-x = -2;
shadow-offset-y = -2;
shadow-opacity = 0.5;
shadow-exclude = [
  "class_g = 'Dock'",
  "window_type = 'dock'"
];

3. 透明不生效

确认:

  • 窗口本身支持透明
  • 没有冲突规则
opacity-rule = [
  "90:class_g = 'Alacritty'",
  "80:class_g = 'Firefox'"
];

4. 全屏游戏卡

unredir-if-possible = true;

五、实时验证窗口属性(非常重要)

用 xprop 看窗口类:

xprop

点击窗口,看:

  • WM_CLASS
  • _NET_WM_WINDOW_TYPE

用于写 shadow-exclude / opacity-rule。


六、图形化辅助工具

  • compton-conf(LXQt)
  • picom-conf(部分发行版)
  • xwininfo / xprop 查窗口信息

七、常见坑总结

  1. 多个 compton 同时运行
    ps aux | grep compton
    
  2. 桌面环境自带合成器冲突(KWin / Mutter)
  3. NVIDIA 用户优先试 backend = "glx"
  4. Wayland 不支持 compton(只用 X11)

如果你愿意,可以:

  • 贴出你的 compton.conf
  • 说明 桌面环境 + 显卡
  • 描述具体异常现象

我可以直接帮你改一份“可调试版”配置。

0 踩