ディストリビューションやライブラリ依存関係によってインストールできるアプリは通常、制限されるが、そうした制限をできるだけなくしてをアプリケーションをインストールして実行できるパッケージ管理としてsnap
、flatpak
、appimage
などある。その中のappimage
をデスクトップアイコンを追加してメニュー起動しやすくしたり、課題?だったアップデートにも対応したツールが
Gear Lever出ていたので使ってみた。
記事としては
AppImage Fan? You Need to Check Out ‘Gear Lever’ - OMG! Ubuntuが詳しい。私もAppImageはダウンロードして叩くだけで実行できるので当初は気に入っていたが、アップデートは配布先にいってダウンロードしなければならないので、どちらかというとflatpak
の方を重用していた。
snap
に関してはインストール、起動が遅いので全く使っていない1。
appimage
管理ツールとしては、それまで
AppImageLauncherを使っていた。これだと、特定のフォルダにAppImageを置いておけばデスクトップファイルが追加されてメニュー表示できるようになり、起動できたので便利だった。
欠点としては、アイコン画像がたまにちゃんと表示されないのと、アップデートには対応していないということだった。
AppImageUpdateというツールもあるのだけど、使い方が間違っているのか、上手くアップデートできなかった。
Gear Leverはflatpak
でインストールできる。
既に置いてあるAppImageファイルは、管理フォルダ ~/AppImaes 2でなくても検知してくれるようだ。というか、自動で関連付けられて、 Gear Leverとして起動するようになる。
使い方としては以下のようになっている
-
ダウンロードしたAppImageをダブルクリックする。
-
Unlock する。
これにより起動が可能になる。 Gear Lever経由で起動が可能となる。
-
Move to the app menu する。
これにより
~/.local/share/applications/
配下にデスクトップファイルが追加されてアプリメニューから起動できる。また、AppImageファイルも管理フォルダに移動されて、名前もバージョンが取り除かれたファイル名(例:feishin.appimage
)となる。 -
Update managemennt の Static URL か Github に配布されているAppImageのURLを登録する。詳細は Guide: the update manager in Gear Leverを参照。
feishinの場合、
https://github.com/jeffvli/feishin/releases/download/*/Feishin-*-linux-x86_64.AppImage
となる。アーキテクチャー毎に配布されている場合は、指定された形で登録する。ramboxの場合、
https://rambox.app/api/download?os=linux&package=AppImage
となる。discordの場合、アプリ開発者がアップデート情報を含めているので、登録されていて編集できないようになっている。
-
Check for updates で一括でアップデートの確認が出来るようになり、更新が出来るようになる。
ファイルの移動の手間もなく、アップデートもわざわざ配布先まで行く必要がない。また、ファイル名が固定されたものとなり、それまで自動で起動するアプリケーションなどでAppImageを叩いていた場合、名前を変更するかしなければいけなかったのが、その手間もない。
更新URLの入力が手間といえば手間だが~/.var/app/it.mijorus.gearlever/config/apps.json
に
Gear Leverの設定ファイルがある。
中身は
{"WW91VHViZSBNdXNpYw==": {"b64name": "WW91VHViZSBNdXNpYw==", "update_url": "https://github.com/th-ch/youtube-music/releases/download/*/YouTube-Music-*.AppImage", "update_url_manager": "GithubUpdater", "name": "YouTube Music"}, "RmVpc2hpbg==": {"b64name": "RmVpc2hpbg==", "update_url": "https://github.com/jeffvli/feishin/releases/download/*/Feishin-*-linux-x86_64.AppImage", "update_url_manager": "GithubUpdater", "name": "Feishin"}, "UmFtYm94": {"b64name": "UmFtYm94", "update_url": "https://rambox.app/api/download?os=linux&package=AppImage", "update_url_manager": "StaticFileUpdater", "name": "Rambox"}, "VklB": {"b64name": "VklB", "update_url": "https://github.com/the-via/releases/releases/download/v*/via-*-linux.AppImage", "update_url_manager": "GithubUpdater", "name": "VIA"}, "YmFsZW5hRXRjaGVy": {"b64name": "YmFsZW5hRXRjaGVy", "update_url": "https://github.com/balena-io/etcher/releases/download/v*/balenaEtcher-*-x64.AppImage", "update_url_manager": "GithubUpdater", "name": "balenaEtcher"}}
となっている。変な英数字はバージョンとかファイルサイズかな?と思ったら、単純なアプリケーションの名前だけだった。
$ echo "WW91VHViZSBNdXNpYw==" | base64 -d
YouTube Music%
$ echo "YmFsZW5hRXRjaGVy" | base64 -d
balenaEtcher%
まだ未確認だけど、恐らく他環境に移行した際もAppImageファイルと、この apps.json があれば設定も移行できそうな気がする。
Feishin
、Rambox
、Youtube Music Desktop
はsnap
版はあったりするが、flatpak
がないので、AppImageで使っている。なので、こうしたアプリの存在は嬉しい。