Що таке icon-theme.cache?


10

Коли я запускаю таку команду на своєму Lubuntu 12.10

[11:09 PM] ~ $ find /usr/share/icons/ -iname icon-theme.cache -type f

Я отримую наступне (після додавання останньої модифікованої дати та розміру):

/usr/share/icons/lubuntu/icon-theme.cache              20121125  61.2 KiB
/usr/share/icons/Humanity-Dark/icon-theme.cache        20120810  40.6 KiB
/usr/share/icons/Humanity/icon-theme.cache             20120810 931.9 KiB
/usr/share/icons/gnome/icon-theme.cache                20121017  65.8 MiB
/usr/share/icons/ubuntu-mono-light/icon-theme.cache    20130408 140.0 KiB
/usr/share/icons/LoginIcons/icon-theme.cache           20130408   628 bytes
/usr/share/icons/ubuntu-mono-dark/icon-theme.cache     20130408 139.9 KiB
/usr/share/icons/hicolor/icon-theme.cache              20130406  12.4 MiB
/usr/share/icons/elementary-mono-dark/icon-theme.cache 20120926  12.4 KiB

І всі ці файли, як показано в прикладі нижче, мають тип TrueType font data:

[11:09 PM] ~ $ file /usr/share/icons/hicolor/icon-theme.cache
/usr/share/icons/hicolor/icon-theme.cache: TrueType font data

Мої запитання, всі тісно пов'язані з цим:

  • Що таке icon-theme.cacheі яка її функція? Яке значення мають cacheці назви файлів? Визначення тегу кеша таке: " Кеш зберігає тимчасові дані поблизу, щоб їх можна було отримати набагато швидше, ніж витягнути його з реального резервного сховища (диск, мережа) або перерахувати якийсь результат знову ".
  • Чому розміри файлів настільки різноманітні? Чи є gnomeі hicolorті , найбільші , тому що вони забезпечують іконки заміщають (як я де - то читав)?
  • Що з датами? Я впевнений лише в тому ubuntu-mono, що вони з'явилися, коли я встановив light-themes20130408. Отже, ці файли змінюються під час переключення тем чи дані є лише відображенням дати встановлення?

Відповіді:


12

Щоб зрозуміти, навіщо нам потрібні ці файли, потрібно спершу зрозуміти поняття відображення файлів у пам'ять .

Файли з картографічною пам'яттю: Файли, відображені в пам'яті, - це сегменти віртуальної пам’яті, які безпосередньо відображаються у фізичний файл на диску, байт-байт. Він має низку переваг перед традиційним введенням-виведенням на основі потоку, наприклад, продуктивністю під час випадкового доступу до великих файлів або можливістю спільного використання відображеної пам'яті між різними потоками та процесами.

Доступ до файлів, зіставлених з пам'яттю, швидше, ніж використання операцій прямого читання та запису з двох причин. По-перше, системний виклик на порядок менший, ніж проста зміна локальної пам'яті програми. По-друге, у більшості операційних систем карта області пам’яті, відображена насправді, є кешем сторінки ядра (кеш файлу), що означає, що в просторі користувача не потрібно створювати жодної копії.

Тепер, беручи запитання по черзі:

  1. Що таке icon-theme.cache та яка його функція? Яке значення кешу у цих іменах?

    Файл icon-theme.cache містить кешовану інформацію про піктограми в дереві каталогів нижче певного каталогу (який, можливо, є тим, що містить index.themeпевну тему).

    GTK + може використовувати кеш-файли, щоб уникнути великої кількості системних викликів і диска, які шукають накладних витрат при запуску програми. Оскільки формат файлів кешу дозволяє їм відображати пам'ять, поділену між різними програмами, також зменшується загальне споживання пам'яті.

  2. Чому розміри файлів настільки різноманітні?

    Розміри файлів залежать від кількості піктограм у темі значків.

  3. Що з датами?

    Якщо ми беремо кеші пам’яті, щось є в кеші лише в тому випадку, якщо якийсь процес має доступ до певного місця пам'яті і залишається там, якщо кеш не заповнений і цей елемент потрібно видалити.

    Отже, дата модифікації, швидше за все, залежатиме від того, коли якийсь процес оновив її. У цьому випадку це може бути, коли використовувались піктограми з теми.

    Дійсно, є команда оновити кеш ікон з назвою gtk-update-icon-cache.

Джерела та додаткова інформація:

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.