在 Debian(或任意 Linux 发行版)上制作 AppImage,一般流程是:准备可执行程序 → 编写 .desktop 文件 → 组织目录结构 → 用 appimagetool 打包。
下面给你一个从零开始的实操指南。
sudo apt update
sudo apt install -y wget fuse libfuse2
注意:新版 Debian 可能默认没有
libfuse2,AppImage 运行需要它。
appimagetoolwget https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage
chmod +x appimagetool-x86_64.AppImage
sudo mv appimagetool-x86_64.AppImage /usr/local/bin/appimagetool
验证:
appimagetool --version
AppImage 的核心是 AppDir(应用目录)。
MyApp.AppDir/
├── AppRun
├── myapp.desktop
├── myapp.png
└── usr/
└── bin/
└── myapp
mkdir -p MyApp.AppDir/usr/bin
假设你的程序是 myapp:
cp myapp MyApp.AppDir/usr/bin/
chmod +x MyApp.AppDir/usr/bin/myapp
nano MyApp.AppDir/AppRun
内容示例:
#!/bin/bash
HERE="$(dirname "$(readlink -f "${0}")")"
exec "$HERE/usr/bin/myapp" "$@"
赋予执行权限:
chmod +x MyApp.AppDir/AppRun
nano MyApp.AppDir/myapp.desktop
示例:
[Desktop Entry]
Name=MyApp
Exec=myapp
Icon=myapp
Type=Application
Categories=Utility;
cp myapp.png MyApp.AppDir/
(PNG 格式,建议 256x256 或 512x512)
appimagetool MyApp.AppDir
成功后会生成:
MyApp-x86_64.AppImage
chmod +x MyApp-x86_64.AppImage
./MyApp-x86_64.AppImage
libssl, libqt5 等:
ldd myapp 查看依赖.so 文件复制到 AppDir/usr/lib/platforms/ 插件GDK_BACKENDwget https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-x86_64.AppImage
chmod +x linuxdeploy-x86_64.AppImage
./linuxdeploy-x86_64.AppImage \
--appdir MyApp.AppDir \
--output appimage
Debian 制作 AppImage = 准备 AppDir + AppRun + .desktop + appimagetool
如果你愿意,可以告诉我:
我可以给你针对性的打包方案。