Me ha surgido la necesidad de abrir un archivo desde gambas. No he tenido problemas, pues conozco de antemano el tipo del archivo, pero... ¿y si no lo conociese?
¿Cómo se podría abrir desde gambas un archivo con la aplicación por defecto del sistema (o del usuario si la ha cambiado)?
He dedicado un rato a investigar y no he llegado a nada claro.
Parece que puedes encontrar el tipo de archivo con el comando:
xdg-mime query filetype <archivo> (lo que te devuelve el mimetype del archivo)
y luego puedes descubrir qué acceso directo de escritorio usa el sistema para abrirlo con
xdg-mime query default <tipo> (lo que te devuelve el nombre del arhivo .desktop del sistema en /usr/share/applications)
después puedes "destripar" el fichero .desktop para averiguar el programa. Por ejemplo:
cat <fichero.desktop>|grep Exec=|cut -d= -f2
Vale. Pero luego te encuentra con que hay archivos que no tienen ese .desktop, por ejemplo los de libreoffice.
¿Cómo los abrirías entonces?
No es un reto, es que no lo sé...