2019-12-21

AppImage を使う

AppImage は Linux のソフトウェアをポータブルに配布できる形式のファイルです。アプリケーションをダウンロード後、実行権限を与えて実行するだけです。インストール不要、システムライブラリ不要、システム設定の変更も不要です。Firejail のようなサンドボックスで動作させることもできます。

AppImage は何度も名前を変えています。2004 年に klik という名前ではじめてリリースされ、2011 年に PortableLinuxApps に、そして 2013 年に現在の AppImage に変わりました。

AppImage | Linux apps that run anywhere および Wikipedia より引用、編集

本ブログ記事では下記の OS 環境で動作確認をしています。

OS
Fedora 31 (Workstation Edition) x86_64

AppImageHub からアプリをダウンロード

参考サイト [3]、AppImageHub のサイトでは、AppImage 形式にビルドされたアプリがダウンロードできます。本ブログ作成時には 946 種類のアプリが登録されているとあります。

AppImageHub のサイト

試しに Multimedia をクリックして、一番下に表示されている youtube-music をダウンロードしてみました。端末エミュレータ上でダウンロードしたディレクトリに移り、chmod +x で実行権限を与えて実行します。

[bitwalk@fedora-pc ~]$ cd ダウンロード
[bitwalk@fedora-pc ダウンロード]$ chmod +x *.AppImage
[bitwalk@fedora-pc ダウンロード]$ ls *.AppImage
youtube-music-1.1.6-x86_64.AppImage
[bitwalk@fedora-pc ダウンロード]$ ll -h youtube-music-1.1.6-x86_64.AppImage
-rwxr-xr-x. 1 bitwalk bitwalk 79M 12月 21 17:44 youtube-music-1.1.6-x86_64.AppImage
[bitwalk@fedora-pc ダウンロード]$ ./youtube-music-1.1.6-x86_64.AppImage
Fontconfig warning: "/usr/share/fontconfig/conf.avail/05-reset-dirs-sample.conf", line 6: unknown element "reset-dirs"
Loaded plugin - navigation
Loaded plugin - shortcuts
Loaded plugin - adblocker
Checking for update
Generated new staging user ID: d9ef94cb-254c-50cd-af1b-222c41a0e5a0
Update for version 1.1.6 is not available (latest version: 1.1.6, downgrade is disallowed).
checkForUpdatesAndNotify called, downloadPromise is null

すると、起動用のアイコンをアプリケーション一覧に登録するかを尋ねるダイアログが表示されます。

※ たまたま例として取り上げた youtube-music では起動用のアプリケーションアイコンを登録する機能がありましたが、これは全ての APPImage のアプリケーションに備わっている機能ではないようです。

ここでは Yes をクリックして、あとでアプリ一覧を確認することにします。

そのあと youtube-music のウィンドウが画面に表示されます。(下図)

起動した youtube-music のウィンドウ

ざっと動作確認をしましたが、問題は無さそうです。

GNOME のアプリ一覧をみると youtube-music のアイコンが登録されていて、マウスのクリックで起動する事を確認できました。

GNOME のアプリ一覧画面

このアイコンは、ユーザーディレクトリ内 $HOME/.local/share/applications に作成された appimagekit-youtube-music.desktop が対応していますので、youtube-music-1.1.6-x86_64.AppImage が不要になってこれを削除した時に、忘れずにこの desktop ファイルも削除する必要があります。

[bitwalk@fedora-pc ダウンロード]$ ls ~/.local/share/applications
appimagekit-youtube-music.desktop
chrome-gdijeikdkaembjbdobgfkoidjkpbmlkd-Default.desktop
chrome-hgmloofddffdnphfgcellkdfbfbjeloo-Default.desktop
chrome-hmjkmjkepdijhoojdojkdfohbdgmmhki-Default.desktop
chrome-iabmpiboiopbgfabjmgeedhcmjenhbla-Default.desktop
mimeapps.list
mimeinfo.cache
[bitwalk@fedora-pc ダウンロード]$ cat ~/.local/share/applications/appimagekit-youtube-music.desktop
[Desktop Entry]
Name=YouTube Music
Comment=YouTube Music Desktop App - including custom plugins
Exec="/home/bitwalk/ダウンロード/youtube-music-1.1.6-x86_64.AppImage" %U
Terminal=false
Type=Application
Icon=appimagekit-youtube-music
StartupWMClass=YouTube Music
X-AppImage-Version=1.1.6.26
Categories=AudioVideo;
X-AppImage-BuildId=1Qi1qqUKGYE8Xsa6HFv7yPWJlGC
X-Desktop-File-Install-Version=0.24
X-AppImage-Comment=Generated by /tmp/.mount_youtubTwqmsO/AppRun
TryExec=/home/bitwalk/ダウンロード/youtube-music-1.1.6-x86_64.AppImage
[bitwalk@fedora-pc ダウンロード]$ 

雑感

ダウンロードしてそのまま実行できるパッケージは、たしかに便利です。既に OS イメージを USB に書き込むユーティリティ balenaEtcher [6] で AppImage のパッケージをフツーに利用していることを、このブログ記事を書いている時に思い出しました。💦

ただ、このように単発で使うアプリを単一のファイルで管理するのは OK でも、全てのアプリをこのような形で管理するのであれば一抹の不安があります。個々のファイルのサイズは大きすぎないか、アプリのアップデートを適切にさばけるのかなど、評価・検討したい項目がいくつもあります。

反面、一般的に必要なアプリとともにインストールする Linux ディストロに対して、インストール後、殆んどアプリが入っていない状態から、必要なアプリを AppImage のような手段でダウンロードして使う方が、もしかするとストレージ使用量が少なく収まるかもしれないとも思ってしまいます。これは、本ブログで紹介した Fedora Silverblue [7]Flatpak でも感じたことです。

Flatpak やこの AppImage など、従来の rpm や deb パッケージをベースとしたシステム構築とは別のアプローチが、すでに普通に使えるレベルになっています。こういったアプローチの進展をフォローせずに何年もやり過ごしてしまいました。これを後悔しても仕方がないので、時間を見つけてキャッチアップに努めます。

参考サイト

  1. AppImage | Linux apps that run anywhere
  2. Upstream packaging — AppImage documentation
  3. index.html – AppImageHub
  4. Firejail | security sandbox
  5. 2016年5月13日 ヤバめのアプリはまず"火の檻"で ―サンドボックス「Firejail」がX11に対応へ:Linux Daily Topics|gihyo.jp … 技術評論社
  6. balenaEtcher - Home
  7. bitWalk's: Linux ディストロ探訪(10) 〜 Fedora Silverblue 〜 [2019-11-24]

 

ブログランキング・にほんブログ村へにほんブログ村

0 件のコメント: