ウェブサイト検索

Linuxデスクトップにアプリケーションとスクリプトを統合する方法


Linuxでは、デスクトップファイルがないアプリケーションはデスクトップ環境に統合されません。ほとんどのアプリケーションはデスクトップファイルを提供しますが、時には自分で作成する必要があります。それはとても簡単ですので、次の手順に従ってください。

デスクトップファイル

デスクトップファイルは、それに属するアプリケーションまたはスクリプトに関する情報を含んでいます。これらはバイナリエグゼキュータブルと最もよく使用されますが、スクリプトにも使用することができます。簡潔に言うと、ここでは「アプリケーション」とだけ言います。

デスクトップファイルは、デスクトップ環境がアプリケーションを扱う際に参照できるメタデータを含んでいます。デスクトップファイルは、アプリケーションのバイナリまたはスクリプトの場所、使用するアイコンなどを指定します。デスクトップファイルは標準の場所に保存されているため、デスクトップ環境はそれらを信頼して見つけて参照できます。

アプリケーションにデスクトップファイルがない場合、デスクトップ環境との統合の一部が失敗します。アプリケーション検索の結果には表示されず、ドックや他のランチャーにピン留めすることもできません。いくつかのデスクトップ環境では、デスクトップにデスクトップファイルを置くことでショートカットとして機能し、デスクトップファイルをダブルクリックすることでアプリケーションを実行できます。この利用ケースが彼らにその名前を与えました。

アプリケーションにデスクトップファイルが存在しない理由はいくつかあります。インストールルーチンがうまくいかなかったり、デスクトップファイルを提供する予定がないミニマリストインストーラーだったりすることがあります。アプリケーションをソースコードとしてダウンロードし、自分のコンピュータ上でコンパイルする場合、デスクトップファイルが作成されないことがよくあります。

もちろん、自分でアプリケーションを作成した場合、デスクトップファイルの責任もあなたにあります。きちんと動作し、デスクトップ環境の規範や期待に沿ったアプリケーションはプロフェッショナルに感じられ、ユーザーにあなたが何をしているか理解しているという信頼感を与えます。

デスクトップファイルを作成する理由に関係なく、その方法はすべての場合で同じです。

デスクトップファイルの構築

デスクトップファイルは、プレーンテキストファイルです。任意のテキストエディタを使用して作成できます。これらのファイルは、それが表すアプリケーションと同じ名前が付けられ、慣習的に「.desktop」拡張子が付いています。

デスクトップファイルにはコメント、グループヘッダー、キーと値のペアが含まれている場合があります。

  • コメント: コメントはハッシュ「#」で始まります

    #
  • グループヘッダー: グループヘッダーはセクションタイトルの役割を果たします。それらは括弧「[]」で囲まれています。関連するキーとバリューのペアのセットをまとめるために使用されます。唯一の必須グループヘッダーは「[Desktop Entry].」です。
  • キー-値ペア: 設定は、名前付き要素、または「キー」に値を提供することによって入力されます。たとえば、

    Type=Application
  • "タイプ"はキーで、"アプリケーション"は値です。

実際の例

始める前に、アプリケーションが実行されていることを確認してください。ターミナルウィンドウを開き、アプリケーションを起動します。動作する場合は素晴らしいです。デスクトップファイルを作成できます。アプリケーションが動作しない場合、デスクトップファイルに何を記入しても動作しません。

アプリケーションが起動しない原因を修正する必要があります。その後で、デスクトップファイルによる抽象化のレイヤーを追加することを考えてください。

私たちが作業しているプログラムには、<code>taf</code>という実行可能ファイルが「/usr/local/bin/taf/」ディレクトリにあります。アプリケーションを起動して、問題なく起動することを確認します。

./taf

プログラムは問題なく起動します。

その単純なテストは有益な知識をもたらします。デスクトップファイルからアプリケーションを起動しようとして困難に直面した場合、それは問題がアプリケーション自体ではなく、デスクトップファイルに関係していることを意味します。

私たちはデスクトップファイルをどこにでも作成できますが、それを使用するには2つの場所のいずれかにコピーする必要があります。

  • アプリケーションを使うのがあなた一人だけであれば、デスクトップファイルを「~/.local/share/applications」ディレクトリにコピーしてください。
  • すべてのユーザーがアプリケーションを使用できるようにするには、デスクトップファイルを「/usr/share/applications/」ディレクトリにコピーしてください。

完全に動作するデスクトップファイルは、あまり多くの情報を含む必要はありません。ここに私たちが taf アプリケーション用に作成したデスクトップファイルがあります。それは「taf.desktop」と呼ばれています。

[Desktop Entry]

Name=Text Adventure Framework

GenericName=Interpreter for GDL Adventure Scripts

Comment=Game Description Language interpreter

Version=1.0

Exec=/usr/local/bin/taf/taf

Path=/usr/local/bin/taf/

Icon=/usr/local/bin/taf/taf_icon.png

Terminal=false

Type=Application

Categories=GNOME;GTK;Game;

これは自分のデスクトップファイルのテンプレートとして使用できます。作成しているデスクトップファイルのアプリケーションの実行可能ファイルの名前を使用し、ディレクトリパスを適宜修正することを忘れないでください。

これがそれぞれの行の意味です。

  • [デスクトップエントリ]: この行は、ファイルをデスクトップファイルとして識別します。たとえファイルが誤って命名されていて「.desktop」拡張子が付いていなくても、それはデスクトップファイルとして認識され、処理されるべきです。
  • 名前: アプリケーションの完全なタイトルであり、実行ファイルの名前ではありません。デスクトップ環境に表示されるときにアプリケーションのアイコンの下に表示されます。また、ツールチップで使用されるテキストでもあります。
  • 一般名: このアプリケーションの種類に関する一般的な説明です。ウェブブラウザ、IDE、またはワープロなど、適用される一般的な用語がある場合は、それを使用できます。
  • コメント: これは「名前」と「一般名」キーと値のペアを補完するための追加情報を提供することを目的としています。
  • バージョン: このファイルが準拠しているデスクトップファイル仕様のバージョンです。
  • Exec: これは実行可能ファイルの名前、または実行可能ファイルの名前を含むパスの全体である可能性があります。
  • パス: これはアプリケーションが起動されるディレクトリへのパスです。起動時のアプリケーションの作業ディレクトリです。
  • アイコン: アプリケーションのアイコン。このアイコンはアプリケーションの検索結果や、アプリケーションがドックや他のランチャーに追加されたときに使用されます。
  • ターミナル: アプリケーションがターミナルウィンドウで実行されているかどうかを示します。
  • タイプ: 通常のアプリケーションの場合、これは常に「アプリケーション」となります。
  • カテゴリ: この値はセミコロン「;」で終わるべきです。なぜなら、リストを保持しているからです。このリストには、アプリケーションがメニューの下に表示されるカテゴリが含まれています。

ライブデスクトップファイル(「~/.local/share/applications」または「/usr/share/applications」のもの)を変更するたびに、変更の効果を確認するには一度ログアウトして再ログインする必要があります。これを避けるために、update-desktop-database コマンドを使用することができます。その際、sudoを使う必要があります。

sudo update-desktop-database

デスクトップファイルの正確性を確認するユーティリティもあります。構文やその他のエラーを検出した場合、それを報告します。私たちはファイルの「カテゴリ」行に「アプリケーション」という言葉を追加し、それを確認します。

私たちは最後の行を次のように変更しました:

Categories=GNOME;GTK;Game;Application;

これは「アプリケーション」カテゴリーが非推奨になったため、エラーが発生するはずです。

desktop-file-validate taf.desktop

バリデーターは、「アプリケーション」カテゴリが「カテゴリ」リストの許容値ではなくなったという警告を私たちに与えます。

デスクトップファイルを使用する

アプリケーションがあなた専用の場合は、デスクトップファイルを「~/.local/share/applications」ディレクトリにコピーしてください。すべてのユーザーがアプリケーションを使用できる場合は、デスクトップファイルを「/usr/share/applications/」ディレクトリにコピーしてください。

私たちはそれを「/usr/share/applications/」ディレクトリにコピーするつもりです。

sudo cp taf.desktop /usr/share/applications

新しいデスクトップファイルが読み込まれ、そのメタデータがデータベースに追加されることも確認します。

sudo update-desktop-database

「スーパー」キーは通常、左側の「Ctrl」キーと「Alt」キーの間にあります。GNOMEで「スーパー」キーを押すと、アプリケーション検索が開始されます。我々のデスクトップファイルが「テキストアドベンチャーフレームワーク」と呼ばれるアプリケーションを説明しているため、「text」という検索ヒントを入力するだけで、検索結果にそのアプリケーションのアイコンが表示されます。

アイコンをクリックするとアプリケーションが起動します。

アプリケーションはデスクトップ環境にうまく統合されています。そのアイコンは実行中にドックに正しく表示されます。アイコンにカーソルを合わせると、アプリケーションのフルネームが含まれたツールチップが表示されます。

アイコンをクリックすると、アプリケーションが開いているウィンドウを表示するウィンドウプレビューが表示されます。

アプリケーションアイコンを右クリックするとコンテキストメニューが表示されます。「お気に入りに追加」オプションを選択すると、アプリケーションがドックに固定されます。

アプリケーションアイコンは区切り線の上に移動し、ドックの永久アイコンになります。このアイコンは、アプリケーションが実行されていないときでも存在します。

ネイティブになる

ユーザーはデスクトップアプリケーションで特定のことができることを期待しています。彼らはアプリケーションが検索結果に表示されることを期待します。また、アプリケーションはランチャーやドックにピン留めでき、適切に動作するネイティブアプリケーションの他の快適さを持っていると想定します。このようなインタラクションの驚くべき多くはデスクトップファイルによって制御されています。

デスクトップファイルが欠けているアプリケーションを扱っている場合は、それを作成することができます。毎回手動でアプリケーションを起動するよりも断然便利です。

関連記事: