Допустим, я изменил/добавил какой-то myapp.desktop
файл в ~/.local/share/applications/
. Некоторое время Ubuntu Unity будет показывать мне старые ярлыки приложений в линзе Unity под кнопкой Ubuntu. Потребуется некоторое время (или всего одна перезагрузка), чтобы обновить список приложений там.
Как принудительно перезагрузить Unity ~/.local/share/applications
и правильно отобразить сочетания клавиш в Lens?
решение1
Немного поздно, но я наткнулся на эту ветку, прежде чем нашел решение, по крайней мере, моей проблемы, гуглил что-то похожее и почти сдался.
Согласно этому руководствуhelp.ubuntu.com, не просто редактируйте или создавайте .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