使用可移植模式

本頁說明部分較新的 AppImage(例如 2017 年或之後建置)提供的一種模式:可移植模式。此模式可讓應用程式資料與其 AppImage 放在一起。

簡介

有時讓應用程式的資料跟著應用程式一起移動會很有用,例如把應用程式放在 USB 隨身碟,以便在不同電腦上使用。在 Windows 世界中,這個概念稱為「可攜式應用程式」。

通常 AppImage 內的應用程式會把設定檔儲存在其一貫的位置(最常見是在 $HOME 內的某處)。換句話說,應用程式被包在 AppImage 裡通常不會改變它儲存資料的位置。

不過,較新的 AppImage 提供一些功能,只要在 AppImage 檔案旁 存在特定目錄,就能讓應用程式資料與應用程式一同移動。

如果您執行的是使用新版 AppImageKit 建置的 AppImage,且已放置這些特殊目錄,設定檔就會儲存在 AppImage 旁邊。這對可移植的使用情境很有用,例如把 AppImage 與其資料一起放在 USB 隨身碟上。

  • 如果有一個目錄名稱等於 AppImage 加上 .home,則在執行實際應用程式前,$HOME 會自動設為該目錄。

  • 如果有一個目錄名稱等於 AppImage 加上 .config,則在執行實際應用程式前,$XDG_CONFIG_HOME 會自動設為該目錄。

範例

假設您想使用 Leafpad 文字編輯器,但希望設定能隨可執行檔一起攜帶。您可以這麼做:

# 下載 Leafpad AppImage 並設為可執行
$ wget -c "https://bintray.com/probono/AppImages/download_file?file_path=Leafpad-0.8.18.1.glibc2.4-x86_64.AppImage" -O Leafpad-0.8.18.1.glibc2.4-x86_64.AppImage
$ chmod a+x Leafpad-0.8.18.1.glibc2.4-x86_64.AppImage

# 在與 AppImage 相同的目錄中,建立與 AppImage 同名並加上 ".config" 副檔名的目錄
$ mkdir Leafpad-0.8.18.1.glibc2.4-x86_64.AppImage.config

# 執行 Leafpad,變更一些設定(例如變更預設字型大小)後關閉 Leafpad
$ ./Leafpad-0.8.18.1.glibc2.4-x86_64.AppImage

# 接著檢查設定寫入的位置:
$ find Leafpad-0.8.18.1.glibc2.4-x86_64.AppImage.config
(...)
Leafpad-0.8.18.1.glibc2.4-x86_64.AppImage.config/leafpad/leafpadrc

請注意,leafpadrc 檔案寫入了我們先前建立的目錄中。