web-dev-qa-db-fra.com

Comment trouver le gestionnaire de fichiers par défaut?

en tant qu'utilisateur Linux, je vois que certaines applications peuvent demander un chemin d'ouverture d'un chemin d'ouverture et que cela entraîne le lancement d'un gestionnaire de fichiers. J'aimerais faire cela par programme, mais comment puis-je savoir quel est le gestionnaire de fichiers par défaut? Y a-t-il un moyen de trouver cette information? Toute variable d'environnement? Par "gestionnaire de fichiers", je veux dire des applications qui vous permettent d'administrer vos fichiers: créer, renommer, créer des dossiers, etc., comme Nautilus (en gnome) ou Dauphin (dans KDE).

Merci d'avance!

22
Mauren

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

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

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

7
mkaito

Utilisez le xdg-mime commande à cela. XDG devrait être de bureau-environnement agnostique (par exemple, xdg-open transmettra les arguments sur le bon ouvrage de fichier). Pour obtenir le gestionnaire de fichiers par défaut, utilisez:

xdg-mime query default inode/directory

source

20
Gerhard Burger

je viens de venir accrocher le même problème. (Je préférerais que je voudrais commenter mais ma réputation n'est pas assez élevée)

j'ai essayé xdg-open et elle atatet easyTag qui est un éditeur ID3-TAG (en quelque sorte drôle) :-)

j'ai essayé de répondre à Gerhard Burgers

xdg-mime query default inode/directory

et cela retourna dolphin.desktop dans mon cas.

donc, dans mon cas, la solution correcte était (remplaçant ".dektop" avec ""):

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

mais je ne teste que ceci sur ce système je cours

1
coffeekid

Semble que tout le monde a mentionné le inode/directory Mime type et le xdg-open devrait fonctionner dans la plupart des cas de votre besoin (ouvrez par programme un répertoire via un gestionnaire de fichiers), mais parfois une application incorrecte (qui n'est pas un gestionnaire de fichiers, E.G. Visual Studio Code) peut également l'associer à la inode/directory comme application par défaut.

De plus, il existe également une interface de gestionnaire de fichiers pour D-Bus (org.freedesktop.FileManager1 In Session Bus) qui peut être utilisée pour votre besoin, vous pouvez également l'utiliser si votre gestionnaire de fichiers prend en charge cette interface D-BUS. Veuillez vous assurer que si vous pouvez l'utiliser car tous les gestionnaires de fichiers impliqués ceci, actuellement il semble Dauphin Nautilus (gnome) et Deepin File Manager (DDE) Mise en place de 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 un chemin à ouvrir via un gestionnaire de fichiers programmatiquement), voir cette réponse

0
Gary Wang