Comment trouver le gestionnaire de fichiers par défaut?

22

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!

Mauren
la source

Réponses:

7

Il n'existe pas de "gestionnaire de fichiers par défaut pour Linux". Tout dépend de la façon dont vous essayez d'en ouvrir un. Si vous demandez à XDG, vous devrez vérifier ce que XDG pense que ce gestionnaire de fichiers devrait être. Même accord pour tout autre "environnement", comme Gnome ou KDE. Si vous les avez tous installés, il est parfaitement possible (et très bien) pour chacun d'entre eux d'avoir un "gestionnaire de fichiers par défaut" différent.

Le cas des applications par défaut semble provenir principalement de Windows. Là-bas, nous n'avons qu'un seul environnement, celui que nous présente Windows. En tant que telle, la notion d'application par défaut est effectivement efficace à l'échelle du système. Ce n'est pas le cas avec Linux.

Ce que vous pourriez percevoir comme des applications par défaut sous Linux, comme ce qui est stocké dans la variable d'environnement $ EDITOR, n'est pas autant une "vraie" application par défaut, qu'une simple convention utilisée par beaucoup de gens qui écrivent des outils et des scripts système. N'hésitez pas à définir $ FILEMANAGER, si cela convient à votre cas d'utilisation.

mkaito
la source
Je pensais qu'il pourrait y avoir une variable d'environnement pour cela, et j'ai pensé à en définir une. Belle réponse, merci beaucoup.
Mauren
Je pense que vous voulez dire XFCE au lieu de XDG?
Gerhard Burger
18

Utilisez la xdg-mimecommande pour cela. xdg doit être indépendant de l'environnement de bureau (par exemple xdg-open, transmettra les arguments à l'ouvreur de fichier correct). Pour obtenir le gestionnaire de fichiers par défaut, utilisez:

xdg-mime query default inode/directory

La source

Gerhard Burger
la source
2
Ce devrait être la bonne réponse.
crypdick
17

Vous pouvez utiliser xdg-open <DIR>pour lancer le gestionnaire de fichiers sur un répertoire. Vous pourrez peut-être interroger une xdgapplication pour savoir quel gestionnaire de fichiers est utilisé.

src
la source
Merci pour l'astuce. Je vais essayer de l'utiliser pour résoudre mon problème.
Mauren
1

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-openet il a commencé EasyTag qui est un éditeur de balises id3 (en quelque sorte drôle) :-)

j'ai essayé Gerhard Burgers répondre

xdg-mime query default inode/directory

et cela est revenu dolphin.desktopdans mon cas.

donc dans mon cas, la bonne solution était (en remplaçant ".dektop" par ""):

xdg-mime query default inode/directory | sed 's/.desktop//g'

mais je teste seulement cela sur ce système que je cours

coffeekid
la source
1

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.

ManuelSchneid3r
la source
Merci pour cela. J'utilise Arch et j'aurais dû penser à vérifier le wiki, mais je ne l'ai pas fait.
Colin Keenan
2
Et comment ma réponse n'est-elle pas correcte? J'ai posté la commande exacte pour interroger l' inode/directoryassociation avec une xdg-mimerequête ...
Gerhard Burger
0

On dirait que tout le monde a mentionné le inode/directorytype MIME et le xdg-opendevrait 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/directoryapplication par défaut.

De plus, il existe également une interface de gestionnaire de fichiers pour D-Bus ( org.freedesktop.FileManager1dans 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éponse

Gary Wang
la source