Я пытаюсь изменить значок для application/x-hwp
файлов. Я добавил иконки в нужные места и проверил их с помощью assoGiate (после прочтения этой темы ). Это показывает, что мой нужный значок связан с типом файла. Тем не менее, Наутилус все еще показывает старую икону. Как я могу заставить Наутилус показывать правильный значок?
42
Ответы:
Вот набор инструкций, которые должны получить пользовательский значок для файлов 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
) :(не забудьте заменить PathToIcon)
Получил информацию отсюда
источник
~/.local
. Например~/.local/share
, который имитирует папку/usr/local/share
. Ваше локально установленное приложение (т.е. приложение только для вас, а не другие логины) может иметь свои свойства там. Редактировать похожие файлы, например,~/.local/share/icons/XXXX/XXXX
/usr/share/...
. Я имею в видуPathToIcon
. Это должно быть заменено путем к значку на вашем ПК. (если вы думаете, что это может быть сформулировано более четко, не стесняйтесь предлагать редактирование)Основная хитрость заключается в том, чтобы правильно узнать, где находятся реальные значки.
Чтобы определить это, давайте проанализируем значки HTML. Соглашение об именах для значков такое же, как и для MIME-типа,
/
заменяется только на-
заглавные буквы и не допускается. Т.е. MIME-тип, скажем,text/x-changelog
будет иметь иконку с именемtext-x-changelog.svg
(илиpng
). MIME-тип для HTML естьtext/html
. Таким образом, его значок будетtext-html.*
Если мы запустим командумы получим несколько мест, где расположены эти иконки:
Если мы посетим каждый из них с помощью Nautilus, то увидим, что в этой
Humanity/
папке находятся наши текущие значки,gnome/
некоторые старые.HighContrast/
нас не интересует. Таким образом, чтобы изменить какой-либо значок, мы должны заменить иконки, расположенные вHumanity/
папке.Также обратите внимание, что
text-html.svg
значки, которые являются масштабируемыми и должны быть помещены вscalable
подпапку (что должно быть логичным), вместо этого помещаются в папки для разных размеров, так же, как растровые файлы PNG.После замены значков (во всех подпапках в соответствии с их размерами) на нужные необходимо обновить кеш значков:
Вот и все.
Есть еще один способ определить приоритетность схем значков - проверить их
index.theme
файлы. Если мы посмотрим внутрь/usr/share/icons/Humanity/index.theme
, мы увидим:Это означает , что иконки из
gnome
иhicolor
папки будут иметь меньше приоритет , чем те , сHumanity
. Это объясняется здесь .Как ни странно, Наутилус не подчиняется этим правилам наследования. Когда я добавил новый MIME-тип, я попытался размещая свои иконки в
/usr/share/icons/gnome/
,/usr/share/icons/hicolor
,~/.local/share/icons/hicolor
, базы данных значок обновления на каждом шагу - все напрасно. Эти значки правильно отображалисьassogiate
на первой вкладке, но никогда на Наутилусе. Но когда я поместил их вHumanity
папку и обновил базу значков, они появились сразу.NB Все это относится к теме значков по умолчанию. Если вы используете какую-то собственную тему значков, вы должны проверить, где находятся настоящие значки, и вместо этого добавить / изменить значки. Также в более новых дистрибутивах эти правила наследования могут измениться. Затем вы должны найти новую папку, в которой хранятся реальные значки (если это
Humanity
больше не так ), как описано ранее.источник
~/.local
. Например~/.local/share
, который имитирует папку/usr/local/share
. Ваше локально установленное приложение (т.е. приложение только для вас, а не другие логины) может иметь свои свойства там. Редактировать похожие файлы, например,~/.local/share/icons/XXXX/XXXX
Я надеюсь, что вы попытались выйти и войти, чтобы обновить кэш иконок.
Также проверьте, доступен ли ваш значок в правильном размере (тот, который вы используете для отображения типа файла в nautilus).
Вы также можете пропустить бег
gtk-update-icon-cache
.Попробуйте этот учебник: http://swik.net/Ubuntu/Only+Ubuntu/How+To+Change+File-Type+(mimetype)+Icons+in+Ubuntu/chcrf
Попробуйте вручную создать icon.theme, вот пример из awn:
Руководство находится здесь: http://live.gnome.org/GnomeArt/Tutorials/IconThemes
источник
gtk-update-icon-cache
имеет никакого эффекта.1)
следуйте этому хорошему учебнику с красивыми картинками
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».
Выполнено
источник