如何强制 Unity 重新加载 ~/.local/share/applications/

如何强制 Unity 重新加载 ~/.local/share/applications/

假设我myapp.desktop在 处更改/添加了某个文件~/.local/share/applications/。一段时间内,Ubuntu Unity 仍会在 Ubuntu 按钮下的 Unity 镜头中显示旧应用程序快捷方式。需要一些时间(或只需重启一次)才能更新那里的应用程序列表。

如何强制 Unity 重新加载~/.local/share/applications并在镜头中正确反映快捷方式?

答案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

相关内容