![Unity 启动器不会在更新桌面数据库后更新快捷方式(仅在注销后)](https://linux22.com/image/1119734/Unity%20%E5%90%AF%E5%8A%A8%E5%99%A8%E4%B8%8D%E4%BC%9A%E5%9C%A8%E6%9B%B4%E6%96%B0%E6%A1%8C%E9%9D%A2%E6%95%B0%E6%8D%AE%E5%BA%93%E5%90%8E%E6%9B%B4%E6%96%B0%E5%BF%AB%E6%8D%B7%E6%96%B9%E5%BC%8F%EF%BC%88%E4%BB%85%E5%9C%A8%E6%B3%A8%E9%94%80%E5%90%8E%EF%BC%89.png)
我已经编写了我的第一个 Unity 启动器快捷方式并将它们放在 中~/.local/share/applications/
。
问题是,我在终端中触发的任何命令的快捷方式都不会更新。
$ sudo updatedb
$ update-desktop-database
仅当我注销并重新登录时快捷方式才会更新。
我尝试将快捷方式放在根目录中/usr/share/applications/
,然后快捷方式会立即更新。
这里有什么问题?注销时触发了什么以触发更新?
编辑
我已经尝试过这个答案https://askubuntu.com/a/353216/23006推出
$ unity --replace
但这无济于事。
有帮助的是去AltCtrlF1-6并重新lightdm
启动
$ sudo service lightdm restart
但说实话 - 这并不是为一个统一启动器重新启动整个 DE 的解决方案......
答案1
“标准”情况是启动器从位于 的 .desktop 文件中读取其信息/usr/share/applications
。也就是说,除非 中的 .desktop 文件的本地版本代表相同的应用程序~/.local/share/applications
。
但是,当您将 .desktop 文件复制到~/.local/share/applications/
目录时,系统仍会链接到全局文件,直到下次登录。
从那时起,启动器将链接到本地 .desktop 文件,并且您在该本地 .desktop 文件中所做的更改将立即生效。独立quicklist(“自制” 的 .desktop 文件,不会在其本机执行行中调用现有已安装的应用程序)最好位于本地目录中。
答案2
您是否尝试过以下操作?
update-desktop-database ~/.local/share/applications/