web-dev-qa-db-fra.com

Comment détermine-t-on quelle application doit ouvrir un fichier de type mime spécifique?

J'ai vu la question suivante , mais je ne peux pas encore commenter. J'ai donc décidé d'en créer un autre.

J'ai installé transmission et deluge. Et je n'ai aucune association pour le type mime application/x-bittorrent, basé sur le contenu de /usr/share/gnome/applications/defaults.list et ~/.local/share/applications/mimeapps.list. Mais il semble que l'extension .torrent ait une association et que c'est transmission. C’est à ce moment que je double-clique sur un fichier .torrent, transmission s’ouvre. Il en va de même lorsque je l'ouvre dans chromium.

La question est de savoir comment il se fait que transmission? Pourquoi pas deluge? Les deux ont ce type mime dans leurs fichiers .desktop. Les associations sont-elles stockées ailleurs?

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

La valeur par défaut est transmission. Changer l'ordre dans /usr/share/applications/mimeinfo.cache change l'application par défaut. Il ne faut probablement pas compter sur ce comportement.

4
x-yuri

Un type MIME et un fichier .desktop peuvent être associés de deux manières.

Méthode 1

La première consiste à utiliser *.list _ fichiers de configuration MIME (de nombreux fichiers existent sur le système, voir ci-dessous). Par exemple, une entrée typique dans ~/.local/share/applications/mimeapps.list pourrait être:

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

Cela signifie que l'application préférée est transmission, si elle est introuvable, le deuxième choix est alors deluge.

Méthode 2

La seconde façon consiste à utiliser le fichier .desktop lui-même. L'application annonce les types MIME qu'elle peut ouvrir. Par exemple, dans transmission-gtk.desktop, nous avons la ligne suivante

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

ce qui indique que ce programme peut gérer ces deux types MIME.

Quelle application utiliser?

Le association entre les types MIME et Applications est défini par les normes freedesktop.org. Voici les étapes à suivre pour déterminer quelle application (c'est-à-dire quel fichier .desktop) à lancer pour un type MIME donné.

Étape 1: Recherchez une association dans les fichiers de configuration MIME. L'ordre de recherche est le suivant:

$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

Étape 2: Une fois que tous les niveaux ont été vérifiés, si aucune entrée n'a pu être trouvée, les implémentations peuvent sélectionner l'un des fichiers .desktop associés à le type MIME, en tenant compte des associations ajoutées et supprimées (qui existent dans les fichiers de configuration MIME).

Bien que vous ne disposiez d'aucun fichier de configuration MIME, la raison pour laquelle vous utilisez transmission est due à l'étape 2 définie par la norme. Vérifiez votre fichier transmission-gtk.desktop pour voir s’il indique sa capacité à ouvrir des torrents.

Je suggère de lire le document lié pour une compréhension complète.

2
jII

Vous pouvez choisir celui par défaut dans un fichier Propriétés> Ouvrir avec [tab]; par exemple pour un fichier vidéo:

Open with

Vous pouvez simplement sélectionner votre application préférée et la définir par défaut.

Vous pouvez également voir la liste ouvrir avec lorsque vous cliquez avec le bouton droit sur le fichier. Un double-clic l'ouvre avec celui par défaut.

0
Alen