Как обновить кэш иконок?
Прежде всего, я не уверен на 100%, что главный вопрос, который я здесь написал, на самом деле является проблемой, но у меня есть догадка, что это так. Некоторое время назад я написал простое приложение на Gtk# в Mono и дал ему собственный ICO в качестве файла значков. Работал отлично.
Недавно я заменил этот значок на другой, но когда я собираю и запускаю программу, он все равно показывает значок. Я удостоверился, что обновил все ссылки на файл значков на новый, и полностью удалил старый значок с жесткого диска. Но он все еще появляется в Launcher, когда я запускаю программу.
Я предполагаю, что это означает, что Gtk кэширует иконки где-то в Ubuntu, и мне, вероятно, нужно принудительно обновить их. Любой совет?
4 ответа
Запустите следующее в терминале:
sudo update-icon-caches /usr/share/icons/*
Вам нужно:
- Обновите отметку времени в каталоге значков верхнего уровня
- Бежать
gtk-update-icon-cache
Примечание: hicolor - это тема по умолчанию, которую должны использовать разработчики приложений. если вы создаете тему значков, обновите папку вашей темы значков.
sudo touch /usr/share/icons/hicolor ~/.local/share/icons/hicolor
sudo gtk-update-icon-cache
Смотрите (единственная документация, которую я могу найти для этого): https://fedoraproject.org/wiki/Packaging:Scriptlets
Для Unix SE: см . спецификацию меню рабочего стола XDG . Чтобы обновить список доступных программ запуска рабочего стола в меню «Приложения», запустите:
xdg-desktop-menu forceupdate
Обновление будет отражено через пару секунд.
В командной строке терминала введите:
$ unity
Это обновит ваши значки *.desktop в Launcher.
Если проблема не в Ubuntu Launcher, а в самом приложении, посмотрите http://stackoverflow.com/ для программных решений.
Ответ на вопрос, аналогичный этому, можно получить по адресу https://stackoverflow.com/questions/5315359/custom-libindicator-icon-is-not-displayed/6503807
Также смотрите: https://developer.gnome.org/gtk3/stable/gtk-update-icon-cache.html