Linux

LinuxでAppImage形式のアプリを使う方法と注意点のまとめ


Image Credit: appimage.org

はじめに

Linuxではコマンド経由でアプリをインストールすることが多いと思いますが、インストールが不要で大抵のディストリビューションで使用可能なAppImageという形式があります。このAppImageは本来ならば最も簡単にアプリを使えるようになるにも関わらず、はじめてこの形式のアプリを見るとそもそも使い方がわからないということがあると思うのでこの記事では使い方と注意点をまとめておきます。

環境

この記事で説明用に使う画像などはUbuntu18.04のものとなりますが、他のディストリビューションでも文言などが異なるだけでほとんど同じになると思います。

AppImageについて

AppImageは、ディストリビューションや環境に関わらずどのような環境でも問題なく動作するアプリを目指したアプリの配布形式の1つです。例えばUbuntuやDeabinならばdeb形式があり、またSanp形式もあります。ただ、これらはFedoraやCentOSなどの他のディストリビューションでは動作しません。またインストールする環境が異なることで正常に動作しないなどのトラブルもあります。
これらに対してAppImageは、拡張子として.AppImageを持つファイル1つのみで基本的に動作します。インストールは不要であり、1つのファイルが1つのアプリとして動作します。
インストールが不要というのはアプリを使用するユーザにとってもメリットですが、開発者にとってもユーザの環境を他の形式に比べると意識する必要がなくなりメリットとなります。

以下はAppImageの公式サイトです。

AppImage

Linux apps that run anywhere

AppImage形式のアプリを使う手順

AppImage形式のアプリは以下の3つのステップでを使用できるようになります。簡単です。

  • 1. AppImageファイルをダウンロードする
  • 2. AppImageファイルに実行権限を付与する
  • 3. AppImageアプリを実行する

ここでは、例としてStationというAppImage形式で配布されているアプリを例に実際に上記の手順を説明します。ちなみに、Stationというのは、色々なWebアプリを統合して使えるようにするアプリです。Stationを開けばそこにGmail、Dropbox、Herokuなど自分が普段Webブラウザから開いているアプリを一括管理できるアプリです。以下が公式サイトですので興味のある方は見てみてください。

Station • One app to rule them all

Station unifies all your work tools in one neat and productive interface.

AppImage形式のファイルをダウンロードする

これは説明することは特にありませんが、各アプリの公式サイトなどから配布されている.AppImage形式のファイルをダウンロードします。
ちょうどStationというアプリがAppImage形式で配布されていたので、ここではStationを例に説明します。各自が使用したいアプリに置き換えてください。
以下のようにStationの公式サイトのリンクからダウンロードできます。なお、AppImage形式で配布されていないアプリのほうがおそらく多いので、各アプリの形式をまず確認してみてください。

ダウンロードされたファイルを確認すると、以下のように拡張子が.AppImageのファイルを確認できます。

続いてこのファイルに実行権限を付与します。

AppImageファイルに実行権限を付与する

ダウンロードした.AppImage形式のファイル上で、右クリックして「プロパティ」を開きます。 

「プロパティ」を開くと、以下のように「アクセス権」というタブの中に、「プログラムとして実行可能(E)」という項目があるのでこれにチェックをいれます。なお、以下はUbuntu18.04の場合ですが、他のディストリビューションでも似たような文言があると思います。

チェックを入れたら「プロパティ」画面を閉じてOKです。これで実行権限を付与できました。
なお、実行権限の付与は端末でコマンドからも可能です。具体的には、以下のようにchmodを使って実行権限を付与するだけです。

$ chmod a+x browserX-1.43.2-x86_64.AppImage

browserX-1.43.2-x86_64.AppImageはStationのファイル名なので各自の使いたいアプリのファイル名に置き換えてください。

AppImageアプリを実行する

実行は.AppImageファイルをダブルクリックするか、もしくは端末から以下のようにも実行可能です。

$ ./browserX-1.43.2-x86_64.AppImage

なお、初回起動時には、以下の様なメッセージが出る場合があります。

これは、「このアプリをあなたのシステムに統合したいか?統合することでアプリケーションメニューにこのアプリが追加されます。もし追加しない場合は、アプリケーションメニューには表示されないが引き続きAppImageファイルをダブルクリックすることで起動できる」という内容になります。ここでの統合というのは、システムのアプリケーションメニューにそのアプリを追加するという意味です。アプリケーションメニューに追加されると、例えばUbuntuでは以下のように検索して起動できるようになります。もしランチャー等は使っている場合は、統合しておいたほうがいいかもしれません。

ただし、ここで統合すると、.AppImageファイル以外にもアプリケーションメニューに表示するようのファイルがシステムに作成されるので、このアプリを削除する場合は.AppImageファイルに加えてこれらのファイルも削除しないと、アプリ本体(.AppImageファイル)がなくてもアプリケーションメニューには表示され続けます。このファイルの削除方法は後述します。

AppImageの注意点

AppImageもまだ万能ではなく、以下の注意点があります。

  • 自動アップデート機能がデフォルトではない
  • システムに統合した場合は関連ファイルの削除を手動で行う必要がある
  • AppImage形式のファイルを保管する場所は事前に決めたほうがよい

自動アップデート機能がデフォルトではない

AppImage形式のアプリでは、自動アップデート機能がデフォルトではありません。アップデートの通知などもありません。もし自動アップデートや通知が必要な場合は、以下の公式ドキュメントにあるツールを使って作業する必要があります。ここでは省略しますが、以下に公式ドキュメントのリンクを載せておきます。興味のある方は見てみてください。

Making AppImages updateable

To make an AppImage updatable, you need to embed information that describes where to check for updates and how into the AppImage.

システムに統合した場合は関連ファイルの削除を手動で行う必要がある

前述したように、AppImage形式のアプリを初回起動時には、システムに統合するかどうかを聞かれる場合があります。そしてここで統合してアプリケーションメニューに登録した場合は、.AppImageファイル以外にも、アプリケーションメニュー登録用のファイルが生成されます。具体的には、私の環境では/home/username/.local/share/applicationsに以下のような中身のファイルが生成されていました。

/home/username/.local/share/applications/appimagekit-browserx.desktop[Desktop Entry]
Name=Station
Comment=Station
Exec="/home/username/Appimage/browserX-1.43.2-x86_64.AppImage" %U
Terminal=false
Type=Application
Icon=appimagekit-browserx
StartupWMClass=Station
X-AppImage-Version=1.43.2.3622
MimeType=x-scheme-handler/station;
Categories=Network;
X-AppImage-BuildId=sl9823oA7o248fAolj43
X-Desktop-File-Install-Version=0.23
X-AppImage-Comment=Generated by /tmp/.mount_browseRslSnL/AppRun
TryExec=/home/username/Appimage/browserX-1.43.2-x86_64.AppImage

上記ファイルは、.AppImageファイルのパスやアプリ名が登録されています。これを元にアプリケーションメニューに表示されます。
AppImage形式のアプリを削除したい場合、基本的には.AppImageファイル1つを削除するだけでOKですが、もし統合してアプリケーションメニューに登録した場合は、合わせて上記ファイルも削除する必要があります。このファイルを削除しなくてもシステムに問題が出るわけではありませんが、削除しないとアプリケーションメニューに表示され続けます。
なお、他の環境では、例えば/usr/share/applications/アプリ名.desktopのようなパスにあるかもしれませんので、上記パスにない場合は見てみてください。

AppImage形式のファイルを保管する場所は事前に決めたほうがよい

AppImage形式のアプリは、どのディレクトリでもそのファイル1つで起動できます。よって、例えば「ダウンロード」ディレクトリでそのままAppImage形式のアプリを使い続けることもできますが、アプリケーションメニューに登録していた場合に何かの拍子に.AppImageファイルを移動してしまうと、移動後はアプリケーションメニューに表示されなくなります。アプリケーションメニューに登録していたファイルに.AppImageのパスが記述されているためです。よってもしAppImage形式のアプリを使う場合は、どこかに適当なディレクトリを1つ作成し、そこで全て管理するのがいいかもしれません。
私は/home/username/AppImageという適当なディレクトリを作ってそこにAppImageファイルを全ておいています。

まとめ

AppImageを起動する方法は知っていたものの、詳しく調べてみると色々と知らなかったことも多かったのでまとめました。どなたかの参考になれば幸いです。

SPONSORED LINK

コメントを残す

メールアドレスが公開されることはありません。