2016-08-04 48 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內部路徑應該說是足以調用並運行有效載荷應用程序。