Основна хитрість - правильно з’ясувати, де знаходяться фактичні значки.
Для того щоб визначити, що давайте проаналізуємо піктограми HTML. Конвенція імен для іконок така ж, як і для типу MIME, лише /замінюється -великими літерами та не допускається. Тобто тип MIME, скажімо, text/x-changelogматиме піктограму з назвою text-x-changelog.svg(або png). MIME-тип для HTML є text/html. Тож його піктограмою буде, text-html.*якщо ми виконаємо команду
find /usr/share/icons/ -type f | grep 'text-html\.'
ми отримаємо кілька місць, де розміщені ці значки:
/usr/share/icons/Humanity/mimes/
/usr/share/icons/gnome/NNxNN/mimetypes/
/usr/share/icons/HighContrast/scalable/mimetypes/
Якщо ми завітаємо до кожного з них із Nautilus, то побачимо, що ця Humanity/папка містить наші поточні іконки, gnome/- деякі старіші. HighContrast/нас не цікавить. Отже, щоб змінити якусь іконку, нам слід замінити значки, розташовані в Humanity/папці.
Також зауважте, що text-html.svgпіктограми, які є масштабованими та повинні бути розміщені у scalableпідпапках (що має бути логічним), замість цього розміщуються у папках різного розміру так само, як і растрові файли PNG.
Після заміни піктограм (у всіх папках відповідно до їх розмірів) кеш піктограм слід оновити:
sudo gtk-update-icon-cache /usr/share/icons/Humanity
Це воно.
Є ще один спосіб визначити перевагу схем іконок - перевірити їх index.themeфайли. Якщо ми подивимося всередину /usr/share/icons/Humanity/index.theme, ми побачимо:
Inherits=gnome,hicolor
Це означає, що піктограми з gnomeі hicolorпапок матимуть менше переваг, ніж ті, що з них Humanity. Це пояснено тут .
Як не дивно, Наутилус не дотримується цих правил успадкування. Коли я додав новий MIME-тип, я спробував розміщуючи свої іконки в /usr/share/icons/gnome/, /usr/share/icons/hicolor, ~/.local/share/icons/hicolor, бази даних значок поновлення на кожному кроці - все марно. Ці значки відображались належним чином assogiateна першій вкладці, але ніколи в Наутілусі. Але коли я помістив їх у Humanityпапку та оновив базу даних значків, вони з’явилися одразу.
Примітка. Все це стосується теми значка за замовчуванням. Якщо ви використовуєте якусь власну тему значків, слід перевірити, де розташовані фактичні значки, і замість цього додати / змінити піктограми. Також у нових дистрибутивах ці правила успадкування можуть змінюватися. Тоді вам слід знайти нову папку, в якій зберігаються фактичні піктограми (якщо її Humanityбільше немає), як було пояснено раніше.