Ubuntuがアプリケーションの適切な名前を理解する方法を知りたいと思っていました。たとえばOpen with -> Other application
、コンテキストメニューから選択すると、このリストが表示されます。
開発者はUbuntuにアプリケーションの名前をどのように教えますか?また、別の開発者はシステムからアプリケーションの名前をどのように取得できますか?実際のコードは必要ありません。むしろ、概念的な側面にのみ興味があります。
Ubuntuがアプリケーションの適切な名前を理解する方法を知りたいと思っていました。たとえばOpen with -> Other application
、コンテキストメニューから選択すると、このリストが表示されます。
開発者はUbuntuにアプリケーションの名前をどのように教えますか?また、別の開発者はシステムからアプリケーションの名前をどのように取得できますか?実際のコードは必要ありません。むしろ、概念的な側面にのみ興味があります。
回答:
これは、アプリケーションのデスクトップエントリファイルで指定されます。デスクトップエントリファイルは、アプリケーションのランチャー(デスクトップで作成できるランチャーと同じファイル形式)であり、さまざまなメタデータも含まれています。アプリケーションがインストールされると、これらのデスクトップエントリファイルは/ usr / share / applicationsに配置され、速度を向上させるためにその内容もキャッシュされると思います。
ここで定義される重要なデータは、アプリケーションが開くことができるMIMEタイプのリストです。これは、デスクトップエントリファイルの「MimeType」キーで定義されています。たとえば、GIMPのデスクトップエントリには次のものが含まれます。
MimeType=application/postscript;application/pdf;image/bmp;image/g3fax;image/gif;image/x-fits;image/pcx;image/x-portable-anymap;image/x-portable-bitmap;image/x-portable-graymap;image/x-portable-pixmap;image/x-psd;image/x-sgi;image/x-tga;image/x-xbitmap;image/x-xwindowdump;image/x-xcf;image/x-compressed-xcf;image/tiff;image/jpeg;image/x-psp;image/png;image/x-icon;image/x-xpixmap;image/svg+xml;image/x-wmf;
これは、GIMPが開くことができるファイルタイプのリストを指定します。
アプリケーション名は「名前」キーで指定します。
Name=GIMP Image Editor
ご覧のとおり、名前の横にアイコンがあります。これらは、デスクトップエントリファイルでも、アイコン名(アイコンテーマから正しいファイルが検索される)またはアイコンファイルパスとして指定されます。GIMPには次の機能があります。
Icon=gimp
「アプリケーションから開く->他のアプリケーション」ダイアログで、推奨されるアプリケーションは、ファイルの種類を開くことができることを指定するアプリケーションであり、他のアプリケーションは、開かないアプリケーションです。
アプリケーションを選択すると、ファイルマネージャはアプリケーションを実行してファイルを開く方法を調べます。デスクトップエントリで「Exec」キーを探します。GIMPには次の実行キーがあります。
Exec=gimp-2.6 %U
つまり、次のコマンドは
gimp-2.6 %U
ファイルを開くために実行され、開く%U
ように選択されたファイルを表すURL(通常はfile:// urls)のリストに置き換えられます。'%U'に加えて、アプリケーションは単一のURLに '%u'を、単一/複数のファイルパスに '%f' / '%F'を使用できます。
とても簡単です。この情報を含む.desktopファイルがあります。
[Desktop Entry]
Name=Image Viewer
Comment=Browse and rotate images
Exec=eog %U
Type=Application
Categories=GNOME;GTK;Graphics;RasterGraphics;Viewer;
MimeType=image/bmp;image/gif;image/jpeg;image/jpg;image/pjpeg;image/png;image/tiff;image/x-bmp;image/x-gray;image/x-icb;image/x-ico;image/x-png;image/x-portable-anymap;image/x-portable-bitmap;image/x-portable-graymap;image/x-portable-pixmap;image/x-xbitmap;image/x-xpixmap;image/x-pcx;image/svg+xml;image/svg+xml-compressed;image/vnd.wap.wbmp;
/ usr / share / applicationsで確認できます