Linux で AppImages を使用する方法
AppImages を使用すると、Linux 開発者はアプリケーションを単一のファイルにパッケージ化して、任意の Linux ディストリビューションにインストールできます。これにより、物事が大幅に簡素化されます。それらを使用してデスクトップに統合する方法は次のとおりです。
Linux でのソフトウェアのインストール
ソフトウェアのインストールは簡単で便利でなければなりません。これがどれほど簡単で便利であるかは、ディストリビューションのパッケージ マネージャーに大きく依存します。パッケージ マネージャーは、他の Linux プログラムをダウンロードしてインストールできるようにするソフトウェア アプリケーションです。
派生 Linux ディストリビューションは、親ディストリビューションのパッケージ マネージャーを使用する傾向があります。たとえば、Debian の多くのバリアントおよび派生物は を使用apt
し、RedHat および Fedora ディストリビューションは を使用しdnf
、ディストリビューションの Arch ファミリーは を使用しますpacman
。幸いなことに、ディストリビューションほど多くのパッケージ マネージャーはありません。
ただし、開発者の観点からは、さまざまなパッケージ形式をすべてサポートするということは、アプリケーションを Debian ファミリーの DEB ファイルや RedHat ファミリーの RPM などにラップすることを意味します。それは多くの余分なオーバーヘッドです。
また、開発者も他の人もディストリビューション用のインストール パッケージを作成していない場合、このソフトウェアをインストールできないことも意味します。少なくとも親戚ではありません。
お使いのコンピューターで別のディストリビューションからパッケージをダウンロードできる場合がありますが、これは安全な方法ではなく、動作が保証されていません。自分が何をしているのかわかっている場合は、ソース コードをダウンロードしてコンピューター上でアプリケーションをビルドできますが、簡単で便利とは言えません。
アプリケーションのディストリビューションごとのパッケージングの問題を解決するために、 Snap やFlatpakなどのプロジェクトが開発されました。パッケージを単一のファイルにパッケージ化して、適切なライブラリとその他の依存関係をバンドルして、(実際には) ホスト オペレーティング システムを必要としないようにすることができれば、どのディストリビューションでも実行できるはずです。
AppImageプロジェクトはまさにそのようなイニシアチブです。AppImage はプロジェクトの名前で、AppImages はパッケージ化されたアプリの名前です。
アプリ画像の仕組み
AppImage ファイルは、従来の意味ではインストールされません。アプリケーション パッケージを構成するコンポーネント ファイルは、1 つのファイルに含まれています。これらは解凍されず、ファイル システムの異なるディレクトリに保存されます。
パッケージ マネージャーによってインストールされたアプリケーションの実行可能ファイルは、適切な “/bin” ディレクトリにコピーされ、そのman
ページは “/usr/share/man” ディレクトリなどに保存されます。この解凍とコピーの手順は実行されません。 AppImagesで。
AppImage 内にはファイル システムがあり、通常は squashFS ファイル システムです。アプリケーションの実行に必要なファイルは、Linux インストールのメイン ファイル システムではなく、このファイル システム内に保存されます。AppImage が実行されると、内部ヘルパー プログラムの 1 つが実行され、メイン ファイル システムからアクセスできるように squashFS ファイル システムが「/tmp/mount」にマウントされます。次に、アプリケーション自体を起動します。
これが、Snap、Flatpaks、および AppImages からのアプリの起動が、通常のアプリの起動よりもわずかに遅い理由です。これらすべてが機能するには、「ユーザー空間ファイルシステム」と呼ばれるものがホストのファイルシステムに設定されている必要があります。これは、唯一の依存関係の AppImages ホストです。FUSE は通常、最新の Linux ディストリビューションにプリインストールされています。
AppImage ファイルの使用
最初に、必要なアプリの AppImage をダウンロードする必要があります。それらはディストリビューションのリポジトリにはありません。通常、アプリ自体の Web サイトでそれらを見つけることができます。
オープンソースの 3D CAD パッケージである FreeCAD をダウンロードして使用します。FreeCAD のダウンロード ページに移動し、[64 ビット AppImage] ボタンをクリックします。
ダウンロードしたら、ターミナル ウィンドウでファイルを探します。Web ブラウザのデフォルト設定を変更していない場合は、おそらくダウンロード ディレクトリにあります。AppImage を実行可能にする必要があります。コマンドを使用して、 (実行可能) アクセス許可chmod
を追加します。-x
chmod +x FreeCAD-0.20.0-Linux-x86_64.AppImage
ファイルをダウンロードして実行可能にしました。それを実行するには、その名前で呼び出すことができます。
./FreeCAD-0.20.0-Linux-x86_64.AppImage
Fedora と Manjaro で行う必要があるのはこれだけです。Ubuntu 22.04 では、ライブラリ ファイルをインストールする必要がありました。FUSE は既に Ubuntu 22.04 にインストールされていますが、これはほとんどの AppImages より新しいバージョンです。ライブラリ ファイルをインストールしても、インストールされている FUSE のバージョンには影響しません。
sudo apt install libfuse2
これにより、問題はすぐに修正され、Ubuntu Jammy Jellyfish 22.04 で問題なく AppImages を実行できました。
これはすべて素晴らしいです。しかし、ケーキを手に入れて食べたい場合はどうしますか? ターミナル ウィンドウから起動する必要のない AppImages を使用する方法があれば想像してみてください。通常のネイティブ アプリケーションと同じように AppImage アプリケーションを実行できれば、はるかに便利です。
ここには明らかな矛盾があります。AppImages の全体的なポイントは、デスクトップに統合されないことを含め、従来の意味でそれらが単独でインストールされないことです。それにもかかわらず、AppImageLauncher では可能です。
AppImageLauncher
AppImageLauncher は、割り当てられたディレクトリを追跡します。ディレクトリをスキャンして AppImage ファイルを探します。見つかったアイコンごとに、アプリのアイコン (存在する場合) を抽出し、通常のアプリのように AppImage をデスクトップに統合します。
これは、ディレクトリに追加された新しい AppImage ごとに繰り返されます。AppImage が削除されたことを検出すると、統合が削除されます。したがって、ダウンロードした AppImage ファイルを監視対象のディレクトリにドラッグ アンド ドロップするだけで、デスクトップ環境に統合されます。
Ubuntu または Fedora を使用している場合は、AppImageLauncher ダウンロード ページに移動し、Build Release (Latest) セクションの Assets リンクをクリックします。
Fedora の場合は「appimagelauncher-XXX.x86_64.rpm」リンク、Ubuntu の場合は「appimagelauncher_XXX.bionic_arm64.deb」ファイルをクリックします。「XXX」はソフトウェアのバージョン番号を表します。
AppImageLauncherLite と AppImageLauncher へのリンクがあることに注意してください。AppImageLauncher リンクを使用します。
ダウンロードしたファイルに移動し、ダブルクリックしてインストールを開始します。GNOME では、これによりソフトウェア アプリケーションが起動します。
Manjaro では、次のコマンドで AppImageLauncher をインストールできます。
sudo pacman -S appimagelauncher
「Super」キーを押すと、AppImageLauncher を起動できます。ほとんどのキーボードでは、左の「Ctrl」キーと「Alt」キーの間にあります。検索バーに「appim」と入力します。
AppImageLauncher アイコンが表示されます。それをクリックしてアプリケーションを起動します。
少し設定が残っています。監視するディレクトリを AppImageLauncher に伝える必要があります。「フォルダ」アイコンをクリックして、通常 AppImage を保存するディレクトリに移動します。「ダウンロード」ディレクトリを選択しました。必要に応じて、「/Downloads/apps」などのサブディレクトリを選択できます。
AppImageLauncher で、他のディレクトリにある AppImages を監視対象のディレクトリに移動するように求める場合は、[AppImage ファイルをアプリ ディレクトリに移動するかどうかを確認する] チェックボックスがオンになっていることを確認してください。しかし、AppImageLauncher が 1 つのディレクトリのみを監視している場合、AppImage を他の場所で見つけるにはどうすればよいでしょうか?
この質問に対する答えは、「appimagelauncherd」タブにあります。「appimagelauncherd」タブをクリックすると、AppImage が複数のディレクトリを追跡できることがわかります。
緑色のプラス アイコンをクリックして、さらにディレクトリを追加します。Auto-Integration Daemon Autostart チェックボックスがチェックされていることを確認してください。選択したら「OK」ボタンをクリックします。
数分待ってから、Super キーを押して、監視対象のディレクトリにある AppImage の名前の最初の部分を入力します。私たちの場合、1つしかありません。
「free」と入力すると、FreeCAD アイコンが表示されます。それをクリックすると、アプリケーションが起動します。AppImage ファイルにアイコンが含まれていない場合、FreeCAD の場合と同様に、一般的な歯車アイコンが使用されます。
さらにテストするために、 Subsurfaceアプリケーションの AppImage ファイルをアップロードしました。それが検出され、統合されたことを確認するために約 30 秒待った後、「Super」キーを押して「sub」と入力すると、アプリのアイコンが表示されました。今回はオリジナルのアプリアイコンを見つけて使用させていただきました。
アイコンをクリックすると、アプリケーションが起動します。chmod
AppImage を実行可能にするために使用する必要さえありませんでした。
もう 1 つの良い点は、アイコンを右クリックすると、コンテキスト メニューから AppImage を直接削除できることです。
ランチャーにアイコンをピン留めするオプションもあります。これにより、AppImage を自分のアプリを使用するのと同じくらい便利に使用できます。
増加中の AppImages
私たちのテスト マシンでは、AppImages から起動されたアプリは、Flatpak アプリよりもわずかに高速に読み込まれ、Snap アプリよりもはるかに高速に読み込まれました。AppImages を使用する場合、基本構造をセットアップする必要がないため、アプリケーション自体に必要なスペースを除けば、AppImages を使用すると、ハードディスクのスペースはゼロになります。
オプションの AppImageLauncher は洗練されたタッチを追加しますが、それがなくても AppImages を問題なく使用できます。
AppImages を提供するアプリがますます増えています。ディストリビューションのリポジトリにないものをインストールしようとしていることに気付いた場合は、アプリケーションの Web サイトにアクセスしてください。彼らはAppImageを持っているかもしれません。
コメントを残す