如何调试Debian上的Compton
小樊
43
2025-11-29 03:12:38
Debian 上调试 Compton 的实用流程
一 快速定位运行状态与基本检查
- 确认进程:运行命令查看 Compton 是否在运行
ps -e | grep compton
若未运行,可前台启动以便观察输出:compton &;或先终止旧进程 killall compton 再启动。
- 安装与版本:若未安装,先安装
sudo apt-get install compton
- 配置文件位置:优先检查用户配置
~/.config/compton.conf
以及系统级配置
/etc/xdg/compton.conf
如文件不存在可新建并逐步添加调试项。
二 获取有效日志
- 前台运行并重定向输出:便于直接看到启动参数解析、渲染后端选择、警告与错误
compton --config ~/.config/compton.conf > compton.log 2>&1 &
- 使用 systemd 时查看日志:
journalctl -u compton.service # 查看服务日志
journalctl -u compton.service -f # 实时跟踪
journalctl -u compton.service -b # 仅本次启动日志
- 提升日志级别:在启动命令中显式指定
compton --log-level debug --config ~/.config/compton.conf
或在配置文件中设置
log-level = “debug”;
注意高日志级别会产生大量输出,调试完成后建议恢复为 info 或 warning。
三 最小化配置与逐项排除
- 用最小化配置起步,仅保留必要项,便于定位问题来源:
backend = “glx”; # 或尝试 “xrender” 以验证驱动/兼容性
vsync = true; # 或 false,对比撕裂与卡顿表现
shadow = true;
opacity-rule = [ “90:class_g=‘Xfce4-terminal’” ]; # 示例:为特定程序设透明度
- 逐项启用你原有的功能(如阴影、透明度、模糊、窗口规则等),每改动一次重启 Compton 并观察日志与现象,定位触发问题的选项。
- 常见兼容性要点:
- 某些选项已被弃用或移除(如 no-dock-shadow、menu-opacity、glx-swap-method、clear-shadow、paint-on-overlay 等),需按最新规范改写或删除,避免启动警告/异常。
- 若出现与合成相关的渲染问题,优先切换 backend(glx/xrender)进行对比测试。
四 使用 Systemd 管理并安全重启
- 示例服务文件 /etc/systemd/system/compton.service:
[Unit]
Description=Compton Window Composer
After=display-manager.service
[Service]
ExecStart=/usr/bin/compton --config /etc/compton.conf
Restart=on-failure
User=你的用户名
[Install]
WantedBy=multi-user.target
- 使配置生效与启停:
sudo systemctl daemon-reload
sudo systemctl enable --now compton
sudo systemctl restart compton
sudo systemctl status compton
- 修改配置后务必通过 systemctl 重启,以让日志与新参数生效。
五 性能与内存问题的进阶排查
- CPU/渲染热点定位:
sudo perf top -p $(pidof compton) -e cpu-clock
- 内存错误检测(仅在需要时用于深度排查,性能开销大):
valgrind --tool=memcheck --leak-check=full compton
- 若怀疑与内核或驱动相关,可查看内核日志:
dmesg | grep -i compton
或检查系统日志:tail -n 50 /var/log/syslog。