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é...
Abriendo Un Archivo Desde Gambas Con El Programa Predeterminado Del Sistema
Objetivo: Abriendo Un Archivo Desde Gambas Con El Programa Predeterminado Del Sistema
última edición por shordi el Domingo, 26 Abril 2015, 16:24; editado 2 veces
última edición por shordi el Domingo, 26 Abril 2015, 16:24; editado 2 veces
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...
Basta con lanzar el comando xdg-open <archivo>
Si ejj que siempre es más fácil de lo que uno piensa...
Objetivo: Re: Abriendo Un Archivo Desde Gambas Con El Programa Predeterminado Del Sistema
última edición por Shell el Domingo, 26 Abril 2015, 18:02; editado 1 vez
Shordi:
A ver,¿ qué ocurre si haces esto ?
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.
¿ 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:
La respuesta fue:
En cambio si hago:
Me responde:
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...
Lo ultimo es un error de la 15.04
Y curiosamente se abre el navegador diciéndome esto:
Eso lo hice en Lubuntu, a lo mejor lo hago en otro sistema y es distinto.
Saludos
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.
¿ 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:
En cambio si hago:
file "Abu Simbel Profanation (1985)(Dinamic Software)(es).tzx"
Me responde:
Citar:
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:
Lo ultimo es un error de la 15.04
Y curiosamente se abre el navegador diciéndome esto:
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:
La salida es lo más parecida a xdg-mime...
Ahora tengo que buscar a ver como lo abro sin que salte el navegador.
Saludos
file --mime-type "Abu Simbel Profanation (1985)(Dinamic Software)(es).tzx"
La salida es lo más parecida a xdg-mime...
Citar:
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.
Ahora comprendo lo que decía Benoit de que Desktop.open(fichero, wait) no controla directamente el proceso lanzado, sino el script.
Objetivo: Re: Abriendo Un Archivo Desde Gambas Con El Programa Predeterminado Del Sistema
última edición por shordi el Domingo, 26 Abril 2015, 18:40; editado 1 vez
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...
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
Objetivo: Re: Abriendo Un Archivo Desde Gambas Con El Programa Predeterminado Del Sistema
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"
Citar:
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"
Objetivo: Re: Abriendo Un Archivo Desde Gambas Con El Programa Predeterminado Del Sistema
Pues si, efectivamente hay otros.
Para la extensión del emulador utilice gnome-open en Lubuntu y se abrió a la primera!.
Nada de abrirse el navegador.
Es que somos investigadores a nuestra manera.
Genial cuando se presentaba en los cuentos..
Saludos
Citar:
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.
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
http://www.gambas-it.org/wiki/index...un_tipo_di_file
Página 1 de 1
No puede crear mensajesNo 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.4255s (PHP: -78% SQL: 178%)
Consultas SQL: 48 - Debug off - GZIP Activado