Как изменить значок для определенного типа файла?

Я пытаюсь изменить значок для application/x-hwp файлы. Я добавил иконки в нужные места и проверил их с помощью assoGiate (после прочтения этой темы). Это показывает, что мой нужный значок связан с типом файла. Тем не менее, Наутилус все еще показывает старую икону. Как я могу заставить Наутилус показывать правильный значок?

4 ответа

Вот набор инструкций, которые должны получить пользовательский значок для файлов 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)

Получил информацию отсюда

Основная хитрость заключается в том, чтобы правильно узнать, где находятся реальные значки.
Чтобы определить это, давайте проанализируем значки 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/

Если мы посетим каждого из них с Наутилусом, мы увидим, что 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 папки и обновленные иконки базы данных, они появились сразу.

NB Все это относится к теме значков по умолчанию. Если вы используете какую-то собственную тему значков, вы должны проверить, где находятся настоящие значки, и вместо этого добавить / изменить значки. Также в более новых дистрибутивах эти правила наследования могут измениться. Затем вы должны найти новую папку, в которой хранятся фактические значки (если это не так Humanity больше), как объяснено ранее.

Я надеюсь, что вы попытались выйти из системы и войти, чтобы обновить кэш иконок.

Также проверьте, доступен ли ваш значок в правильном размере (тот, который вы используете для отображения типа файла в 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

1)

 sudo apt-get install assogiate

следуйте этому хорошему учебнику с красивыми картинками

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


2)

Если тип файла не определен правильно или отображается неверный тип файла, найдите тип файла, определяющий символы

Пример: rar, перейдите на http://filext.com/file-extension/rar

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

откройте файл в bless или любом шестнадцатеричном редакторе и найдите идентификатор и смещение (где начинаются ваши ключевые слова)

в нашем случае это первый бит, поэтому смещение равно "0".

Затем перейдите в "Редактор типов файлов", отредактируйте или создайте новый элемент, затем выберите "Редактировать" и под содержимым файла

выберите "строку" из выпадающего списка, введите "Rar!" и установите смещение "0".

Готово

Другие вопросы по тегам