執行 AppImage

本頁說明使用者如何在自己偏好的散布版上,使用桌面環境工具或終端機執行 AppImage。同時也解釋桌面整合的概念,並介紹可用於此目的的工具。

下載、設為可執行、執行

執行 AppImage 非常簡單。如標題所示,只要下載、設為可執行並執行即可。這可以透過圖形介面或命令列完成。

也參考

關於如何執行 AppImage 的資訊已移至 快速入門 頁面。

更多資訊請參閱 如何執行 AppImage

掛載或解壓 AppImage

若要檢視任何 AppImage 的內容,可以在不執行的情況下掛載,或將內容解壓到目前工作目錄中的某個資料夾。

掛載 AppImage

AppImage 可以在系統中掛載,提供使用者 唯讀 存取以便檢視內容。

要暫時掛載 AppImage 有兩種方式。最簡單的方法是以特殊參數 --appimage-mount 執行 AppImage,例如:

> my.AppImage --appimage-mount
/tmp/mount_myXXXX
# 接著用另一個終端機或檔案管理員檢視 --appimage-mount 輸出的目錄內容

當上述範例中的應用程式被中斷時(例如按下 Ctrl+C、關閉終端機等),AppImage 就會被卸載。

備註

此方法僅適用於第 2 類 AppImage。第 1 類 AppImage 不提供自動掛載機制。要掛載第 1 類 AppImage,請使用 mount -o loop

此方法較為推薦,因為其他方法有一些重大缺點(如下所述)。

另一種掛載 AppImage 的方式是使用您 Linux 散布版的 mount 命令工具鏈。掛載與卸載裝置、檔案、映像以及 AppImage 都需要 root 權限,而且必須提供掛載點。請參見以下範例:

第 1 類 AppImage:

> mkdir mountpoint
> sudo mount my.AppImage mountpoint/
# 現在可以檢視內容
> sudo umount mountpoint/

第 2 類 AppImage:

> mkdir mountpoint
> my.AppImage --appimage-offset
> 123456
> sudo mount my.AppImage mountpoint/ -o offset=123456
# 現在可以檢視內容
> sudo umount mountpoint/

請注意,123456 只是範例,您可能會看到不同的數字。

警告

使用此方法掛載的 AppImage 不會自動卸載。當您不再需要掛載時,請務必執行 umount

若 AppImage 未正確卸載就被移動到新位置,可能會產生所謂的「懸掛掛載」。請透過正確卸載 AppImage 來避免此問題。

備註

使用 --appimage-mount 參數掛載的第 2 類 AppImage 不會 受到此問題影響!

也參考

目前無法在不執行目標 AppImage 的情況下使用前述方法。在某些情況下可能不適合,例如 AppImage 不可信時。

AppImage 團隊正在 appimagetool 中實作掛載選項。進度請參考相關的 GitHub issue

解壓 AppImage 內容

掛載 AppImage 的替代方式是解壓其內容,這樣可以修改內容。解壓後的目錄是有效的 AppDir,使用者可再透過 :ref:`ref-appimagetool`重新建立 AppImage。

類似於掛載 AppImage,也有一個簡單的命令列選項可在不使用外部工具的情況下解壓第 2 類 AppImage 的內容。只要以 --appimage-extract 參數執行 AppImage。這會讓 runtime 建立名為 squashfs-root 的新目錄,其中包含 AppImage 的 AppDir 內容。

第 1 類 AppImage 需要已棄用的 AppImageExtract 工具來解壓內容。該工具功能非常有限,且需要圖形介面才能執行。它會在使用者的桌面目錄建立新資料夾。

也參考

目前無法在不執行目標 AppImage 的情況下使用前述方法。在某些情況下可能不適合,例如 AppImage 不可信時。

AppImage 團隊正在 appimagetool 中實作掛載選項。進度請參考相關的 GitHub issue

將 AppImage 整合到桌面

AppImage 是獨立套件,不需要 安裝。不過,有些使用者希望 AppImage 能像散布版提供的應用程式一樣可用。這主要涉及能從桌面環境的啟動器啟動桌面應用程式,此概念稱為 桌面整合

appimaged

appimaged 是監控系統並整合 AppImage 的常駐服務。它會監視使用者系統中一組預先定義的目錄以尋找 AppImage,並透過 libappimage 將它們整合到系統。

也參考

更多關於 appimaged 的資訊請參閱 appimaged

AppImageLauncher

AppImageLauncher 是 Linux 散布版的輔助應用程式,可作為執行與整合 AppImage 的「入口」。它讓使用者的系統變成 AppImage-ready™。

AppImageLauncher 必須安裝到系統中,才能正確整合到系統。它使用與桌面環境功能無關的技術,因此應可在多數散布版上運作。

安裝 AppImageLauncher 後,您可以在檔案管理員、瀏覽器等地方直接雙擊 AppImage。系統會詢問要整合 AppImage 或僅執行一次。當您選擇整合 AppImage 時,檔案會被移動到 ~/Applications 目錄。這有助於減少檔案系統中 AppImage 的雜亂,並避免您在想移除時還得尋找實際的 AppImage 檔案。

為了提供完整的 AppImage 系統管理方案,AppImageLauncher 也提供更新與移除 AppImage 的功能。這些功能可在桌面啟動器中的項目右鍵選單中找到。

也參考

更多關於 AppImageLauncher 的資訊請參閱 AppImageLauncher

疑難排解

請參閱 Troubleshooting page