Unity を強制的にリロードする方法 ~/.local/share/applications/

Unity を強制的にリロードする方法 ~/.local/share/applications/

myapp.desktopでファイルを変更/追加したとします~/.local/share/applications/。しばらくの間、Ubuntu Unity は Ubuntu ボタンの下の Unity レンズに古いアプリケーションのショートカットを表示し続けます。アプリケーション リストが更新されるまでには、しばらく時間がかかります (または 1 回の再起動で済みます)。

~/.local/share/applicationsUnity を強制的にリロードし、レンズにショートカットを正しく反映させるにはどうすればよいですか?

答え1

少し遅くなりましたが、少なくとも私の問題に対する解決策を見つける前に、関連する何かをグーグルで検索して、ほとんど諦めかけていたときに、このスレッドに偶然出会いました。

このガイドに従ってヘルプまたは.desktopでファイルを編集したり作成したりしないでください。代わりに、別の場所でファイルを作成し、/usr/local/share/applications~/.local/share/applications

desktop-file-install <your_file.desktop>

ファイルを追加します。

例えば、作成し~/myapp.desktopて実行する

desktop-file-install --dir=$HOME/.local/share/applications ~/myapp.desktop

同じ名前の既存のファイルは上書きされ、Unityが更新されます。--delete-originalソースが不要になった場合は、これを使用できます。

sudo desktop-file-install ~/myapp.desktop

すべてのユーザーにインストールします。

答え2

sudo update-desktop-databaseデータベースを更新します.desktop

答え3

これを行うには、次のコマンドを実行します。

killall unity-scope-home

ダッシュボードを開くと、プロセスが自動的に再開されます。

正しいアイコンが表示されます...

答え4

この回答ではデスクトップの再起動は必要ありません。


かなり遅くなりましたが、 というデスクトップ データベース キャッシュを更新するためのユーティリティ コマンドがありますupdate-desktop-database

に追加されたものを更新するには$HOME/.local/share/applications/、以下を使用します。

>> update-desktop-database

/usr/share/ubuntu/applications、、/usr/share/gnome/applicationsなどのグローバルに追加された内容を更新するには/usr/share/applications、次を使用します。

>> sudo update-desktop-database

関連情報