.desktop ファイルを作ったのに Unity のランチャに表示されない場合の対処方法
先に結論を書いておくと、「.desktop
ファイルを直接 ~/.local/share/applications
以下に作成するのではなく、desktop-file-install
を使用してインストールしましょう。」ということです。
.desktop
ファイルにエラーが含まれている場合、~/.local/share/applications/
以下に直接作成しても Unity のランチャには表示されません。
この時、 desktop-file-install
を使用するとエラーの原因をつかむ事ができます。
(desktop-file-validate
という、エラーチェック専用のコマンドも用意されていますが、今回は使いません)
まず任意のディレクトリに .desktop
ファイルを作成し、以下のように desktop-file-install
を実行します。
1 2 3 4 | $ desktop-file-install --dir="${HOME}/.local/share/applications" myapp.desktop myapp.desktop: error: file contains key "Nme" in group "Desktop Entry" , but keys extending the format should start with "X-" myapp.desktop: error: required key "Name" in group "Desktop Entry" is not present Error on file "myapp.desktop" : Failed to validate the created desktop file |
上記の例では Name
を Nme
とタイポしてしまったためにエラーが起こっています。
これを修正し、再度 desktop-file-install
を実行すれば、~/.local/share/applications/myapp.desktop
が作成されます1。
なお、--dir
を指定しないと /usr/local/share/applications
にインストールしようとします。
管理者権限2が必要ですし、全体に影響するので、基本的には --dir
を付けた方が良いでしょう。
また、--dir
には ~
(チルダ)は使用できないようです。そのため、上記では${HOME}
を使用しています3。
参考
shortcuts - How to force Unity reload ~/.local/share/applications/ - Ask Ubuntu
エラーがあっても無くても、desktop-file-install
を使ってインストールする方が良いのは明らかですね。
0 件のコメント:
コメントを投稿