Comment xdg-open fait son travail

27

Selon la page de manuel, xdg-openouvrira un fichier en utilisant l'application que l'utilisateur a configurée. Mais comment cette application est-elle réellement déterminée? Je ne vois aucun fichier de configuration associé xdg-utils, alors où sont stockés mes paramètres et comment puis-je les modifier? Voyant comment un simple fichier PNG ouvre Internet Explorer à l'aide de Wine, je dois modifier ces paramètres.

MvG
la source

Réponses:

27

Regardez le contenu du xdg-openfichier et vous remarquerez qu'il s'agit d'un simple script shell. Sa tâche principale est d'identifier l'environnement de bureau utilisé, qui sera ensuite utilisé pour déléguer la tâche à un outil spécifique:

  • Délégués KDE à kde-openoukfmclient
  • Délégués Gnomegvfs-open ougnome-open
  • Déléguer les délégués à gvfs-openoumate-open
  • XFCE délègue àexo-open
  • LXDE délègue à pcmanfm, avec recours au «générique» pour la plupart des URL
  • Délégués des Lumières àenlightenment_open
  • Tout le reste est appelé « générique », et le script tente sa propre chance

Donc, le message principal est le suivant: dans la plupart des situations, l'un de ces délégués fera le travail réel, vous devez donc vérifier comment ils sont configurés.

Par exemple, j'exécute XFCE, donc les xdg-openappels exo-openqui utilisent les paramètres XFCE disponibles via l'interface utilisateur des paramètres XFCE et stockés dans ~/.local/share/applications/mimeapps.list.

Pour plus de détails sur les fichiers de configuration utilisés, strace -e filepeut être utile. Et si vous êtes dans la situation «générique» et que vous voulez voir ce que fait xdg-openlui-même, vous pouvez essayer sh -x `which xdg-open` file.name.

MvG
la source
2
Réponse similaire pour une question différente. :-)
patryk.beza