Dans Firefox 38.8.0 ESR, sous Debian Lenny avec GNOME 2, j'ai découvert que l'application associée via XDG (décrite dans la réponse de l'OP ) n'est utilisée que lors de l'ouverture d'un fichier téléchargé depuis Téléchargements dans la bibliothèque.
Et même là, l'implémentation donne des résultats incohérents xdg-open
car elle ignore les chemins spécifiques à GNOME (dans mon cas /usr/share/gnome/applications/defaults.list
, qui est un lien symbolique /etc/gnome-vfs-2.0/defaults.list
). Je devais préciser application/pdf=evince.desktop
dans mon ~/.local/share/applications/defaults.list
. (Notez que cela a defaults.list
été fusionné dans mimeapps.list
les versions plus récentes de XDG.)
Au lieu de XDG, les capacités de métamail (mailcap) sont utilisées pour résoudre l'application associée pour les cas d'utilisation suivants:
- ouverture du fichier téléchargé à partir du panneau de téléchargement (affiché après avoir appuyé sur le bouton de téléchargement dans la barre d'outils)
- application par défaut dans la liste déroulante de la boîte de dialogue de téléchargement de fichier
- application par défaut dans le menu déroulant dans Préférences → Applications (
about:preferences#applications
)
La préférence dans about:preferences#applications
est utilisée lors de la navigation vers une URL avec ce type de contenu, sauf si le téléchargement est forcé.
Mailcap est un mécanisme plus ancien que XDG et a ses racines dans le courrier électronique, d'où provient également MIME. L' run-mailcap
utilitaire est analogue à xdg-open
. Sa configuration comprend trois fichiers (de priorité décroissante):
~/.mailcap
- entrées utilisateur
/etc/mailcap.order
- spécification de commande des entrées à l'échelle du système
/etc/mailcap
- entrées à l'échelle du système (même format que les entrées utilisateur)
Ensemble, ils produisent une liste d'entrées d'une ligne qui spécifient l'application à utiliser pour tout type MIME donné. Les entrées sont appariées de haut en bas, donc ce qui vient en premier est prioritaire.
Pour que la modification des entrées soit prioritaire à l'échelle du système, vous devez la modifier /etc/mailcap.order
et l'exécuter update-mime
.
Pour remplacer certaines des entrées ou spécifier la vôtre, à l'échelle du système, vous devez modifier la section supérieure (destinée aux entrées créées manuellement) /etc/mailcap
et l'exécuter update-mime
. Voir les commentaires dans la section supérieure.
Pour les entrées utilisateur et les remplacements, utilisez ~/.mailcap
. Les modifications prennent effet immédiatement. Aucun ~/.mailcap.order
n'existe; si vous souhaitez modifier la priorité des entrées, les réorganiser physiquement (si elles sont en ~/.mailcap
) ou les remplacer par la version préférée (si elles sont en /etc/mailcap
).
Voir man update-mime
, man mailcap
et man mailcap.order
.
Notez que certaines applications utilisent des utilitaires génériques (tels que x-www-browser
ou pager
) au lieu de détecter l'application préférée. Vous devrez peut-être utiliser update-alternatives
ou un mécanisme similaire pour choisir l'implémentation préférée d'un utilitaire générique dans votre distribution. Ou, pour remplacer une alternative préférée à l'échelle du système pour un utilisateur spécifique, définissez des variables d'environnement telles que EDITOR
(ou VISUAL
) PAGER
et BROWSER
. Ils sont pris en charge par d' sensible-browser
autres outils, souvent plus spécifiques (par exemple, les git commit
utilisations EDITOR
et VISUAL
).