Как определяется, какое приложение открыть файл определенного типа mime?

Я видел следующий вопрос , но пока не могу комментировать. Поэтому я решил создать отдельный.

У меня установлены transmission и deluge. И я не имею связи для application/x-bittorrent типа пантомимы, основываясь на содержании /usr/share/gnome/applications/defaults.list и ~/.local/share/applications/mimeapps.list. Но, похоже, расширение .torrent имеет ассоциацию, и оно transmission. То есть, когда я дважды щелкаю файл .torrent, открывается transmission. То же самое происходит, когда я открываю его в chromium.

Вопрос в том, как это получается transmission? Почему нет deluge? Оба имеют этот тип пантомимы в своих файлах .desktop. Хранятся ли ассоциации в другом месте?

UPD

$ egrep bittorrent /usr/share/applications/mimeapps.list
egrep: /usr/share/applications/mimeapps.list: No such file or directory
$ egrep bittorrent /usr/share/applications/mimeinfo.cache
application/x-bittorrent=transmission-gtk.desktop;deluge.desktop;
$ egrep bittorrent /usr/share/applications/defaults.list

$ egrep bittorrent /home/yuri/.local/share/applications/mimeapps.list
$ egrep bittorrent /home/yuri/.local/share/applications/defaults.list
egrep: /home/yuri/.local/share/applications/defaults.list: No such file or directory

По умолчанию установлено значение transmission. Изменение порядка в /usr/share/applications/mimeinfo.cache изменяет приложение по умолчанию. Вероятно, не стоит полагаться на это поведение.

4
задан 13 April 2017 в 15:24

2 ответа

Существует два пути тип MIME и a .desktop файл связан.

Метод 1

Первый путь через *.list Файлы конфигурации MIME (многие существуют в системе, видят ниже). Например, типичная запись в ~/.local/share/applications/mimeapps.list мог бы быть:

[Default Applications]
application/x-bittorrent=transmission.desktop;deluge.desktop

Это означает, что предпочтительное приложение transmission, если это не может быть найдено, то второй выбор deluge.

Метод 2

Второй путь через .desktop сам файл. Приложение рекламирует, какие типы MIME оно может открыть. Например, в transmission-gtk.desktop, у нас есть следующая строка

MimeType=application/x-bittorrent;x-scheme-handler/magnet;

который указывает, что эта программа может обработать те два типа MIME.

Какое приложение использовать?

Ассоциация между типами MIME и Приложениями определяется freedesktop.org стандарты. Вот шаги, сделанные при определении который приложение (т.е. который .desktop файл) для запуска для данного типа MIME.

Шаг 1: Ищите ассоциацию в файлах конфигурации MIME. Порядок поиска следующие:

$XDG_CONFIG_HOME/$desktop-mimeapps.list    
$XDG_CONFIG_HOME/mimeapps.list    
$XDG_CONFIG_DIRS/$desktop-mimeapps.list    
$XDG_CONFIG_DIRS/mimeapps.list    
$XDG_DATA_HOME/applications/$desktop-mimeapps.list    
$XDG_DATA_HOME/applications/mimeapps.list    
$XDG_DATA_DIRS/applications/$desktop-mimeapps.list   
$XDG_DATA_DIRS/applications/mimeapps.list

Шаг 2: После того как все уровни были проверены, если никакая запись не могла бы быть найдена, реализации могут выбрать любой из .desktop файлы связались с типом MIME, приняв во внимание добавленные и удаленные ассоциации (которые существуют в файлах конфигурации MIME).

Хотя у Вас нет файлов конфигурации MIME, причина это transmission используется из-за Шага 2, как определено стандартом. Проверьте Ваш transmission-gtk.desktop файл, чтобы видеть, рекламирует ли это свою способность открыть потоки.

Я предлагаю читать связанный документ для полного понимания.

2
ответ дан 13 April 2017 в 15:24

Вы можете выбрать файл по умолчанию в файле Свойства > Открыть с помощью [вкладка]; например, для видеофайла:

Open with

Вы можете просто выбрать предпочитаемое приложение и установить его по умолчанию.

Вы также можете увидеть список , открытый со списком , если щелкнуть правой кнопкой мыши по файлу. Двойной щелчок открывает его по умолчанию.

0
ответ дан 13 April 2017 в 15:24

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

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