Как обновить кэш иконок?


17

Прежде всего, я не уверен на 100%, что главный вопрос, который я здесь написал, на самом деле является проблемой, но у меня есть догадка, что это так. Некоторое время назад я написал простое приложение на Gtk # в Mono и дал ему собственный ICO в качестве файла значков. Работал отлично.

Недавно я заменил этот значок на другой, но когда я собираю и запускаю программу, он все равно показывает значок. Я удостоверился, что обновил все ссылки на файл значков на новый, и полностью удалил старый значок с жесткого диска. Но он все еще появляется в Launcher, когда я запускаю программу.

Я предполагаю, что это означает, что Gtk кэширует иконки где-то в Ubuntu, и мне, вероятно, нужно принудительно обновить их. Любой совет?

Ответы:


25

запустите следующее в терминале:

sudo update-icon-caches /usr/share/icons/*

+1, работает безупречно на Wayland.
Анкостис

Все еще актуально. Только что исправлена ​​проблема со значком моего приложения в Ubuntu 19.04.
Джейми Карл

4

Тебе нужно:

  • Обновите отметку времени в каталоге значков верхнего уровня
  • Бегать 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#Icon_Cache


2

В командной строке терминала введите:

$ unity

Это обновит ваши значки * .desktop в Launcher.

Если проблема не в Ubuntu Launcher, а в самом приложении, посмотрите http://stackoverflow.com для программных решений.

Ответ на вопрос, аналогичный этому, можно получить по адресу /programming/5315359/custom-libindicator-icon-is-not-displayed/6503807#6503807.

Также смотрите: https://developer.gnome.org/gtk3/stable/gtk-update-icon-cache.html


Это не сработало
soapergem

@SoaperGEM unityПроблема с фактическим лаунчером . Запуск единства в командной строке обновит иконки запуска Ubuntu. Мой ответ был направлен на Ubuntu Launcherпроблему. Поскольку он не работает, скорее всего, это gtkпроблема программирования. Вы можете получить лучшие (более быстрые) ответы с актуальной проблемой программирования на gtk на stackoverflow.com . После разрешения фактического отображения значков программы gtk, когда вы запускаете unityкоманду для обновления кэша Launcher в Ubuntu. Дай мне 5 минут, чтобы обновить мой ответ.
Л.Д. Джеймс

этот ответ нуждается в предупреждении об этом.
Ace

@ Ace Можете ли вы уточнить предупреждение?
Л.Д. Джеймс

3
@LDJames, запущенный в настоящий момент unity, принудительно закроет все запущенные приложения и перезапустит единство. Я потерял данные в своем браузере из-за этого.
Ace
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.