Некоторые иконки разбиты в меню приложения

Я использую Xfce-4.10 на Debian 7. Но я обнаружил, что некоторые иконки отсутствуют (и только «x» появляются) в меню приложения. Возьмите ipython3 в качестве примера. Вот ipython3.desktop :

 # If you want ipython3 to appear in a linux app launcher ("start menu"), install this by doing: # sudo desktop-file-install ipython3.desktop [Desktop Entry] Comment=Enhanced interactive Python shell Exec=ipython3 GenericName[en_US]=IPython3 GenericName=IPython3 Icon=ipython3 Name[en_US]=ipython3 Name=ipython3 Categories=Development;Utility; StartupNotify=false Terminal=true Type=Application 

Тема установлена ​​(в настоящее время тема tango-icon-theme , но другие темы тоже не работают). Файл значка находится в /usr/share/icons/hicolor/scalable/apps/ipython3.svg . Он может отображаться в средстве просмотра изображений.

Переустановка ipython3 не помогает. Я также попытался заменить ipython3.svg некоторыми другими нормальными файлами значков (например, libreoffice-calc.svg ). Это тоже не помогает.

Любые идеи вернуть иконки? Спасибо.

Попробуй

 gtk-update-icon-cache /usr/share/icons/hicolor/ 

как root для обновления кеша значков. Он также может быть выполнен для других каталогов, содержащих темы index.theme (с файлами index.theme ).

Вот фрагмент, который я использую на перечной мятой;

 for i in $(find /usr/share/icons/ -maxdepth 1 -type d); do sudo rm -f $i/.icon-theme.cache; sudo gtk-update-icon-cache -t -i $i; done for i in $(find ~/.icons -maxdepth 1 -type d); do sudo rm -f $i/.icon-theme.cache; sudo gtk-update-icon-cache -t -i $i; done 

Вы можете легко сохранить часть кода в файл, например «regeniconcache», в любой каталог, который вы хотите, а затем сделать его исполняемым:

 chmod 755 ~/regeniconcache 

а затем поместите его в папку исполняемых скриптов пользователя:

 sudo ln -sf ~/regeniconcache /usr/sbin/regeniconcache 

от терминала. Каждый раз, когда вы замечаете, что какой-то виджет жалуется на отсутствие файла кэша значков, вы можете просто ввести

 regeniconcache 

в терминал и нажмите enter, и весь кэш иконок будет восстановлен.