AppRun文件格式?

时间:2016-08-04 16:33:17

标签: appimage

我在项目Wiki中跟随Creating AppImages创建了一个AppImage。我应该创建一个AppRun文件,但我没有看到该文件格式的任何文档或如何创建它。我的项目是一个Python应用程序,apt-appdir不是一个选项,因为这是我的团队的软件,并没有任何回购。

3 个答案:

答案 0 :(得分:2)

找到它。 AppRun位于指南开头创建的AppImageKit目录中。

答案 1 :(得分:1)

这是AppDir的一般结构:

MyApp.AppDir/
MyApp.AppDir/AppRun
MyApp.AppDir/myapp.desktop
MyApp.AppDir/myapp.png
MyApp.AppDir/usr/bin/myapp
MyApp.AppDir/usr/lib/libfoo.so.0

您可以使用functions.sh帮助程序脚本,而不是手动创建它,这将大大简化AppDir和AppImage的生成。

有关如何使用此内容的信息,请参阅sample recipes;有关格式的更正式说明,请参阅AppImageSpec

答案 2 :(得分:1)

您可能已经知道,AppImage(类型2)是SquashFS压缩文件系统。在运行时,它会挂载到临时(动态创建)挂载点以执行其有效负载。这种“安装”业务由称为“运行时”的嵌入式组件进行维护。另一个嵌入式组件称为“AppRun”

AppRmage中的AppRun任务是调用AppImage的有效负载应用程序,并设置正确的参数和环境变量。

AppImage可以使用的AppRun有两个选项:

  1. 使用 标准 “AppRun”二进制文件,由AppImage项目提供,以便在此处下载:https://github.com/AppImage/AppImageKit/releases注意,有两个版本要下载:一个用于i686,一个用于x64_86架构。无论你选择哪个,如果你手动将它重命名为AppRmage,你必须将它重命名为“AppRun”。)标准的AppRun没有做任何特别的事情,很有可能适合90%以上的项目。

  2. 使用您必须自己编写的 自定义 AppRun,它将执行您可能想到的所有花哨的事情:实现其他命令行参数,设置这里有一个非常复杂的AppRun的例子:https://github.com/KurtPfeifle/ImageMagick/blob/master/appimage/AppRun(例如,如果你使用 --help运行an ImageMagick AppImage from here,它会工作。 参数)。

    这样的AppRun甚至可以是Bash(或任何其他语言)脚本。

  3. 在许多情况下,AppRun可以只是来自AppImage顶级(根)目录的符号链接,指向AppImage中(相对) usr / bin / 路径中的可执行文件应该是足以调用并运行有效负载应用程序。