¿Cómo funciona xdg-open?

27

Según la página del manual, xdg-opense abrirá un archivo usando la aplicación que el usuario ha configurado. Pero, ¿cómo se determina realmente esa aplicación? No puedo ver ningún archivo de configuración asociado xdg-utils, entonces, ¿dónde están almacenados mis ajustes y cómo puedo modificarlos? Al ver cómo un simple archivo PNG abre Internet Explorer con Wine, necesito cambiar esta configuración.

MvG
fuente

Respuestas:

27

Mire el contenido del xdg-openarchivo y notará que es un simple script de shell. Su tarea principal es identificar el entorno de escritorio en uso, que luego se utilizará para delegar la tarea a una herramienta específica:

  • KDE delegados a kde-openokfmclient
  • Gnome delegados a gvfs-openognome-open
  • Aparearse delegados a gvfs-openomate-open
  • XFCE delega aexo-open
  • LXDE delega a pcmanfm, con respaldo a "genérico" para la mayoría de las URL
  • Delegados de la Ilustración aenlightenment_open
  • Todo lo demás se denomina " genérico ", y el script prueba su propia suerte.

Entonces, el mensaje central es este: en la mayoría de las situaciones, uno de estos delegados hará el trabajo real, por lo que debe verificar cómo están configurados.

Por ejemplo, estoy ejecutando XFCE, por xdg-openlo exo-openque las llamadas utilizan la configuración de XFCE disponible a través de la interfaz de usuario de configuración de XFCE y almacenada ~/.local/share/applications/mimeapps.list.

Para obtener detalles sobre los archivos de configuración en uso, strace -e filepuede ser útil. Y si está en una situación "genérica" ​​y quiere ver qué xdg-openhace, puede intentarlo sh -x `which xdg-open` file.name.

MvG
fuente
2
Respuesta similar para una pregunta diferente. :-)
patryk.beza