在 CentOS 上运行 AppImage 闪退,常见原因和排查方法如下(按出现频率排序):
AppImage 多数基于较新的 Ubuntu/Debian 构建,而 CentOS(尤其是 7/8)系统库较老。
error while loading shared librarieschmod +x xxx.AppImage
./xxx.AppImage --appimage-extract
ldd squashfs-root/usr/bin/xxx | grep "not found"
sudo yum install fuse gtk3 libnss3 libxkbcommon \
libgbm mesa-libGL alsa-lib
sudo yum install fuse fuse-libs
AppImage 需要 FUSE 才能运行。
which fusermount
sudo yum install fuse
很多 AppImage 基于 Ubuntu 20.04+,需要:
ldd --version
gcc --version
CentOS 默认开启 SELinux。
sudo ausearch -m AVC -ts recent
sudo setenforce 0
若此时能运行,说明是 SELinux 问题。
服务器版 CentOS 无 GUI。
echo $DISPLAY
某些 AppImage 仅支持 Ubuntu。
--appimage-extract 手动运行chmod +x app.AppImage
./app.AppImage
# 看报错
如果你愿意,可以告诉我:
我可以给你精准解决方案。