¿Cómo encontrar el administrador de archivos predeterminado?

22

Como usuario de Linux, veo que algunas aplicaciones pueden solicitar que se abra una ruta y esto hace que se inicie un administrador de archivos. Me gustaría hacer esto mediante programación, pero ¿cómo puedo saber cuál es el administrador de archivos predeterminado? ¿Hay alguna manera de encontrar esta información? Cualquier variable de entorno? Por "administrador de archivos", me refiero a las aplicaciones que le permiten administrar sus archivos: crear, renombrar, crear carpetas, etc., como Nautilus (en GNOME) o Dolphin (en KDE).

¡Gracias por adelantado!

Mauren
fuente

Respuestas:

7

No existe el "Administrador de archivos predeterminado para Linux". Todo depende de cómo intentes abrir uno. Si le preguntas a XDG, entonces deberás verificar qué XDG cree que debería ser este administrador de archivos. El mismo trato para cualquier otro "entorno", como Gnome o KDE. Si tiene todos ellos instalados, es perfectamente posible (y está bien) que cada uno de ellos tenga un "administrador de archivos predeterminado" diferente.

El caso de las aplicaciones predeterminadas parece provenir principalmente de Windows. Allí, solo tenemos un entorno, el que Windows nos presenta. Como tal, la noción de una aplicación predeterminada es efectivamente efectiva en todo el sistema. Este no es el caso con Linux.

Lo que podría percibir como aplicaciones predeterminadas en Linux, como lo que se almacena en la variable de entorno $ EDITOR, no es tanto una aplicación predeterminada "verdadera", sino simplemente una convención utilizada por muchas personas que escriben herramientas y scripts del sistema. Siéntase libre de definir $ FILEMANAGER, si eso se adapta a su caso de uso.

mkaito
fuente
Estaba pensando que podría haber una variable de entorno para esto, y en realidad pensé en definir una. Buena respuesta, muchas gracias.
Mauren el
Creo que te refieres a XFCE en lugar de XDG?
Gerhard Burger
18

Usa el xdg-mimecomando para esto. xdg debe ser independiente del entorno de escritorio (por ejemplo xdg-open, pasará los argumentos al abridor de archivos correcto). Para obtener el administrador de archivos predeterminado, use:

xdg-mime query default inode/directory

Fuente

Gerhard Burger
fuente
2
Esta debería ser la respuesta correcta.
crypdick
17

Puede usar xdg-open <DIR>para iniciar el administrador de archivos en un directorio. Es posible que pueda consultar alguna xdgaplicación para averiguar qué administrador de archivos se utiliza.

src
fuente
Gracias por la pista. Intentaré usar esto para resolver mi problema.
Mauren el
1

acabo de encontrar el mismo problema. (Me gustaría comentar pero mi reputación no es lo suficientemente alta)

Lo intenté xdg-openy comenzó EasyTag, que es un editor de etiquetas id3 (de alguna manera divertido) :-)

traté de responder a Gerhard Burgers

xdg-mime query default inode/directory

y eso regresó dolphin.desktopen mi caso.

así que en mi caso la solución correcta fue (reemplazando ".dektop" con ""):

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

pero solo pruebo esto en este sistema que estoy ejecutando

coffeekid
fuente
1

Wow, increíble que nadie publique la respuesta correcta aquí.

Las aplicaciones predeterminadas en Linux son manejadas por Freedesktop (antiguo XDG) Mimeapps Standard y varias otras especificaciones en las que se basa esta.

Arch Linux Wiki también contiene un artículo comprensible . Lo que está buscando es la asociación del tipo mime inode/directory.

ManuelSchneid3r
fuente
Gracias por esto. Uso Arch y debería haber pensado en revisar el wiki, pero no lo hice.
Colin Keenan
2
¿Y cómo es que mi respuesta no es correcta? Publiqué el comando exacto para consultar la inode/directoryasociación con una xdg-mimeconsulta ...
Gerhard Burger
0

Parece que todos mencionaron el inode/directorytipo MIME y xdg-opendeberían funcionar en la mayoría de los casos para su necesidad (abrir un directorio mediante un administrador de archivos mediante programación), pero a veces una aplicación incorrecta (que no es un administrador de archivos, por ejemplo, Visual Studio Code) también puede asociarse con la inode/directorycomo la aplicación predeterminada.

Además, también hay una interfaz de administrador de archivos para D-Bus ( org.freedesktop.FileManager1en el bus de sesión) que se puede usar para sus necesidades, por lo que también puede usar esto si su administrador de archivos admite esta interfaz D-Bus. Asegúrese de poder usarlo, ya que no todos los administradores de archivos implementaron esto, actualmente parece que Dolphin (KDE), Nautilus (GNOME) y Deepin File Manager (DDE) implementaron esta interfaz D-Bus. Y para averiguar qué propietario del proceso tiene esta interfaz D-Bus (no necesita hacerlo si solo desea solicitar que se abra una ruta mediante un administrador de archivos mediante programación), vea esta respuesta

Gary Wang
fuente