在 Ubuntu 上打包 AppImage,一般分三步:准备应用、写 .desktop 和 AppRun、用工具生成 AppImage。下面给你一个实用、可操作的流程(以 GTK/Qt/命令行程序为例)。
建议用这种标准结构:
MyApp.AppDir/
├── AppRun
├── myapp.desktop
├── myapp.png
└── usr/
├── bin/
│ └── myapp
└── lib/
说明:
AppRun:启动脚本(必须可执行)myapp.desktop:桌面入口文件myapp.png:图标(建议 256x256)usr/bin/myapp:你的程序或脚本#!/bin/bash
HERE="$(dirname "$(readlink -f "${0}")")"
exec "$HERE/usr/bin/myapp" "$@"
赋予执行权限:
chmod +x MyApp.AppDir/AppRun
[Desktop Entry]
Name=MyApp
Exec=myapp
Icon=myapp
Type=Application
Categories=Utility;
确保文件名和 Icon 对应。
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
生成结果:
MyApp-x86_64.AppImage
✅ 它会自动:
.desktop如果你不想用工具:
./linuxdeploy-x86_64.AppImage --appdir MyApp.AppDir
mksquashfs MyApp.AppDir MyApp.squashfs -all-root
cat runtime > MyApp.AppImage
cat MyApp.squashfs >> MyApp.AppImage
chmod +x MyApp.AppImage
(runtime 可从 AppImage 官方仓库获取)
用:
ldd usr/bin/myapp
或加插件:
--plugin gtk
--plugin qt
sudo apt install libfuse2
| 工具 | 用途 |
|---|---|
| linuxdeploy | 最常用 |
| appimagetool | 官方 |
| electron-builder | Electron |
| pkg2appimage | 转换 deb |
如果你愿意,可以告诉我:
我可以直接给你专用打包模板。