Abriendo Un Archivo Desde Gambas Con El Programa Predeterminado Del Sistema


Objetivo: Abriendo Un Archivo Desde Gambas Con El Programa Predeterminado Del Sistema
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é...

última edición por shordi el Domingo, 26 Abril 2015, 16:24; editado 2 veces
Perfil MP  
Objetivo: Re: Abriendo Un Archivo Desde Gambas Con El Programa Predeterminado Del Sistema
Bueno, ya losé

Basta con lanzar el comando xdg-open <archivo>

Si ejj que siempre es más fácil de lo que uno piensa...

Perfil MP  
Objetivo: Re: Abriendo Un Archivo Desde Gambas Con El Programa Predeterminado Del Sistema
Shordi:

A ver,¿ qué ocurre si haces esto ?

xdg-open ResumenDeCuentas.ods


Se abrirá por defecto la aplicación asociada para abrir el tipo de archivo con extensión .ods
En el caso de Lubuntu intenta abrirla con Gnumeric

Ejemplo de como se ven las aplicaciones asociadas que usa el sistema Lubuntu.

lxsession_configuration_1430067232_391577

¿ Si le borras la extensión a un archivo el sistema deja de saber a que tipo pertenece ?.

Vaya te me adelantaste!..

Ahora cosa curiosa.

Este es el nombre de un juego de un emulador.

Abu Simbel Profanation (1985)(Dinamic Software)(es).tzx

Ahora bien. Tengo dos opciones para preguntar que es:

xdg-mime query filetype "Abu Simbel Profanation (1985)(Dinamic Software)(es).tzx"


La respuesta fue:
Citar:

application/octet-stream; charset=binary


En cambio si hago:

file "Abu Simbel Profanation (1985)(Dinamic Software)(es).tzx"


Me responde:

Citar:

Abu Simbel Profanation (1985)(Dinamic Software)(es).tzx: Spectrum .TZX data version 1.10


La respuesta de file en este caso es..mas acertada.

Ahora bien. Si quiero que se ejecute la aplicación asociada con este tipo de extensión.
Te voy mostrando lo que dice la consola...

Citar:

Error: no "view" mailcap rules found for type "application/octet-stream"

(process:2650): GLib-CRITICAL **: g_slice_set_config: assertion 'sys_page_size == 0' failed
/usr/share/themes/Lubuntu-default/gtk-2.0/apps/thunar.rc:55: error: invalid string constant "thunar-statusbar", expected valid string constant


Lo ultimo es un error de la 15.04
Y curiosamente se abre el navegador diciéndome esto:

abrirdesdenavegador

Eso lo hice en Lubuntu, a lo mejor lo hago en otro sistema y es distinto.

Saludos

última edición por Shell el Domingo, 26 Abril 2015, 18:02; editado 1 vez
Objetivo: Re: Abriendo Un Archivo Desde Gambas Con El Programa Predeterminado Del Sistema
Y si a esto añado:

file --mime-type "Abu Simbel Profanation (1985)(Dinamic Software)(es).tzx"


La salida es lo más parecida a xdg-mime...

Citar:

Abu Simbel Profanation (1985)(Dinamic Software)(es).tzx: application/octet-stream


Ahora tengo que buscar a ver como lo abro sin que salte el navegador.

Saludos

Objetivo: Re: Abriendo Un Archivo Desde Gambas Con El Programa Predeterminado Del Sistema
Además resulta que esos scripts de xgd-utils son un proyecto de portland freedesktop http://portland.freedesktop.org/ que son la base del componente gb.desktop.
Ahora comprendo lo que decía Benoit de que Desktop.open(fichero, wait) no controla directamente el proceso lanzado, sino el script.

Perfil MP  
Objetivo: Re: Abriendo Un Archivo Desde Gambas Con El Programa Predeterminado Del Sistema
Pues me acabo de descargar los scripts de marras y resulta que xgd-open, lo que hace es lanzar el lanzador (valga la rebuznancia) por defecto de cada escritorio. Por ejemplo con cinnamon lanza el programa gnome-open <fichero>

Para kde, xface, etc. hay otros (kfmclient,exo-open)
De lo que se entera uno.

Me siento como un reportero de la tele informando en directo...

última edición por shordi el Domingo, 26 Abril 2015, 18:40; editado 1 vez
Perfil MP  
Objetivo: Re: Abriendo Un Archivo Desde Gambas Con El Programa Predeterminado Del Sistema
Citar:
Ahora tengo que buscar a ver como lo abro sin que salte el navegador.


A los tipos que he mencionado antes, el script xgd-open añade, cuando no sabe lo que es, el tipo open-generic que lo que hace es tratarlo como una url.
De ahí el problema.

¿Has probado a lanzarlo en una shell? /bin/bash "Abu Simbel Profanation (1985)(Dinamic Software)(es).tzx"

Perfil MP  
Objetivo: Re: Abriendo Un Archivo Desde Gambas Con El Programa Predeterminado Del Sistema
Pues si, efectivamente hay otros.

Citar:

gnome-open opens a file with Gnome's default application
kde-open opens a file with KDE's default application
xdg-open opens a file with X's default application


Para la extensión del emulador utilice gnome-open en Lubuntu y se abrió a la primera!.

gnome-open "Abu Simbel Profanation (1985)(Dinamic Software)(es).tzx"


Nada de abrirse el navegador.
Es que somos investigadores a nuestra manera.

gustavo

Genial cuando se presentaba en los cuentos..

Saludos

Objetivo: Re: Abriendo Un Archivo Desde Gambas Con El Programa Predeterminado Del Sistema
Escribì esta pagina en el WIKI del foro italiano:

http://www.gambas-it.org/wiki/index...un_tipo_di_file

Perfil MP  

Página 1 de 1


  
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario

   

Está utilizando la versión (Lo-Fi). Para ver la versión completa del foro, haga clic aquí.

Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo

Página generada en:: 0.4456s (PHP: -80% SQL: 180%)
Consultas SQL: 48 - Debug off - GZIP Activado