<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ja">
	<id>https://wiki.archlinux.jp/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Archusr</id>
	<title>ArchWiki - 利用者の投稿記録 [ja]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.archlinux.jp/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Archusr"/>
	<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php/%E7%89%B9%E5%88%A5:%E6%8A%95%E7%A8%BF%E8%A8%98%E9%8C%B2/Archusr"/>
	<updated>2026-04-14T15:32:51Z</updated>
	<subtitle>利用者の投稿記録</subtitle>
	<generator>MediaWiki 1.44.3</generator>
	<entry>
		<id>https://wiki.archlinux.jp/index.php?title=%E3%83%87%E3%82%B9%E3%82%AF%E3%83%88%E3%83%83%E3%83%97%E3%82%A8%E3%83%B3%E3%83%88%E3%83%AA&amp;diff=20916</id>
		<title>デスクトップエントリ</title>
		<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php?title=%E3%83%87%E3%82%B9%E3%82%AF%E3%83%88%E3%83%83%E3%83%97%E3%82%A8%E3%83%B3%E3%83%88%E3%83%AA&amp;diff=20916"/>
		<updated>2021-07-28T08:25:00Z</updated>

		<summary type="html">&lt;p&gt;Archusr: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Freedesktop.org]]&lt;br /&gt;
[[Category:設定ファイル]]&lt;br /&gt;
[[Category:パッケージ開発]]&lt;br /&gt;
[[en:Desktop entries]]&lt;br /&gt;
[[pt:Desktop entries]]&lt;br /&gt;
[[ru:Desktop entries]]&lt;br /&gt;
[[zh-hans:Desktop entries]]&lt;br /&gt;
デスクトップエントリは [[Xorg|X Window System]] で動作するプログラムの挙動を指定する [https://www.freedesktop.org/wiki/ freedesktop.org] の仕様です。デスクトップエントリは設定ファイルとしてアプリケーションの起動方法やメニューとアイコンの表示方法を定義します。最も一般的なデスクトップエントリは {{ic|.desktop}} と {{ic|.directory}} ファイルです。この記事では有用な標準仕様のデスクトップエントリを作成する方法を簡単に説明します。主にパッケージ作成者やメンテナを対象にしていますが、ソフトウェアの開発者なども読む価値があると思われます。&lt;br /&gt;
&lt;br /&gt;
デスクトップエントリには大きくわけて3つのタイプがあります:&lt;br /&gt;
&lt;br /&gt;
; アプリケーション : アプリケーションのショートカット&lt;br /&gt;
; リンク : ウェブリンクのショートカット。&lt;br /&gt;
; ディレクトリ : メニューエントリのメタデータのコンテナ。&lt;br /&gt;
&lt;br /&gt;
以下のセクションではこれらのエントリを作成したり修正する方法をざっと説明しています。&lt;br /&gt;
&lt;br /&gt;
== アプリケーションエントリ ==&lt;br /&gt;
&lt;br /&gt;
アプリケーションのデスクトップエントリ、または {{ic|.desktop}} ファイルは、基本的にメタ情報の集合でありアプリケーションのショートカットです。これらのファイルは基本的に、システム全体でインストールしたアプリケーションなら {{ic|/usr/share/applications}} または {{ic|/usr/local/share/applications}} に、ユーザー個別にインストールしたアプリケーションなら {{ic|~/.local/share/applications}} に入っています。ユーザーのエントリはシステムのエントリよりも優先されます。&lt;br /&gt;
&lt;br /&gt;
=== サンプルファイル ===&lt;br /&gt;
&lt;br /&gt;
以下はデスクトップエントリの構成のサンプルです。このサンプルは雰囲気を伝えるだけのものであり、利用可能なエントリキー全ての使い方を示してはいません。完全なキーのリストは [https://standards.freedesktop.org/desktop-entry-spec/latest/ freedesktop.org specification] を見てください。&lt;br /&gt;
&lt;br /&gt;
 [Desktop Entry]&lt;br /&gt;
 Type=Application                          # 上述のタイプを指定します&lt;br /&gt;
 Version=1.0                               # ファイルが準拠しているデスクトップエントリ仕様のバージョン&lt;br /&gt;
 Name=jMemorize                            # アプリケーションの名前&lt;br /&gt;
 Comment=Flash card based learning tool    # コメントはツールチップとして使われます&lt;br /&gt;
 Path=/opt/jmemorise                       # 実行ファイルが存在するフォルダのパス&lt;br /&gt;
 Exec=jmemorize                            # アプリケーションの実行可能ファイル&lt;br /&gt;
 Icon=jmemorize                            # エントリを表示するときに使われるアイコンの名前&lt;br /&gt;
 Terminal=false                            # アプリケーションをターミナルで実行する必要があるかどうかを記述&lt;br /&gt;
 Categories=Education;Languages;Java;      # エントリを表示するカテゴリを記述&lt;br /&gt;
&lt;br /&gt;
=== キーの定義 ===&lt;br /&gt;
&lt;br /&gt;
[https://standards.freedesktop.org/desktop-entry-spec/latest/ar01s05.html freedesktop.org のサイト] にデスクトップが認識する全てのデスクトップエントリが記載されています。例えば、{{Ic|Type}} キーは3つのタイプのデスクトップエントリを定義します: アプリケーション (Application, タイプ1), リンク (Link, タイプ2), ディレクトリ (Directory, タイプ3)。&lt;br /&gt;
&lt;br /&gt;
* {{Ic|Version}} キーはアプリケーションのバージョンを表すものではなく、デスクトップエントリが準拠しているデスクトップエントリ規格のバージョンを指定します。&lt;br /&gt;
&lt;br /&gt;
* {{Ic|Name}}, {{Ic|GenericName}}, {{Ic|Comment}} はしばしば以下のように同じような値が使われることがありますが:&lt;br /&gt;
&lt;br /&gt;
 Name=Pidgin Internet Messenger&lt;br /&gt;
 GenericName=Internet Messenger&lt;br /&gt;
または:&lt;br /&gt;
 Name=NoteCase notes manager&lt;br /&gt;
 Comment=Notes Manager&lt;br /&gt;
&lt;br /&gt;
上記のような設定はユーザーを混乱させるだけなので止めてください。{{Ic|Name}} キーにはアプリケーションの名前 (あるいはその省略語や頭字語) だけを書いてください。&lt;br /&gt;
&lt;br /&gt;
* {{Ic|GenericName}} にはアプリケーションがどのようなものなのかを示す名称を指定します (例えば Firefox なら &amp;quot;Web Browser&amp;quot;)。&lt;br /&gt;
* {{Ic|Comment}} は何らかの追加情報を記入します。&lt;br /&gt;
&lt;br /&gt;
==== 非推奨 ====&lt;br /&gt;
&lt;br /&gt;
標準が確立されるに従って非推奨となったキーもいくつか存在しています。{{Pkg|desktop-file-utils}} パッケージに含まれている {{Ic|desktop-file-validate}} を使うのが確認するのに一番最適かつシンプルな方法です。確証するには、次を実行:&lt;br /&gt;
 $ desktop-file-validate &amp;lt;your desktop file&amp;gt;&lt;br /&gt;
上記のコマンドで詳細かつ有用な警告・エラーメッセージが表示されます。&lt;br /&gt;
&lt;br /&gt;
== アイコン ==&lt;br /&gt;
&lt;br /&gt;
=== 一般的な画像フォーマット ===&lt;br /&gt;
&lt;br /&gt;
以下はアイコンとしてよく使われている画像フォーマットの簡単な概要です。&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|+ [https://standards.freedesktop.org/icon-theme-spec/latest/ar01s02.html freedesktop.org の仕様] で指定されているアイコンとしてサポートされる画像フォーマット&lt;br /&gt;
! 拡張子&lt;br /&gt;
! フルネームまたは説明&lt;br /&gt;
! グラフィック形式&lt;br /&gt;
! コンテナフォーマット&lt;br /&gt;
! サポート&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot; | .[[wikipedia:ja:Portable Network Graphics|png]]&lt;br /&gt;
| Portable Network Graphics&lt;br /&gt;
| [[wikipedia:Raster graphics|ラスタ]]&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot; | .[[wikipedia:ja:Scalable Vector Graphics|svg(z)]]&lt;br /&gt;
| Scalable Vector Graphics&lt;br /&gt;
| [[wikipedia:Vector graphics|ベクタ]]&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{G|Yes (オプション)}}&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot; | .[[wikipedia:X PixMap|xpm]]&lt;br /&gt;
| X PixMap&lt;br /&gt;
| [[wikipedia:Raster graphics|ラスタ]]&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{Y|Yes (非推奨)}}&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot; | .[[wikipedia:Graphics Interchange Format|gif]]&lt;br /&gt;
| Graphics Interchange Format&lt;br /&gt;
| [[wikipedia:Raster graphics|ラスタ]]&lt;br /&gt;
| {{No}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot; | .[[wikipedia:ICO (icon image file format)|ico]]&lt;br /&gt;
| MS Windows Icon Format&lt;br /&gt;
| [[wikipedia:Raster graphics|ラスタ]]&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
|-&lt;br /&gt;
!align=&amp;quot;left&amp;quot; | .[[wikipedia:Apple Icon Image|icns]]&lt;br /&gt;
| Apple Icon Image&lt;br /&gt;
| [[wikipedia:Raster graphics|ラスタ]]&lt;br /&gt;
| {{Yes}}&lt;br /&gt;
| {{No}}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== アイコンの変換 ===&lt;br /&gt;
&lt;br /&gt;
(&#039;&#039;gif&#039;&#039; や &#039;&#039;ico&#039;&#039; など) freedesktop.org の仕様でサポートされていないフォーマットのアイコンしか見つからなかった場合、&#039;&#039;convert&#039;&#039; でサポート/推奨されているフォーマットに変換できます (&#039;&#039;convert&#039;&#039; は {{Pkg|imagemagick}} パッケージに含まれています):&lt;br /&gt;
 $ convert &amp;lt;icon name&amp;gt;.gif &amp;lt;icon name&amp;gt;.png&lt;br /&gt;
&#039;&#039;ico&#039;&#039; などのコンテナフォーマットから変換した場合、&#039;&#039;&amp;lt;icon name&amp;gt;-&amp;lt;number&amp;gt;.png&#039;&#039; という名前で &#039;&#039;ico&#039;&#039; ファイルにカプセル化されていた画像が取得できます。画像のサイズや &#039;&#039;ico&#039;&#039; などのコンテナに含まれている画像の数を調べたいときは ({{Pkg|imagemagick}} パッケージに含まれている) &#039;&#039;identify&#039;&#039; を使います:&lt;br /&gt;
{{hc|$ identify /usr/share/vlc/vlc48x48.ico|&lt;br /&gt;
/usr/share/vlc/vlc48x48.ico[0] ICO 32x32 32x32+0+0 8-bit DirectClass 84.3kb&lt;br /&gt;
/usr/share/vlc/vlc48x48.ico[1] ICO 16x16 16x16+0+0 8-bit DirectClass 84.3kb&lt;br /&gt;
/usr/share/vlc/vlc48x48.ico[2] ICO 128x128 128x128+0+0 8-bit DirectClass 84.3kb&lt;br /&gt;
/usr/share/vlc/vlc48x48.ico[3] ICO 48x48 48x48+0+0 8-bit DirectClass 84.3kb&lt;br /&gt;
/usr/share/vlc/vlc48x48.ico[4] ICO 32x32 32x32+0+0 8-bit DirectClass 84.3kb&lt;br /&gt;
/usr/share/vlc/vlc48x48.ico[5] ICO 16x16 16x16+0+0 8-bit DirectClass 84.3kb&lt;br /&gt;
}}&lt;br /&gt;
上記の &#039;&#039;ico&#039;&#039; ファイルでは、ファイル名からは 48x48 の画像しか含まれていないように見えますが、実は6つのサイズの画像が含まれていて、中には 48x48 よりも大きな 128x128 の画像もあります。&lt;br /&gt;
&lt;br /&gt;
=== アイコンの取得 ===&lt;br /&gt;
&lt;br /&gt;
大抵 .desktop ファイルが付属しているパッケージにはアイコンが含まれていますが、アイコンは存在するのに .desktop ファイルが開発者によって作られていない場合もあります。まずはソースパッケージの中にアイコンが存在しないか確認すると良いでしょう。ソースパッケージの中に大量の画像が存在するときは、&#039;&#039;&#039;find&#039;&#039;&#039; を使って拡張子でファイルを絞り込んで、それから &#039;&#039;&#039;grep&#039;&#039;&#039; を使ってパッケージ名や &amp;quot;icon&amp;quot; あるいは &amp;quot;logo&amp;quot; などのキーワードで検索をかけましょう:&lt;br /&gt;
 $ find /path/to/source/package -regex &amp;quot;.*\.\(svg\|png\|xpm\|gif\|ico\)$&amp;quot;&lt;br /&gt;
アプリケーションの開発者がソースパッケージにアイコンを含めていないときは、アプリケーションのウェブサイトを検索しましょう。&#039;&#039;tvbrowser&#039;&#039; など、プロジェクトによってはウェブサイトに [http://enwiki.tvbrowser.org/index.php/Banners,_Logos_and_other_Promotion_Material アートワーク/ロゴのページ] が存在しアイコンをダウンロードすることができます。プロジェクトがマルチプラットフォームの場合、Linux/UNIX パッケージにアイコンが付属していなくても、Windows パッケージには存在する可能性があります。プロジェクトが CVS や SVN などの[[wikipedia:Version control system|バージョン管理システム]]を使用している場合、リポジトリにアイコンが存在しないか確認してください。どうやっても見つからないのであれば、プロジェクトにまだアイコンやロゴがないのかもしれません。&lt;br /&gt;
&lt;br /&gt;
== ツール ==&lt;br /&gt;
&lt;br /&gt;
=== gendesk ===&lt;br /&gt;
{{Pkg|gendesk}} は PKGBUILD ファイルから直接情報を取得して .desktop ファイルを生成する Arch Linux 専用のツールとして開発がスタートしました。今ではコマンドライン引数を使用する汎用のツールとなっています。&lt;br /&gt;
&lt;br /&gt;
アイコンは [http://openiconlibrary.sourceforge.net/ openiconlibrary] から自動的にダウンロードすることが可能です (アイコンのソースは将来変更される可能性があります)。&lt;br /&gt;
&lt;br /&gt;
==== 使用方法 ====&lt;br /&gt;
&lt;br /&gt;
* {{Ic|gendesk}} を makedepends に追加&lt;br /&gt;
&lt;br /&gt;
* {{Ic|prepare()}} 関数に以下を記入:&lt;br /&gt;
&lt;br /&gt;
{{bc|gendesk --pkgname &amp;quot;$pkgname&amp;quot; --pkgdesc &amp;quot;$pkgdesc&amp;quot;}}&lt;br /&gt;
&lt;br /&gt;
* もしくは、アイコンが既に含まれている場合 (例: $pkgname.png)、{{Ic|-n}} フラグを使います。例:&lt;br /&gt;
&lt;br /&gt;
{{bc|gendesk -n --pkgname &amp;quot;$pkgname&amp;quot; --pkgdesc &amp;quot;$pkgdesc&amp;quot;}}&lt;br /&gt;
&lt;br /&gt;
* 作成された {{Ic|$srcdir/$pkgname.desktop}} は {{Ic|package()}} 関数でインストールします:&lt;br /&gt;
&lt;br /&gt;
{{bc|install -Dm644 &amp;quot;$pkgname.desktop&amp;quot; &amp;quot;$pkgdir/usr/share/applications/$pkgname.desktop&amp;quot;}}&lt;br /&gt;
&lt;br /&gt;
* アイコンをインストールするには:&lt;br /&gt;
&lt;br /&gt;
{{bc|install -Dm644 &amp;quot;$pkgname.png&amp;quot; &amp;quot;$pkgdir/usr/share/pixmaps/$pkgname.png&amp;quot;}}&lt;br /&gt;
&lt;br /&gt;
* {{Ic|1=--name=&#039;Program Name&#039;}} でメニューエントリの名前を決めることができます。&lt;br /&gt;
&lt;br /&gt;
* {{Ic|1=--exec=&#039;/opt/some_app/elf --with-ponies&#039;}} で exec フィールドを設定することができます。&lt;br /&gt;
&lt;br /&gt;
* 詳しくは [https://github.com/xyproto/gendesk gendesk プロジェクト] を参照。&lt;br /&gt;
&lt;br /&gt;
=== *.desktop ファイルから検索 ===&lt;br /&gt;
&lt;br /&gt;
{{AUR|lsdesktopf}} bash スクリプトは &amp;quot;Categories&amp;quot; や &amp;quot;Exec&amp;quot; の中身を検索します。&amp;quot;Categories&amp;quot; が存在しないときは &amp;quot;Name&amp;quot; の中身を使います。*.desktop のコマンドラインやカテゴリを使って利用可能なプログラムをコンソールで簡単に確認することが可能です。&amp;quot;DskPath&amp;quot; 配列で定義された既存のベースパスをカラーで表示します。&lt;br /&gt;
&lt;br /&gt;
例:&lt;br /&gt;
 # lsdesktopf&lt;br /&gt;
 # lsdesktopf game&lt;br /&gt;
 # lsdesktopf gtk&lt;br /&gt;
&lt;br /&gt;
=== fbrokendesktop ===&lt;br /&gt;
&lt;br /&gt;
{{AUR|fbrokendesktop}} bash スクリプトは &amp;quot;which&amp;quot; コマンドを使って既存のパスに存在しない Exec を指定していないか確認します。パラメータを指定しなかった場合、fbrokendesktop は &amp;quot;DskPath&amp;quot; 配列のプリセットフォルダを使います。破損している *.desktop だけを表示します。&lt;br /&gt;
&lt;br /&gt;
例:&lt;br /&gt;
&lt;br /&gt;
 # fbrokendesktop&lt;br /&gt;
 # fbrokendesktop /usr&lt;br /&gt;
 # fbrokendesktop /usr/share/apps/kdm/sessions/icewm.desktop&lt;br /&gt;
&lt;br /&gt;
== ヒントとテクニック ==&lt;br /&gt;
&lt;br /&gt;
=== デスクトップエントリの隠匿 ===&lt;br /&gt;
&lt;br /&gt;
{{Tip|デスクトップエントリは {{ic|/dev/null}} へのシンボリックリンクを作成することで隠匿できます。例えば: {{ic|$ ln -s /dev/null ~/.local/share/applications/&#039;&#039;foo&#039;&#039;.desktop}}。}}&lt;br /&gt;
&lt;br /&gt;
まず、問題のデスクトップエントリファイルを {{ic|~/.local/share/applications}} にコピーして、変更が上書きされないようにして下さい。&lt;br /&gt;
&lt;br /&gt;
次に、全ての環境でエントリが表示されないようにするには、デスクトップエントリファイルをテキストエディタで開いて次の行を追加します: {{ic|NoDisplay&amp;amp;#61;true}}。&lt;br /&gt;
&lt;br /&gt;
特定のデスクトップでエントリが表示されないようにするには、デスクトップエントリファイルに次の行を追加します: {{ic|NotShowIn&amp;amp;#61;&#039;&#039;desktop-name&#039;&#039;}}。&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;desktop-name&#039;&#039; は &#039;&#039;GNOME&#039;&#039;, &#039;&#039;Xfce&#039;&#039;, &#039;&#039;KDE&#039;&#039; などに置き換えて下さい。複数のデスクトップでデスクトップエントリを隠匿することもできます。デスクトップの名前をセミコロンで区切って複数指定して下さい。&lt;br /&gt;
&lt;br /&gt;
=== 自動起動 ===&lt;br /&gt;
&lt;br /&gt;
GNOME や KDE など XDG 互換のデスクトップ環境を使っている場合、デスクトップ環境は以下のディレクトリにある {{ic|*.desktop}} ファイルを自動的に起動します:&lt;br /&gt;
&lt;br /&gt;
* システム全体: {{ic|$XDG_CONFIG_DIRS/autostart/}} (デフォルトでは {{ic|/etc/xdg/autostart/}})&lt;br /&gt;
:* GNOME は {{ic|/usr/share/gnome/autostart/}} にあるファイルも起動します。&lt;br /&gt;
* ユーザー個別: {{ic|$XDG_CONFIG_HOME/autostart/}} (デフォルトでは {{ic|~/.config/autostart/}})&lt;br /&gt;
&lt;br /&gt;
システム全体の {{ic|*.desktop}} ファイルをユーザー個別の {{ic|~/.config/autostart/}} フォルダにコピーすることで上書きすることができます。&lt;br /&gt;
&lt;br /&gt;
デスクトップファイルの仕様については [https://standards.freedesktop.org/desktop-entry-spec/latest/ Desktop Entry Specification] を参照してください。ディレクトリの詳しい説明は [https://standards.freedesktop.org/autostart-spec/autostart-spec-latest.html Desktop Application Autostart Specification] を見て下さい。 &lt;br /&gt;
&lt;br /&gt;
{{Note|この方法は XDG 互換のデスクトップ環境でしか使えません。サポートされていないデスクトップ環境では {{AUR|dapper}}, {{pkg|dex}}, {{AUR|fbautostart}} などのツールを使うことで XDG の自動起動を行うようにすることができます。ただし、それには他の自動起動の手段が必要です。その手段を使って XDG 互換の自動起動ツールを実行して下さい。}}&lt;br /&gt;
&lt;br /&gt;
=== 環境変数の修正 ===&lt;br /&gt;
&lt;br /&gt;
{{ic|env}} を追加するように {{ic|Exec}} コマンドを編集します。例:&lt;br /&gt;
&lt;br /&gt;
{{hc|~/.local/share/applications/abiword.desktop|2=&lt;br /&gt;
Exec=env LANG=he_IL.UTF-8 abiword %U&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== 参照 ==&lt;br /&gt;
&lt;br /&gt;
* [[en2:DeveloperWiki:Removal of desktop files|DeveloperWiki:Removal of desktop files]]&lt;br /&gt;
* [[Wikipedia:.desktop|desktop wikipedia article]]&lt;br /&gt;
* [https://specifications.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html#recognized-keys recognized desktop entry keys]&lt;br /&gt;
* [https://freedesktop.org/wiki/Specifications/desktop-entry-spec freedesktop.org desktop entry specification]&lt;br /&gt;
* [https://freedesktop.org/wiki/Specifications/icon-theme-spec freedesktop.org icon theme specification]&lt;br /&gt;
* [https://freedesktop.org/wiki/Specifications/menu-spec freedesktop.org menu specification]&lt;br /&gt;
* [https://freedesktop.org/wiki/Specifications/basedir-spec freedesktop.org basedir specification]&lt;br /&gt;
* [https://freedesktop.org/wiki/Howto_desktop_files information for developers]&lt;/div&gt;</summary>
		<author><name>Archusr</name></author>
	</entry>
</feed>