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

17

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

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

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

soapergem
источник

Ответы:

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