Як змінити піктограму для певного типу файлу?


42

Я намагаюся змінити піктограму для application/x-hwpфайлів. Я додав іконки у відповідні місця та перевірив їх за допомогою assoGiate (після прочитання цієї теми ). Це показує, що потрібний значок пов’язаний з типом файлу. Тим не менш, Наутілус досі показує стару ікону. Як я можу змусити Nautilus показати правильний значок?



@Rinzwind: Дякую На жаль, ця посилання вирішує іншу проблему. Він заснований на зміні піктограм окремих файлів. Я хочу змінити піктограму за замовчуванням для всіх файлів заданого типу.
— Скотт Северанс

Ви використовуєте власну тему значків? Це може заважати іконі, яка повинна з’являтися.
— RBurgundy

Я використовую тему акцій Ambiance. У будь-якому разі це не має значення, оскільки, наскільки мені відомо, жодна тема піктограм не охоплює цей тип файлу. Я просто отримую піктограму, яка з’являється за замовчуванням, коли Наутілус не знає, яку ще піктограму відображати. Крім того, теми значків є ієрархічними, тому якщо відповідну піктограму не можна знайти в поточній темі, ієрархія буде шукана, що в кінцевому рахунку завершиться темою айколора. Мої піктограми встановлені в темних і темних кольорах ubuntu0mono.
— Скотт Северанс

Відповіді:


22

Ось набір інструкцій, які мають отримати вам власну піктограму для hwp-файлів.

Відкрити термінал:

  • Перевірте, чи існує тип MIME: grep 'hwp' /etc/mime.types

    якщо ви отримаєте вихід, що нагадує, application/x-hwp hwpпропустіть наступний крок.

  • Створіть тип MIME sudo -H gedit /etc/mime.typesта додайте рядокapplication/x-hwp hwp

  • Додайте піктограму (яку потрібно викликати application-x-hwp.svg) :

    sudo cp PathToIcon/application-x-hwp.svg /usr/share/icons/gnome/scalable/mimetypes
    

    (не забудьте замінити PathToIcon)

Отримав інформацію звідси


Дякую за пропозицію. У мене ще не було можливості спробувати це все ретельно (поки що немає успіху), але я нагороджую винагороду, тому що інші пропозиції не спрацювали, і я більше не матиму можливості працювати над цим термін дії щедрості закінчується.
— Скотт Северанс

Можливо, вам слід перевірити, чи ваша тема значків успадковується від gnome (більшість тем значків). Ви знайдете цю інформацію в index.theme, що знаходиться в каталозі вашого набору іконок
— danjjl

Вам також потрібно перевірити ~/.local. Наприклад ~/.local/share, що імітує папку /usr/local/share. Ваша локально встановлена ​​програма (тобто програма лише для вас, а не інші входи) може мати там свої властивості. Редагуйте подібні файли, наприклад,~/.local/share/icons/XXXX/XXXX
— Робін Хсу

@danjjl: Що ви маєте на увазі (не забудьте замінити PathToIcon)?
— JoKalliauer

1
@JoKalliauer в команді скопіювати піктограму в /usr/share/... . Я посилаюся на PathToIcon. Це потрібно замінити шляхом до значка на вашому ПК. (якщо ви думаєте, що це могло б бути сформульовано чіткіше, не соромтеся запропонувати редагування)
— danjjl

14

Основна хитрість - правильно з’ясувати, де знаходяться фактичні значки.
Для того щоб визначити, що давайте проаналізуємо піктограми 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більше немає), як було пояснено раніше.


Вам також потрібно перевірити ~/.local. Наприклад ~/.local/share, що імітує папку /usr/local/share. Ваша локально встановлена ​​програма (тобто програма лише для вас, а не інші входи) може мати там свої властивості. Редагуйте подібні файли, наприклад,~/.local/share/icons/XXXX/XXXX
— Робін Хсу

0

Сподіваюся, ви спробували вийти з системи та увійти, щоб оновити кеш іконок.

Подивіться також, чи доступний ваш значок у потрібному розмірі (той, який ви використовуєте для відображення типу файлу у nautilus).

Ви також можете пропустити біг gtk-update-icon-cache.

Спробуйте цей підручник: http://swik.net/Ubuntu/Only+Ubuntu/How+To+Change+File-Type+(mimetype)+Icons+in+Ubuntu/chcrf

Спробуйте вручну створити icon.theme, ось приклад, який я маю від awn:

[Icon Theme]
Name=awn-theme

Directories=scalable

[scalable]
Size=48
MaxSize=256
Context=Apps
Type=Scalable

Посібник тут: http://live.gnome.org/GnomeArt/Tutorials/IconThemes


Я встановив значок 48x48 і встановив Nautilus на 100%, що використовує 48x48. Без кісток. Повторна реєстрація не має значення. Біг gtk-update-icon-cacheне впливає.
— Скотт Северанс

Я оновив свою відповідь, чи допомогло це?
— Кріс Хасінський

Я не створив тему значків вручну, тому що я не хочу нової теми. Я просто хочу, щоб ікона перейшла в тему айколора, тому що це основа всіх тем іконок. Створення нової теми переможе мою мету.
— Скотт Северанс

-2

1)

 sudo apt-get install assogiate

дотримуйтесь цього хорошого підручника з приємними фотографіями

http://lordamit.blogspot.com/2010/07/change-file-type-icons-mime-type-icons.html


2)

Якщо тип файлу виявлено неправильно або відображається неправильний тип файлу, знайдіть символи, що визначають тип вашого файлу

EX: rar перейдіть на сторінку http://filext.com/file-extension/rar

ідентифікатор "Hex: 52 61 72 21 1A 07 00, ASCII: Rar!"

відкрийте файл у благословенному чи будь-якому шестигранному редакторі та знайдіть ідентифікатор та зсув (де починаються ваші ключові слова)

у нашому випадку це біт першої частини, так що зміщення - "0".

Потім перейдіть до редагування «Тип файлів» або внесіть новий елемент, а потім виберіть редагування та вміст файла

виберіть "рядок" зі спадного списку, введіть "Rar!" і встановити зсув "0".

Зроблено


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