Quand je n'ai pas defaults.list
et mimeapps.list
, xdg-open
ouvre text/plain
avec gvim
. Mais quand je crée defaults.list
dans /usr/share/applications/
et ajouter les lignes suivantes:
[Default Applications]
text/plain=emacs.desktop
il ouvre des fichiers texte avec firefox.
Cependant, si je passe /usr/share/applications/defaults.list
à ~/.local/share/applications/mimeapps.list
, il ouvre les fichiers texte avec emacs
comme prévu.
Mes questions:
- Comment
xdg-open
détermine quelle application lancer lorsqu'il n'y a pas dedefaults.list
etmimeapps.list
? - Pourquoi
xdg-open
utilise Firefox lorsque j'écris simplement/usr/share/applications/defaults.list
?
J'utilise Arch linux.
/usr/share/applications/mimecache.info
fichier qui semble répertorier les applications par défaut. C'est encore plus déroutant ...~/.config/mimeapps.list
Réponses:
Si vous utilisez
xdg-open
pour ouvrir des applications, utilisezxdg-mime
pour définir l'application par défaut pour un type MIME donné (généralement, l'installation de xdg-utils vous donne le xdg-mime et les programmes associés).Par exemple, pour voir le "filetype" (type mime, si vous voulez) du fichier donné:
Exemple de changement du gestionnaire de fichiers par défaut pour l'ouverture des répertoires (pourrait choisir caja.desktop (par défaut pour mint), nautilus.desktop (ubuntu), etc:
Et aussi faire
locate -i foo.desktop
pour vérifier quefoo.desktop
cela existe bien.Plus précisément, afin de voir ce qu'est l'éditeur de texte par défaut,
Pour utiliser un autre éditeur de texte par défaut (encore une fois, en vérifiant que le fichier ".desktop" existe):
Maintenant, soit en double-cliquant sur "foo.txt" (dans votre gestionnaire de fichiers GUI) ou en cours d'exécution
xdg-open foo.txt
utilisera à lagvim
place degedit
.Dépannage: assurez-vous que le fichier ".desktop" pour une application donnée peut être trouvé, car il doit être utilisé avec l'
xdg-mime
utilitaire; par exemple,De plus, cela ne fonctionne silencieusement pas comme prévu si le fichier ".desktop" n'existe pas:
Le fichier emacs ".desktop" (dans mon env):
Voir aussi: https://wiki.archlinux.org/index.php/xdg-open
la source