如何强制Unity重载〜/ .local / share / applications /
假设我在~/.local/share/applications/
更改/添加了一些myapp.desktop
文件。 有一段时间Ubuntu Unity仍会在Ubuntu按钮下显示Unity镜头的旧应用程序快捷方式。 需要一些时间(或只需一次重启)才能在那里更新应用程序列表。
我如何强制Unity重新加载~/.local/share/applications
并在镜头中正确反映快捷方式?
有点晚了,但我在找到解决方案之前偶然发现了这个问题,至少我的问题,谷歌搜索相关的东西,几乎放弃了。
根据本指南help.ubuntu.com ,不要只在/usr/local/share/applications
或~/.local/share/applications
编辑或创建.desktop
文件。 相反,在其他地方创建文件并使用
desktop-file-install
添加文件。
例如,你创建~/myapp.desktop
并做
desktop-file-install --dir=~/.local/share/applications ~/myapp.desktop
现有的同名文件将被覆盖并统一更新,如果不再需要源,可以使用--delete-original
,或者
sudo desktop-file-install ~/myapp.desktop
为所有用户安装它。
执行此操作的方法是运行该命令
killall unity-scope-home
打开仪表板后,该过程将再次自动启动。
然后显示正确的图标……
根据这个答案 (并且您可以在相同的意义上找到许多其他的),遗憾的是似乎没有命令让unity-applications-daemon刷新其应用程序缓存。 但我可以确认unity将自动检测~/.local/share/applications
.desktop
文件的任何更改。 如果这些更改无法立即显示,请尝试注销并再次进行刷新。
update-desktop-database
是刷新.desktop
数据库的命令。
某些应用程序可能会在此命令后停止正常工作 例如,Chrome变得完全黑了。
unity --replace
我有一个类似的问题,重新启动后修复。 我用的是ubuntu 16.04
我通常在/usr/share/applications/
创建.desktop
文件,如果我想与其他用户和~/.local/share/applications
共享桌面文件(如果只有一个用户)。 而我通常重启。
此答案不涉及桌面重新启动。
虽然很晚,但有一个实用程序命令可以更新名为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