Desktop Entry Specification

Desktop Entry Specification
http://standards.freedesktop.org/desktop-entry-spec/latest/

デスクトップエントリファイルは

などのデスクトップ環境でメニューを表示する際に使われる。拡張子はdesktopである。

上記仕様書にあるA. Example Desktop Entry Fileから、ファイルの例を引用する。

[Desktop Entry]
Version=1.0
Type=Application
Name=Foo Viewer
Comment=The best viewer for Foo objects available!
TryExec=fooview
Exec=fooview %F
Icon=fooview
MimeType=image/x-foo;
X-KDE-Library=libfooview
X-KDE-FactoryName=fooviewfactory
X-KDE-ServiceType=FooService

上を見れば分かるようにキーと値が"="でつながれている。

必須のキーは Type と Name である。Type には

  • Application
  • Link
  • Directory

のどれかを指定し、Name には文字通り名前を指定する。日本語名を指定するならば、

Name[ja]=Foo ビューア

となるだろう。ファイルの文字コードUTF-8 にすればよい。

アプリケーション (Application) の場合、Exec キーも必須で値にはコマンドが入る。

リンク (Link) の場合、URL キーも必須で値にはアクセスする URL が入る。

必須のキー以外にも、いくつかのキーがある。上記の例にあるものでは

  • Version は仕様のバージョンで今のところ最新が1.0。
  • Comment はアプリケーションの説明文。
  • TryExec はプログラムの実行可能ファイルで、プログラムが実際にインストールされているのかを調べるためにある。なければ、メニューなどに表示されない場合があるらしい。
  • Icon は表示に使うアイコン
  • MimeType はアプリケーションがサポートする MimeType
  • X-KDE で始まるキーは KDE による拡張

他にもキーがあり、例えば StartupNotify キーを false にした場合、起動してもパネルなどに表示されなくなる。仕様書のRecognized desktop entry keysにキーが解説されている。

インストールする場所は /usr/share/applications 以下になっていることが多い。OpenSUSE でデスクトップエントリファイルをインストールする場合、spec ファイルで %suse_update_desktop_file を使う。

作成したデスクトップエントリファイルに問題がないかを調べるには desktop-file-validate を使えばよい。