シェル スクリプトを実行するアプリがあり.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
。