.desktop アプリをグローバルにするにはどうすればよいですか?

.desktop アプリをグローバルにするにはどうすればよいですか?

シェル スクリプトを実行するアプリがあり.desktop、このシェル スクリプトはアプリをダブルクリックすると Python コードを実行します。このアプリをラップトップ上のすべてのディレクトリから起動できるようにし、画像やアイコン、アプリのディレクトリが変更されてもアイコンを安定した状態に保ちたいと考えています。

アプリをグローバルにするにはどうすればいいですか?

答え1

Zany_Zachary の回答から明らかなように、 のランチャーは/usr/share/applicationsすべてのユーザーが使用できます。 の下にあるランチャーは~/.local/share/applications現在のユーザーのみが使用できます。 ランチャーがこれらの場所にある場合、デスクトップ メニューまたはランチャーによって選択されます。 この場所は、/usr/share/applicationsオペレーティング システムのソフトウェア管理システム APT によって使用されているディレクトリであるため、カスタム ファイルをそこに配置することはできますが、避けてください.desktop。 代わりに、フォルダーを使用します。/usr/local/share/applicationsこのフォルダは Ubuntu ではデフォルトでは存在しないため、最初に作成する必要がある場合があります。

これが、タイトルの「グローバル」を最も簡単に理解する方法です。ただし、質問では、「グローバル」の下で「ポータブル」なものも理解しているようです。つまり、アイコンやアプリの場所が変わっても動作し続けるということです。それでも、アイコンや実行可能ファイルをどこに置くかは、オペレーティング システムの規則に従う必要があります。したがって、アイコンや実行可能ファイルをどこに.desktop置いても動作し続ける「グローバル」ランチャーというものは存在しません。

この「移植性」には制限があります。まず、アイコンや実行可能ファイルの名前はファイルにハードコードされているため、変更できません.desktop。ただし、ファイルからパスを省略することはできます.desktopが、その場合、アイコンと実行可能ファイルをオペレーティング システムによって検索される特定の場所に配置する必要があります。

アイコン

アイコンは行.desktopのファイルで定義されますIcon=

アイコンの名前のみ(拡張子なし)を指定すると、オペレーティングシステムは検索します ~/.iconsまずと を~/.local/share/icons検索し、次にシステム全体のアイコン ディレクトリ (主に と の下) を検索します/usr/share/icons/usr/local/share/iconsこれらのフォルダーのいずれかにある.pngまたは.svg拡張子のグラフィック ファイルは、メニュー システムによって取得されます。対応するグラフィック ファイルが見つからない場合、システムはデフォルトのフォールバック アイコンに戻ります。

アプリケーション

実行可能ファイルは行.desktopのファイルで定義されますExec=

また、ここでも、完全なファイル パスが指定されていない場合、システムは、一致する名前の実行可能ファイルを定義済みのパスで検索します。 コマンドで検索されるフォルダーとその順序を確認できますecho $PATH

答え2

ご挨拶!

.desktop ファイルをグローバルにするには、次の手順に従います。

置いてください/usr/share/applications

1つのアカウントのみの場合は、/home/$USER/.local/share/applications


残念ながら、画像ファイルを移動したときにアイコンを同じままにすることはできません。アプリケーション アイコンを含むフォルダーを作成することをお勧めします。このフォルダーを に配置します/usr/share

関連情報