在 Ubuntu 上“打包 AppImage”通常指的是把一个已经编译好的 Linux 应用程序打包成 .AppImage 文件,让它可以免安装、跨发行版运行。下面按常见方式一步步说明。
sudo apt update
sudo apt install -y wget fuse libfuse2
⚠️ Ubuntu 22.04+ 默认没有
libfuse2,AppImage 运行需要它
假设你的程序叫 myapp:
myapp.AppDir/
├── AppRun
├── myapp
├── myapp.desktop
└── myapp.png
mkdir -p myapp.AppDir/usr/bin
cp myapp myapp.AppDir/usr/bin/
AppRun(启动脚本)nano myapp.AppDir/AppRun
内容示例:
#!/bin/bash
HERE="$(dirname "$(readlink -f "${0}")")"
exec "$HERE/usr/bin/myapp" "$@"
赋予执行权限:
chmod +x myapp.AppDir/AppRun
myapp.desktop[Desktop Entry]
Name=MyApp
Exec=myapp
Icon=myapp
Type=Application
Categories=Utility;
cp myapp.png myapp.AppDir/
appimagetool 打包wget https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage
chmod +x appimagetool-x86_64.AppImage
./appimagetool-x86_64.AppImage myapp.AppDir
成功后会生成:
myapp-x86_64.AppImage
chmod +x myapp-x86_64.AppImage
./myapp-x86_64.AppImage
linuxdeploy适合带依赖(Qt / GTK / Python):
wget 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
sudo apt install libfuse2
ldd myapp 检查linuxdeploy 自动打包库最简单流程:
AppDirAppRun + .desktopappimagetool 一键打包如果你愿意,可以告诉我:
我可以给你定制化的打包方案。