技術ノート Linux Linux で AppImages を使用する方法

Linux で AppImages を使用する方法

Linux で AppImages を使用する方法

AppImage を使用すると、Linux 開発者はアプリケーションを 1 つのファイルにラップし、任意の Linux ディストリビューションにインストールできます。これにより、物事が大幅に簡素化されます。これらの使用方法とデスクトップに統合する方法を次に示します。

Linux へのソフトウェアのインストール

Linux で AppImages を使用する方法

ソフトウェアのインストールは簡単かつ便利である必要があります。これがどれほど簡単で便利であるかは、主に ディストリビューション のパッケージ マネージャーにかかっています。パッケージ マネージャーは、他の Linux プログラムをダウンロードしてインストールできるソフトウェア アプリケーションです。

派生 Linux ディストリビューションは、親ディストリビューションのパッケージ マネージャーを使用する傾向があります。たとえば、多くの Debian の亜種と派生製品では、

 apt

、RedHat および Fedora ディストリビューションでは、

 dnf

、および Arch ファミリのディストリビューションでは、

 pacman

。したがって、ありがたいことに、パッケージマネージャーはディストリビューションほど多くはありません。

それでも、開発者の観点から見ると、さまざまなパッケージ形式をすべてサポートするということは、アプリケーションを Debian ファミリの DEB ファイル 、RedHat ファミリの RPM などにラップすることを意味します。これには多くの追加オーバーヘッドがかかります。

また、開発者も他の人もディストリビューション用のインストール パッケージを作成していない場合、そのソフトウェアをインストールできないことも意味します。少なくとも、ネイティブではありません。

別のディストリビューションからパッケージをコンピュータに押し込むこと はできるかもしれませんが、それはリスクのない方法ではなく、動作する保証もありません。何をしようとしているのかわかっていれば 、ソース コードをダウンロードしてコンピューター上でアプリケーションをビルド できますが、それはシンプルで便利とは程遠いものです。

Flatpak などのプロジェクトは、ディストリビューションごとにアプリケーションをラッピングするという問題を克服するために設計されました。パッケージを 1 つのファイルにラップして、適切なライブラリやその他の依存関係をバンドルして、ホスト オペレーティング システムに (事実上) 要求を行わないようにすることができれば、どのような環境でも実行できるはずです。分布。

AppImage プロジェクトは まさにそのような取り組みです。 AppImage はプロジェクトの名前で、AppImages はラップされたアプリケーションの名前です。

Linux で AppImages を使用する方法

AppImage の仕組み

AppImage ファイルは従来の意味ではインストールされません。アプリケーション パッケージを構成するコンポーネント ファイルはすべて 1 つのファイル内に含まれています。これらは解凍されず、ファイル システム内の別のディレクトリに保存されます。

パッケージ マネージャーによってインストールされたアプリケーションには、その実行可能ファイルが適切な “/bin” ディレクトリにコピーされます。

 man

ページは「/usr/share/man」ディレクトリなどに保存されます。 AppImages では、その解凍とコピーの手順は発生しません。

AppImage 内にはファイル システムがあり、通常は squashFS ファイル システム です。アプリケーションの実行に必要なファイルは、Linux インストールのメイン ファイル システムではなく、このファイル システム内に保存されます。 AppImage が実行されると、内部ヘルパー プログラムの 1 つが起動され、メイン ファイル システムからアクセスできるように squashFS ファイル システムを「/tmp/mount」にマウントします。次に、アプリケーション自体を起動します。

これが、Snap、Flatpaks、および AppImages からのアプリケーションの起動が、通常のアプリケーションの実行よりもわずかに遅い理由です。これらすべてが機能するには、ホスト ファイル システムに「 ユーザー空間のファイル システム 」と呼ばれるものがインストールされている必要があります。これは、AppImage がホストに置く唯一の依存関係です。 FUSE は通常、最新の Linux ディストリビューションにプリインストールされています。

Linux で AppImages を使用する方法

AppImageファイルの使用

最初に行う必要があるのは、必要なアプリケーションの AppImage をダウンロードすることです。これらはディストリビューションのリポジトリには存在しません。通常、これらはアプリケーション自体の Web サイトで見つかります。

オープンソースの 3D コンピューター支援設計パッケージである 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 にインストールされていますが、大部分の AppImage で使用されているバージョンよりも新しいバージョンです。ライブラリ ファイルをインストールしても、インストールされている FUSE のバージョンには影響しません。

 sudo apt install libfuse2

これで問題はすぐに解決され、Ubuntu Jammy Jellyfish 22.04 で AppImages を問題なく起動できました。

それはすべて素晴らしいことです。しかし、ケーキを持って食べたい場合はどうすればよいでしょうか? ターミナル ウィンドウ から AppImage を起動する必要がない、AppImage の使用方法があったとしたらどうでしょうか。 AppImage アプリケーションを通常のネイティブ アプリケーションと同じように起動できれば、はるかに便利です。

ここには明らかな矛盾があります。AppImage の重要な点は、デスクトップに統合されないなど、従来の意味で自動的にインストールされないことです。ただし、AppImageLauncher を使用すればそれは可能です。

Linux で AppImages を使用する方法

アプリイメージランチャー

AppImageLauncher は、指定されたディレクトリを監視します。ディレクトリをスキャンして AppImage ファイルを探します。見つかったそれぞれについて、アプリケーション アイコン (存在する場合) を抽出し、通常のアプリケーションと同様に、AppImage をデスクトップに統合します。

これは、ディレクトリに追加される新しい AppImage ごとに繰り返されます。 AppImage が削除されたことを検出すると、統合が削除されます。そのため、ダウンロードした AppImage ファイルを監視対象のディレクトリにドロップするだけで、デスクトップ環境に統合されます。

Ubuntu または Fedora を使用している場合は、 AppImageLauncher のダウンロード ページ に移動し、[リリース ビルド (最新)] セクションの [アセット] リンクをクリックします。

Fedora の場合は「appimagelauncher-XXX.x86_64.rpm」リンクをクリックし、Ubuntu の場合は「appimagelauncher_XXX.bionic_arm64.deb」ファイルをクリックします。 「XXX」はソフトウェアのバージョン番号を表します。

AppImageLauncher Lite と AppImageLauncher のリンクがあることに注意してください。 AppImageLauncher リンクを使用します。

ダウンロードしたファイルに移動し、ダブルクリックしてインストールを開始します。 GNOME では、これにより「ソフトウェア」アプリケーションが起動します。

Manjaro では、次のコマンドを使用して AppImageLauncher をインストールできます。

 sudo pacman -S appimagelauncher

「Super」キーを押すとAppImageLauncherを起動できます。ほとんどのキーボードでは、左手の「Ctrl」キーと「Alt」キーの間にあります。検索バーに「appim」と入力します。

AppImageLauncher アイコンが表示されます。それをクリックしてアプリケーションを起動します。

少し設定が必要です。どのディレクトリを監視するかを AppImageLauncher に指示する必要があります。 「フォルダー」アイコンをクリックし、AppImage を通常保存するディレクトリを参照します。ここでは「ダウンロード」ディレクトリを選択しました。必要に応じて、サブディレクトリ (「/Downloads/apps」など) を選択することもできます。

AppImageLauncher が他のディレクトリで見つけた AppImage を監視対象ディレクトリに移動するように提案したい場合は、「AppImage ファイルをアプリケーション ディレクトリに移動するかどうかを確認する」チェックボックスが選択されていることを確認してください。しかし、AppImageLauncher が 1 つのディレクトリのみを監視している場合、他の場所にある AppImage をどのように検索するのでしょうか?

その答えは「appimagelauncherd」タブにあります。 「appimagelauncherd」タブをクリックすると、AppImage で複数のディレクトリを監視できることがわかります。

さらにディレクトリを追加するには、緑色の「プラス」アイコンをクリックします。 「自動統合デーモンを自動起動する」チェックボックスが選択されていることを確認してください。選択したら「OK」ボタンをクリックします。

数分待ってから、「Super」キーを押して、監視対象のディレクトリにある AppImage の名前の最初の部分を入力します。私たちの場合は 1 つだけです。

「free」と入力するとすぐに、FreeCAD のアイコンが表示されるはずです。クリックするとアプリケーションが起動します。 AppImage ファイルにアイコンが含まれていない場合は、FreeCAD の場合と同様に、一般的な歯車アイコンが使用されます。

さらにテストするために、 Subsurface アプリケーションの AppImage ファイルをダウンロードしました。それが検出され統合されたことを確認するために約 30 秒待ってから、「Super」キーを押し、「sub」と入力すると、アプリケーションのアイコンが表示されました。今回は、アプリの純正アイコンが見つかって使用されました。

アイコンをクリックするとアプリケーションが起動しました。 AppImage を実行可能にするために chmod を使用する必要さえありませんでした。

もう 1 つの優れた点は、アイコンを右クリックすると、コンテキスト メニューから AppImage を直接削除できることです。

アイコンをランチャーに固定するオプションもあり、AppImages をネイティブ アプリケーションと同じくらい便利に使用できます。

Linux で AppImages を使用する方法

AppImage が増加中

私たちのテスト マシンでは、AppImages から起動されたアプリケーションは、Flatpak アプリケーションよりわずかに速く、Snap アプリケーションよりもはるかに速く読み込まれました。 AppImages を使用すると、インストールする必要のある基盤となるフレームワークが存在しないため、アプリケーション自体に必要なスペースを除けば、AppImages を使用する場合のハード ドライブの占有領域はゼロになります。

オプションの AppImageLauncher アプリケーションを使用すると、多少の工夫が加えられますが、それがなくても AppImages を問題なく使用できます。

AppImage を提供するアプリケーションが増えています。ディストリビューションのリポジトリに存在しないものをインストールしようとしている場合は、アプリケーションの Web サイトをチェックしてください。 AppImage を持っている可能性があります。

「 Linux で AppImages を使用する方法」に関するベスト動画選定!

Linuxメニューにappimageを追加する方法
【知識ゼロから始めるLinux第18回】アプリのインストール Part7 AppImage編 Etcherを入れよう【ずんだLinux入門】