在 CentOS 下 AppImage 无法启动 是比较常见的问题,通常不是 AppImage 本身损坏,而是系统环境或依赖不满足。下面按「最常见原因 → 排查方法 → 解决办法」给你梳理一下。
AppImage 本质是“可执行文件”,但下载后默认可能没有 +x 权限。
现象
./xxx.AppImage
bash: ./xxx.AppImage: Permission denied
解决
chmod +x xxx.AppImage
./xxx.AppImage
AppImage 默认使用 FUSE 挂载自身。
现象
fusermount: command not found
Cannot mount AppImage, check FUSE
解决(CentOS 7/8)
# CentOS 7
yum install fuse fuse-libs
# CentOS 8 / Stream
dnf install fuse fuse-libs
然后:
modprobe fuse
解决方式(推荐)
./xxx.AppImage --appimage-extract
cd squashfs-root
./AppRun
CentOS 最小化安装经常缺:
libglib-2.0.so.0
libgtk-3.so.0
libnss3.so
解决
# CentOS 7
yum groupinstall "GNOME Desktop"
# 或最小依赖
yum install gtk3 nss libX11 libXext
很多新 AppImage 编译于 Ubuntu 20+/22+
现象
version `GLIBC_2.28' not found
解决
getenforce
# Enforcing
排查
ausearch -m avc -ts recent
临时测试
setenforce 0
./xxx.AppImage
长期方案
chcon -t bin_t xxx.AppImage
# 1. 权限
chmod +x xxx.AppImage
# 2. FUSE
which fusermount
# 3. 直接运行看报错
./xxx.AppImage
# 4. 不行就解包
./xxx.AppImage --appimage-extract
如果你愿意,可以告诉我:
我可以直接告诉你是哪一条,并给你精确命令。