Допустим, я изменил / добавил какой-то файл myapp.desktop
в ~/.local/share/applications/
. Некоторое время Ubuntu Unity будет показывать мне ярлыки старых приложений на объективе Unity под кнопкой Ubuntu. Обновление списка приложений там займет некоторое время (или только один перезапуск).
Как я могу принудительно перезагрузить Unity ~/.local/share/applications
и правильно отразить ярлыки в объективе?
Немного поздно, но я наткнулся на эту тему, прежде чем нашел решение, по крайней мере, для моей проблемы, погуглил что-то связанное, почти сдался.
Согласно этому руководству 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
Существующие файлы с тем же именем будут перезаписаны и обновлены на единицу, вы можете использовать --delete-original
, если источник больше не нужен, или
sudo desktop-file-install ~/myapp.desktop
установить его для всех пользователей.
Способ сделать это - запустить команду
killall unity-scope-home
после открытия приборной панели, процесс снова запускается автоматически.
Затем отображаются правильные значки ...
В соответствии с этим ответом (и вы можете найти много других в том же смысле), к сожалению, похоже, нет команды, которая позволила бы демону unity-application-daemon обновить свой кэш приложений. Но я могу подтвердить, что Unity автоматически обнаружит любые изменения в файлах .desktop
в ~/.local/share/applications
. Если эти изменения не доступны сразу, попробуйте выйти из системы и войти снова, чтобы обновить ее.
update-desktop-database
- это команда для обновления базы данных .desktop
.
Этот ответ не включает перезагрузку рабочего стола.
Хотя и довольно поздно, есть утилита для обновления кэша базы данных рабочего стола с именем 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
Некоторые приложения могут перестать работать должным образом после этой команды. Хром, например, стал полностью черным.
unity --replace
У меня была похожая проблема, исправленная при перезапуске. Я использую Ubuntu 16.04
Я обычно создаю .desktop
файлы в /usr/share/applications/
, если я хочу поделиться файлами рабочего стола с другими пользователями и ~/.local/share/applications
, если только для одного пользователя. И я обычно перезагружаюсь.