Наутилус и Немо используют два различных значка для файлов Python:
Но я хочу, чтобы они показали значок Python для всех файлов Python.
mimetype дает тот же результат для обоих файлов:
$ mimetype *.py
buy_test.py: text/x-python
candlestick_test.py: text/x-python
файл-i дает различные выводы:
$ file -i buy_test.py
buy_test.py: text/x-python; charset=us-ascii
$ file -i candlestick_test.py
candlestick_test.py: text/x-objective-c; charset=us-ascii
Вывод для candlestick_test.py является неправильным, но этот файл показывают со значком Python. Никакая идея, почему.
У кого-то здесь была та же проблема: файловый менеджер Ubuntu не показывает надлежащие значки
Но ответ, который он получил, не работает на меня:
$ grep -r 'text/x-python' /usr/share/thumbnailers
Никакой вывод.
Я думаю, что основной diffenrence между этими файлами Python является хижиной:
$ head -n2 buy_test.py
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
$ head -n2 candlestick_test.py
# -*- coding: utf-8 -*-
"""
Когда я использую эту хижину (python 2)...
#!/usr/bin/env python
... существует значок Python, также.
Как Наутилус и Немо выбирают значки файла?
Править:
Некоторая дополнительная информация:
Существует значок Python, если я использую одну из этих хижин:
#!/usr/bin/env python
#!/usr/bin/python
Нет никакого значка Python, если я использую одну из этих хижин:
#!/usr/bin/env python3
#!/usr/bin/python3
Таким образом, похоже, что python3 является проблемой.
РЕДАКТИРОВАНИЕ 2:
xdg-имитируйте возвраты ИМЕНИ ФАЙЛА типа файла запроса тип MIME, соответствующий хижине:
$ xdg-mime query filetype buy_test.py
text/x-python3
$ xdg-mime query filetype candlestick_test.py
text/x-python
И когда я изменяю расширение файла candlestick_test.py на .py3, значок Python исчезает и возвраты типа файла запроса xdg-пантомимы text/x-python3.
РЕДАКТИРОВАНИЕ 3:
Я нашел новый источник информации:
$ gio info ~/python/buy_test.py | grep icon
standard::icon: text-x-python3, text-x-generic
standard::symbolic-icon: text-x-python3-symbolic, text-x-generic-symbolic, text-x-python3, text-x-generic
$ gio info ~/python/candlestick_test.py | grep icon
standard::icon: text-x-python, text-x-generic
standard::symbolic-icon: text-x-python-symbolic, text-x-generic-symbolic, text-x-python, text-x-generic
Таким образом, я предполагаю, я имею в link text-x-python3 файлы к text-x-python значкам так или иначе.
Наконец я мог зафиксировать его!
Насколько я понимаю, Немо и Наутилус пытаются загрузить файл, названный text-x-python3.svg от/usr/share/icons / пантомимы [MyTheme]//[ActualIconSize]/. Если существует такой файл в ~/.local/share/icons / пантомимы [MyTheme]//[ActualIconSize] / он имеет более высокий приоритет. Но ни один из этих каталогов не существовал для моей темы: темный как человечество.
Так попытка Немо/Наутилуса найти, что значок в другой теме. В/usr/share/icons/Humanity-Dark/index.theme определяется который тема попробовать затем:
$ grep Inherits /usr/share/icons/Humanity-Dark/index.theme
Inherits=Humanity,Adwaita,hicolor
Следующая попытка является Человечеством. Существуют значки для text-x-python, но не для text-x-python3. Таким образом, я сделал:
mkdir -p ~/.local/share/icons/Humanity-Dark/mimes/48
cp /usr/share/icons/Humanity/mimes/48/text-x-python.svg ~/.local/share/icons/Humanity-Dark/mimes/48/text-x-python3.svg
То же для размеров значков 16 и 22. Теперь это смотрит как ожидалось:
Возможно, это решение полезно для кого-то еще.
У меня была почти такая же проблема в Thunar. У меня было несколько иное решение. Я использую элементарную тему значков Xfce, поэтому при необходимости измените приведенные ниже команды:
sudo ln -s /usr/share/icons/elementary-xfce/mimes/32/text-x-python.png /usr/share/icons/elementary-xfce/mimes/32/text-x-python3.png
sudo ln -s /usr/share/icons/elementary-xfce/mimes/48/text-x-python.png /usr/share/icons/elementary-xfce/mimes/48/text-x-python3.png
sudo ln -s /usr/share/icons/elementary-xfce/mimes/64/text-x-python.png /usr/share/icons/elementary-xfce/mimes/64/text-x-python3.png
sudo update-icon-caches /usr/share/icons/*
Последняя команда для обновления кеша значков была необходима мне, чтобы увидеть изменения в Thunar. После выполнения приведенных выше команд я просто обновил каталог в Thunar, и все заработало, как ожидалось.