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!
Usa el
xdg-mime
comando para esto. xdg debe ser independiente del entorno de escritorio (por ejemploxdg-open
, pasará los argumentos al abridor de archivos correcto). Para obtener el administrador de archivos predeterminado, use:Fuente
fuente
Puede usar
xdg-open <DIR>
para iniciar el administrador de archivos en un directorio. Es posible que pueda consultar algunaxdg
aplicación para averiguar qué administrador de archivos se utiliza.fuente
acabo de encontrar el mismo problema. (Me gustaría comentar pero mi reputación no es lo suficientemente alta)
Lo intenté
xdg-open
y comenzó EasyTag, que es un editor de etiquetas id3 (de alguna manera divertido) :-)traté de responder a Gerhard Burgers
y eso regresó
dolphin.desktop
en mi caso.así que en mi caso la solución correcta fue (reemplazando ".dektop" con ""):
pero solo pruebo esto en este sistema que estoy ejecutando
fuente
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
.fuente
inode/directory
asociación con unaxdg-mime
consulta ...Parece que todos mencionaron el
inode/directory
tipo MIME yxdg-open
deberí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 lainode/directory
como la aplicación predeterminada.Además, también hay una interfaz de administrador de archivos para D-Bus (
org.freedesktop.FileManager1
en 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 respuestafuente