LINUX.ORG.RU

Как правильно готовить кэш иконок?

 , , ,


0

2

После злоключений с цветными эмодзями, выявившими, что ради одного только фонтконфига каждая прога, юзающая оный, при запуске читает кучу мелких файликов из /etc/fonts — решил я покурить strace, дабы узнать, чем там ещё проги мучают диск, что так медленно запускаются. И обнаружил.

ВНЕЗАПНО, есть некий icon-theme.cache, который проги ищут в куче мест и не находят. И из всех установленных тем оказался он только в windows7-icons, которая стоит через репозиторий и посему APT ей кэш сгенерировал. Ну фиг с ними, попробовал сгенерировать руками.

root@localhost:/home/bodqhrohro# gtk-update-icon-cache --include-image-data -f /usr/share/icons/buff-nipuna/
gtk-update-icon-cache: The generated cache was invalid.

И что тебе, свинья-скотина, не нравится? Мало того, сгенерировало оно дотфайл, а проги ищут не дотфайл. Переместил. Но проги битый кэш читать не хотять, и лезуть всё равно за файлами.

openat(AT_FDCWD, "/usr/share/icons/buff-nipuna/icon-theme.cache", O_RDONLY) = 13
fstat(13, {st_mode=S_IFREG|0777, st_size=313115976, ...}) = 0
close(13)                               = 0
open("/usr/share/icons/buff-nipuna/empathy/16x16/actions", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 13
fstat(13, {st_mode=S_IFDIR|0744, st_size=4096, ...}) = 0
getdents(13, /* 3 entries */, 32768)    = 88
getdents(13, /* 0 entries */, 32768)    = 0
close(13)                               = 0
И шо с ним делать? Нашёл пару вопросов на SO, там ничего конкретного, сбои из-за пробелов и собачек в имени и тому подобной бяки. Эт мне чё, всю тему перелопачивать и чинить, чтоб валидный кэш сгенерировался? Или он по другой причине игнорируется?

Что за индусская тема? С каких помоек ты подбираешь подобный треш? Сиди на дефолте, и будет тебе счастье.

anonymous ()
Ответ на: комментарий от Deleted

Наоборот, это текст ­— прошлый, век, щяс всё перекатывается в графику, а там и до прямого обмена мыслями недалеко. Это у линуксоидов ретротяга к тексту, ну прям как в XKCD про IRC.

bodqhrohro_promo ()
Ответ на: комментарий от anonymous

С каких помоек ты подбираешь подобный треш?

Не помню, на гномлуке, кажись. Еле откопал среди тонн флэт-дерьма.

Сиди на дефолте, и будет тебе счастье

Щяс ещё дефолтобыдло будет меня учить. Альзо, если ты промоешь анонимные глаза анонимною мочою, да перечитаешь ОП, то узришь, что кэша нигде, кроме васянской же темы, нету — в т. ч. в дефолтных Tango, HiColor, Gnome и кто там ещё.

bodqhrohro_promo ()
Ответ на: комментарий от bodqhrohro_promo

У меня во всех темах есть кэш:

$ find /usr/share/icons/ -name "*.cache"
/usr/share/icons/Faience-Azur/icon-theme.cache
/usr/share/icons/hicolor/icon-theme.cache
/usr/share/icons/gnome/icon-theme.cache
/usr/share/icons/Adwaita/icon-theme.cache
/usr/share/icons/Faience-Claire/icon-theme.cache
/usr/share/icons/Faience-Ocre/icon-theme.cache
/usr/share/icons/oxygen/icon-theme.cache
/usr/share/icons/Faience/icon-theme.cache
/usr/share/icons/HighContrast/icon-theme.cache

В пакетах тем применяется такая команда:
gtk-update-icon-cache /usr/share/icons/buff-nipuna

nvl ★★ ()
Ответ на: комментарий от nvl

Однако, таки да, я дотфайл искал только.

ls -l /usr/share/iconls -l /usr/share/icons/*/*.cache
-rw-r--r-- 1 root root 105900 Фев  2 01:08 /usr/share/icons/Adwaita/icon-theme.cache
-rw-r--r-- 1 root root 181624 Сен 14 03:24 /usr/share/icons/breeze-dark/icon-theme.cache
-rw-r--r-- 1 root root 186356 Сен 14 03:24 /usr/share/icons/breeze/icon-theme.cache
lrwxrwxrwx 1 root root     36 Фев  9 17:00 /usr/share/icons/buff-nipuna/icon-theme.cache -> /media/d/temp/cache/icon-theme.cache
-rw-r--r-- 1 root root 113244 Фев  8 16:12 /usr/share/icons/gnome/icon-theme.cache
-rw-r--r-- 1 root root  40564 Фев  8 19:50 /usr/share/icons/hicolor/icon-theme.cache
-rw-r--r-- 1 root root  49904 Дек 30 20:43 /usr/share/icons/HighContrast/icon-theme.cache
-rw-r--r-- 1 root root 128996 Авг 11  2017 /usr/share/icons/mate/icon-theme.cache
-rw-r--r-- 1 root root   8164 Авг 11  2017 /usr/share/icons/menta/icon-theme.cache
-rw-r--r-- 1 root root 143528 Сен 15 13:25 /usr/share/icons/oxygen/icon-theme.cache
-rw-r--r-- 1 root root  66860 Июл 20  2017 /usr/share/icons/Tango/icon-theme.cache
bq:18:39:54:/tmp/dl$ ls -l /usr/share/icons/*/.*.cache
-rw-r--r-- 1 root root 312130396 Фев 10 18:37 /usr/share/icons/buff-nipuna/.icon-theme.cache
-rw-r--r-- 1 root root  55686580 Сен 26  2013 /usr/share/icons/windows7-icons/.icon-theme.cache
Но с индекса без иконок толку мало же, файлы всё равно подгружаются с диска поштучно, а не висят общим ммапнутым файлом на все приложения.

bodqhrohro_promo ()

Я понил, дотфайлом лежит битый, а после успешной генерации кэш перемещается в недотфайл.

bodqhrohro_promo ()

Свинья скотина

openat(AT_FDCWD, "/usr/share/icons/buff-nipuna/icon-theme.cache", O_RDONLY) = 13
fstat(13, {st_mode=S_IFREG|0777, st_size=312130396, ...}) = 0
close(13)                               = 0

Что ему ещё не нравится?

bodqhrohro_promo ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.