Наутилус и Немо не распознают Python 3 файла

Наутилус и Немо используют два различных значка для файлов Python:

Two different icons for python files

Но я хочу, чтобы они показали значок 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 значкам так или иначе.

5
задан 21 August 2018 в 22:37

2 ответа

Наконец я мог зафиксировать его!

Насколько я понимаю, Немо и Наутилус пытаются загрузить файл, названный 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. Теперь это смотрит как ожидалось:

Python icons as expected

Возможно, это решение полезно для кого-то еще.

2
ответ дан 23 November 2019 в 10:34

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

2
ответ дан 1 January 2020 в 22:28

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

Похожие вопросы: