Étant donné xdg-open et une extension, existe-t-il un moyen d'obtenir l'application à laquelle xdg-open est définie pour cette extension particulière?
Par exemple donné xdg-openet .jpgle résultat est eog.
Étant donné xdg-open et une extension, existe-t-il un moyen d'obtenir l'application à laquelle xdg-open est définie pour cette extension particulière?
Par exemple donné xdg-openet .jpgle résultat est eog.
Réponses:
AFAIK le choix de l'action est basé sur le type de mime du fichier plutôt que sur son extension.
Au moins sur Ubuntu, vous devriez pouvoir utiliser l' queryaction de xdg-mimepour afficher l'application par défaut pour un type de mime spécifique
$ xdg-mime query default image/jpeg
eog.desktop
Vous pouvez vérifier le type MIME pour un fichier particulier en utilisant xdg-mime query filetypepar exemple
$ xdg-mime query filetype kqDRdnW.jpg
image/jpeg
ou en utilisant la filecommande par exemplefile --mime-type <file>
Voir man xdg-mimepour plus d'informations sur l'utilisation.
xdg-mime query filetype <file_you_want_the_mimetype_of>
xdg-mime query defaultne fonctionne pas toujours si on xdg-openappelle simplement un outil sous-jacent (par exemple pcmanfm); l'exemple que vous avez utilisé dans votre réponse ne renvoie rien sur mon système LXDE.
var="xdg-mime query default image/jpeg" && $(${var%.desktop})
Pour interroger le type MIME utilisé par un fichier existant à l'aide de xdg-utils, cela fonctionne comme:
$ xdg-mime query filetype yourfile.xxx
Vous pouvez également définir une nouvelle valeur par défaut, par exemple pour modifier une entrée de bureau associée en définissant Thunar - un gestionnaire de fichiers moderne pour l'environnement de bureau Xfce - comme navigateur de fichiers par défaut, vous devez entrer:
$ xdg-mime default Thunar.desktop inode/directory
Ou par exemple pour définir l'application par défaut pour les http(s)://protocoles Internet, vous pouvez utiliser:
$ xdg-mime default midori.desktop x-scheme-handler/http
OR
$ xdg-mime default midori.desktop x-scheme-handler/https
rpmsystèmes basés; cela fait partie du bureau standard et fonctionne sur Debian (par exemple). Malheureusement, voici comment définir une valeur par défaut; il ne dit pas comment trouver la valeur définie. Et xdg-mime query defaultne rapporte pas toujours ce qu'il fera s'il xdg-openappelle un programme de bureau sous-jacent (par exemple pcmanfmsur LXDE).