CentOS 中 Compton 启动问题排查与修复
一、快速定位
ps -e | grep compton、which compton、sudo yum remove compton && sudo yum install compton(或 sudo dnf install compton)。若命令不存在或版本异常,优先修复安装。compton --config ~/.config/compton.conf -f(前台运行并输出日志,便于定位语法或参数错误)。journalctl -u compton.service -xe 查看服务日志;必要时实时跟踪 journalctl -u compton.service -f。若无 systemd 服务,可检查用户目录缓存日志(如 ~/.cache/compton/compton.log,不同版本/打包可能不同)。compton --config /etc/compton.conf,便于排除默认配置干扰。二、常见原因与对应修复
backend = xrender 验证,再回到 glx 并配合 vsync 调整。nvidia-smi 可正常输出)。驱动异常会导致 OpenGL/合成器初始化失败。ldconfig -p | grep <库名> 检查依赖库是否就位,必要时重装相关包或运行 sudo ldconfig。三、使用 Systemd 正确托管 Compton
/etc/systemd/system/compton.service,内容示例:[Unit]
Description=Compton Window Composer
After=xorg.service
[Service]
ExecStart=/usr/bin/compton --config /etc/compton.conf
Restart=on-failure
Environment=XDG_RUNTIME_DIR=/run/user/%i
[Install]
WantedBy=graphical.target
说明:
--config 显式指定配置;graphical.target;WantedBy=multi-user.target 并结合合适的用户/权限配置。sudo systemctl daemon-reload
sudo systemctl enable --now compton.service
sudo systemctl status compton.service
journalctl -u compton.service -f
compton &,或通过桌面会话的“启动应用程序”添加;避免与 systemd 用户服务重复拉起。四、最小化配置与验证步骤
~/.config/compton.conf 用于验证:backend = xrender
vsync = true
shadow = false
opacity = false
killall compton 2>/dev/null; compton --config ~/.config/compton.conf -fcompton --config ~/.config/compton.conf &shadow、opacity、backend=glx、blur-background)并观察是否复现问题。五、仍未解决时的建议
sudo yum update(或 sudo dnf update),重启后再试。journalctl -xe、cat /var/log/messages、dmesg | grep -i compton,寻找驱动加载、X11、权限或资源相关线索。