web-dev-qa-db-fra.com

Comment configurer correctement et facilement `xdg-open` sans aucun environnement?

J'utilise le gestionnaire de fenêtres OpenBox sans aucun environnement de burea.

xdg-open se comporte étrangement. Il ouvre tout avec firefox.

$ xdg-settings --list
Known properties:
  default-web-browser           Default web browser

Je recherche un programme simple; quelque chose comme lire tous les *.desktop fichier dans /usr/share/applications/ dossier et définissant automatiquement les paramètres xdg.

73
kravemir

Vous pouvez utiliser Perl-file-mimeinfo dans le référentiel extra pour gérer les types MIME.

Exemple pour ouvrir tout .pdf fichiers dans apvlv:

/usr/bin/vendor_Perl/mimeopen -d $file.pdf

puis, à l'invite, entrez l'application: apvlv.

29
jasonwryan

Pourquoi ne pas utiliser les utilitaires de xdg lui-même?

Pour faire de Thunar le navigateur de fichiers par défaut, c'est-à-dire l'application par défaut pour ouvrir les dossiers.

$ xdg-mime default Thunar.desktop inode/directory

utiliser xpdf par défaut PDF viewer:

$ xdg-mime default xpdf.desktop application/pdf

Cela devrait créer une entrée

[Default Applications]
application/pdf=xpdf.desktop

dans votre base de données MIME locale ~/.local/share/applications/defaults.list ou ~/.local/share/applications/mimeapps.list.

Vos fichiers PDF doivent être ouverts avec xpdf maintenant.

75
lzap

Vous pouvez utiliser quelque chose comme ça pour générer le xdg-mime commandes pour chacun de vos .desktop les fichiers et les mimetypes qu'ils contiennent, puis exécutez ceux que vous aimez. Remarque /usr/share/applications peut avoir des sous-répertoires.

find /usr/share/applications ~/.local/share/applications -iname '*.desktop' -print0 | while IFS= read -r -d $'\0' d; do
  for m in $(grep MimeType "$d" | cut -d= -f2 | tr ";" " "); do
    echo xdg-mime default "'$d'" "'$m'"
  done
done
9
aleb

Sur Debian, vous pouvez utiliser la commande, en tant que root

update-mime-database /usr/share/mime

ayant le shared-mime-info package installé.

7
enzotib

C'est comme réponse de @ aleb , mais cela fonctionne sur les fichiers de bureau avec des espaces:

find /usr/share/applications ~/.local/share/applications -iname '*.desktop' -print0 | while IFS= read -r -d $'\0' d; do
  for m in $(grep MimeType "$d" | cut -d= -f2 | tr ";" " "); do
    echo xdg-mime default "'$d'" "'$m'"
  done
done
5
user60561

Pour ajouter à ce que tout le monde a dit, assurez-vous qu'aucune application ne se chevauche.

Par exemple, supposons que vous souhaitiez modifier le lien magnétique par défaut pour utiliser qbittorrent afin de taper

xdg-mime default org.qbittorrent.qBittorrent.desktop x-scheme-handler/magnet

Mais lorsque vous tapez ceci et vérifiez votre aimant par défaut actuel

xdg-mime query default x-scheme-handler/magnet

Il montre une autre application, par exemple popcorntime.desktop qui n'est pas ce que vous voulez.

Donc, pour résoudre ce problème:

À l'aide d'un gestionnaire de fichiers, accédez à / usr/share/applications et recherchez popcorntime.desktop

Cliquez dessus avec le bouton droit, puis cliquez sur Propriétés.

Accédez à l'onglet Applications.

Dans la zone Types de fichiers pris en charge:, supprimez l'application Mimetype/x-bittorrent

Alors allez-y et cliquez sur ok

Remarquez comment lorsque vous ouvrez à nouveau les propriétés et vérifiez, vous constatez que rien n'a changé et qu'il est revenu à ce qu'il était.

Mais il a en fait été supprimé pendant une seconde et a été reconfiguré, c'est pourquoi maintenant la commande

xdg-mime default org.qbittorrent.qBittorrent.desktop x-scheme-handler/magnet

qui était déjà défini dans mimeapps.list sera appliqué.

0
Kazem Sami