en tant qu'utilisateur Linux, je vois que certaines applications peuvent demander l'ouverture d'un chemin et cela provoque le lancement d'un gestionnaire de fichiers. Je voudrais le faire par programme, mais comment savoir quel est le gestionnaire de fichiers par défaut? Existe-t-il un moyen de trouver ces informations? Une variable d'environnement? Par «gestionnaire de fichiers», j'entends des applications qui vous permettent d'administrer vos fichiers: créer, renommer, créer des dossiers, etc., comme Nautilus (dans GNOME) ou Dolphin (dans KDE).
Merci d'avance!
Utilisez la
xdg-mime
commande pour cela. xdg doit être indépendant de l'environnement de bureau (par exemplexdg-open
, transmettra les arguments à l'ouvreur de fichier correct). Pour obtenir le gestionnaire de fichiers par défaut, utilisez:La source
la source
Vous pouvez utiliser
xdg-open <DIR>
pour lancer le gestionnaire de fichiers sur un répertoire. Vous pourrez peut-être interroger unexdg
application pour savoir quel gestionnaire de fichiers est utilisé.la source
je viens de rencontrer le même problème. (je voudrais plutôt commenter mais ma réputation n'est pas assez élevée)
j'ai essayé
xdg-open
et il a commencé EasyTag qui est un éditeur de balises id3 (en quelque sorte drôle) :-)j'ai essayé Gerhard Burgers répondre
et cela est revenu
dolphin.desktop
dans mon cas.donc dans mon cas, la bonne solution était (en remplaçant ".dektop" par ""):
mais je teste seulement cela sur ce système que je cours
la source
Wow, incroyable que personne ne poste ici la bonne réponse.
Les applications par défaut sur Linux sont gérées par le Freedesktop (ancien XDG) Mimeapps Standard et plusieurs autres spécifications sur lesquelles celui-ci est basé.
Le Wiki Arch Linux contient également un article compréhensible . Ce que vous cherchez, c'est l'association du type MIME
inode/directory
.la source
inode/directory
association avec unexdg-mime
requête ...On dirait que tout le monde a mentionné le
inode/directory
type MIME et lexdg-open
devrait fonctionner dans la plupart des cas pour votre besoin (ouvrir un répertoire par programme via un gestionnaire de fichiers), mais parfois une mauvaise application (qui n'est pas un gestionnaire de fichiers, par exemple Visual Studio Code) peut également associer avec l'inode/directory
application par défaut.De plus, il existe également une interface de gestionnaire de fichiers pour D-Bus (
org.freedesktop.FileManager1
dans Session Bus) qui peut être utilisée selon vos besoins, vous pouvez donc également l'utiliser si votre gestionnaire de fichiers prend en charge cette interface D-Bus. Veuillez vous assurer que vous pouvez l'utiliser car tous les gestionnaires de fichiers n'ont pas implémenté cela, actuellement il semble que Dolphin (KDE), Nautilus (GNOME) et Deepin File Manager (DDE) aient implémenté cette interface D-Bus. Et pour savoir quel propriétaire de processus cette interface D-Bus (vous n'avez pas besoin de le faire si vous souhaitez simplement demander l'ouverture d'un chemin via un gestionnaire de fichiers par programme), voir cette réponsela source