2016-08-04 26 views
1

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

回答

1

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

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格式的更正式说明。

+0

啊,对不起,我的意思是AppRun文件。将编辑我的问题。 – philo

+0

感谢指向functions.sh的指针。看起来AppRun是一个预构建的,我将使用get_apprun()从项目github中获取。 – philo

0

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

AppRun在AppImage中的任务是使用正确的参数和环境变量集调用AppImage的有效负载应用程序。

你有两个选择为AppRun您AppImage可以使用:

  1. 使用标准 “AppRun” 二进制,如通过AppImage项目在这里下载提供:https://github.com/AppImage/AppImageKit/releases注,有两个版本可供下载:一个用于i686,另一个用于x64_86体系结构,无论你选择什么,只要手动将其嵌入到AppImage中,就必须将其重命名为'AppRun')标准AppRun不会执行任何操作特别和很可能适用于90%以上的项目。

  2. 使用定制 AppRun,你必须自己写,并且将尽一切花哨的东西,你可能会想象:执行额外的命令行参数,在一个非常特殊的方式设置环境等的一个相当复杂的AppRun的例子在这里:https://github.com/KurtPfeifle/ImageMagick/blob/master/appimage/AppRun(它的工作,例如,如果你运行an ImageMagick AppImage from here--help参数)。

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

在许多情况下一个AppRun可以简单地从指向可执行在(相对)的AppImage的顶层(根)目录符号链接USR/bin中/在AppImage内部路径应该说是足以调用并运行有效载荷应用程序。