温馨提示×

Compton如何调试

小樊
50
2026-08-06 05:27:12
栏目: 编程语言

“Compton”通常指代 Linux 下的 X11 合成管理器(compton / picom),用于窗口透明、阴影、动画等特效。下面按常见调试场景给你一套实用指南。


一、先确认你用的是哪个 Compton

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

which compton
which picom
  • picom → 用 picom
  • 只有 compton → 老版本(仍可用)

下文以 picom / compton 通用说明。


二、最常用调试方式(必看)

1️⃣ 前台运行 + 输出日志(最重要)

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

picom --no-daemon --backend glx

或:

compton --no-daemon --backend glx

常见错误会直接打印出来,例如:

  • OpenGL 初始化失败
  • 配置文件语法错误
  • 与 NVIDIA / X 不兼容

这是调试的第一步


三、常见调试参数

查看帮助

picom --help
compton --help

常用调试参数

参数 作用
--no-daemon 前台运行
--backend glx 强制 GLX 后端
--backend xrender 更兼容但功能少
--config /path/to/config 指定配置文件
--diagnostics 显示诊断信息(picom)
-D 增加调试输出

示例:

picom --no-daemon --backend xrender --diagnostics

四、配置文件调试

配置文件位置

~/.config/picom/picom.conf
~/.config/compton.conf

常见错误

❌ 缩进错误
❌ 使用了不存在的选项
❌ 新版本 picom 不支持老 compton 语法

✅ 建议:

picom --config ~/.config/picom/picom.conf --no-daemon

如果报错,会指出 哪一行有问题


五、透明 / 阴影 / 闪烁问题调试

1️⃣ 透明不生效

确认:

  • 窗口本身支持透明(如 alacritty, kitty, urxvt
  • 没有 opacity-rule 覆盖

测试:

picom --no-fading-openclose --no-shadow

2️⃣ 屏幕闪烁 / 黑屏

常见原因:

  • NVIDIA + GLX
  • 多显示器

尝试:

picom --backend xrender

或:

picom --backend glx --vsync

NVIDIA 用户可加:

--backend glx --glx-no-stencil

3️⃣ 多显示器问题

xrandr

确认显示器布局,然后:

picom --no-daemon

观察是否只在某个屏幕异常。


六、日志与系统信息

查看 X 相关错误

echo $XDG_SESSION_TYPE
  • x11
  • wayland ❌(compton 不能用)

GPU / 驱动信息

glxinfo | grep OpenGL
nvidia-smi
lspci | grep VGA

七、常见组合方案(直接可用)

Intel / AMD(稳定)

picom --backend glx --vsync

NVIDIA(保守)

picom --backend xrender

老机器 / 虚拟机

picom --backend xrender --no-fading-openclose

八、如果还不行

把下面信息发我,我可以精准帮你分析:

  1. 发行版(如 Arch / Ubuntu / Debian)
  2. 显卡 + 驱动(NVIDIA / Intel / AMD)
  3. 是否 Wayland
  4. 报错日志(前台运行输出)
  5. 你的 picom / compton 版本

例如:

picom --version

如果你指的是 Compton 散射(物理)Compton 波长、或 Compton 相机 / 成像调试,告诉我具体领域,我可以换方向讲。

0