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


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.