温馨提示×

Ubuntu怎样制作AppImage包

小樊
39
2026-08-15 23:53:41
栏目: 智能运维

在 Ubuntu 上制作 AppImage 包,核心思路是:
把程序 + 依赖一起打包成一个可执行文件,并加上 AppImage 运行时。下面按常见场景给你一个完整、可操作的流程。


一、准备环境(Ubuntu)

sudo apt update
sudo apt install -y \
  build-essential \
  cmake \
  git \
  wget \
  fuse \
  libfuse2

⚠️ Ubuntu 22.04+ 默认没有 libfuse2,AppImage 运行/测试时需要它。


二、最简单方式:使用 linuxdeploy(推荐 ✅)

1️⃣ 准备你的程序

假设你已经有一个可执行文件:

MyApp/
├── usr/
│   ├── bin/
│   │   └── myapp
│   └── share/
│       └── icons/
│           └── myapp.png
├── myapp.desktop

myapp.desktop 示例:

[Desktop Entry]
Name=MyApp
Exec=myapp
Icon=myapp
Type=Application
Categories=Utility;

2️⃣ 下载 linuxdeploy

wget https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-x86_64.AppImage
chmod +x linuxdeploy-x86_64.AppImage

3️⃣ 生成 AppDir

./linuxdeploy-x86_64.AppImage \
  --appdir AppDir \
  -e usr/bin/myapp \
  -i usr/share/icons/myapp.png \
  -d myapp.desktop

执行后你会得到:

AppDir/
├── usr/
├── AppRun -> usr/bin/myapp
├── myapp.desktop
└── usr/share/icons/myapp.png

4️⃣ 打包成 AppImage

./linuxdeploy-x86_64.AppImage \
  --appdir AppDir \
  --output appimage

✅ 最终生成:

MyApp-x86_64.AppImage

测试:

chmod +x MyApp-x86_64.AppImage
./MyApp-x86_64.AppImage

三、如果你是 Qt / GTK / Electron 程序

Qt 程序(常见)

apt install linuxdeploy qtdeploy
linuxdeploy \
  --appdir AppDir \
  -e myapp \
  --plugin qt

Electron 程序

npm install -g @electron/packager
electron-packager . MyApp --platform=linux --arch=x64

然后:

linuxdeploy \
  --appdir AppDir \
  -e MyApp-linux-x64/MyApp

四、手动方式(了解原理)

1️⃣ 下载 AppImage 运行时

wget https://github.com/AppImage/AppImageKit/releases/download/continuous/runtime-x86_64

2️⃣ 构造 AppDir 并打包

mksquashfs AppDir appimage.squashfs -root-owned -noappend
cat runtime-x86_64 appimage.squashfs > MyApp.AppImage
chmod +x MyApp.AppImage

⚠️ 不推荐新手使用,容易踩依赖坑。


五、常见问题

❓ Ubuntu 22.04 无法运行 AppImage

sudo apt install libfuse2

❓ 缺少 so 库

ldd myapp

然后用:

linuxdeploy --appdir AppDir -e myapp

它会自动复制依赖。


❓ 图标不显示

确保:

  • .desktopIcon= 没有后缀
  • 图标在 usr/share/icons/

六、推荐工具总结

工具 用途
linuxdeploy ✅ 最常用
AppImageKit 底层工具
appimagetool 老工具
pkg2appimage 把 deb 转 AppImage

七、一句话总结

Ubuntu 制作 AppImage = 准备程序 + 构造 AppDir + linuxdeploy 打包

如果你愿意,可以告诉我:

  • 你的程序是 C/C++ / Python / Qt / Electron / Java
  • 是否是 命令行工具

我可以给你 针对你项目的完整打包示例

0