Este foro usa cookies
Este foro utiliza cookies para almacenar su información de inicio de sesión si está registrado y su última visita si no lo está. Las cookies son pequeños documentos de texto almacenados en su computadora; las cookies establecidas por este foro solo se pueden usar en este sitio web y no representan ningún riesgo de seguridad. Las cookies en este foro también rastrean los temas específicos que ha leído y la última vez que los leyó. Si Ud. continúa navegando, entenderemos que acepta todas las cookies.

Se almacenará una cookie en su navegador, independientemente de la elección, para evitar que se le vuelva a hacer esta pregunta. Podrá cambiar la configuración de sus cookies en cualquier momento utilizando el enlace en el pie de página.

El foro antiguo se encuentra accesible desde https://foro.gambas-es.org en modo de solo lectura.

Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5

[SOLUCIONADO]  Abrir un proyecto de gambas desde la terminal
#1

Buenas!.

En su día hice una aplicación que listaba los proyectos de Gambas3 en un directorio concreto.
Los mostraba en un gridview y desde la selección de una celda abría el proyecto.
El método es así:

GAMBAS
  1. Public Sub grd_Select()
  2.  
  3.   Shell Subst("gambas3 &1", grd[grd.row, 0].Text)
  4.  



Y suele funcionar sin problemas.

Pero lo cierto es que estoy intentando abrir un proyecto desde la consola y no me funciona.
Ejemplo con la aplicación el contenido de la celda seria:

grd[grd.row, 0].Text es igual a "/home/miusuario/Programacion/PracticasGambas/Marzo2021/CalculaVelocidad/"

Pero he probado a hacer lo mismo desde la terminal y se me queda tonto gambas3. No carga nada.

Bash
  1. gambas3 /home/miusuario/Programacion/PracticasGambas/Marzo2021/CalculaVelocidad/



Según la información de la línea de comandos dice esto:
 
Cita:$ gambas3 [<project directory> [<project file> ...]]
       
  Open the IDE with the specific project, optionally opening the specified project files.
  If no argument is specified, open the IDE with a nice welcome dialog.

En el directorio del proyecto existe un archivo oculto que se llama .project ( en todos los proyectos de gambas3, claro).

Tengo un problema con la sintaxis de carga.

Os muestro otro ejemplo. Estoy intentando cargar desde línea de comandos el proyecto "CalculaVelocidad".
Esta vez uso la instrucción "locate".
GAMBAS
  1. gambas3 $(locate CalculaVelocidad <PIPE> head -n 1)



El mismo problema. Así que si muestro solamente lo que me devuelve locate..
Bash
  1. locate CalculaVelocidad | head -n 1



Me devuelve esto:
Cita: 
/home/miusuario/Programacion/PracticasGambas/Marzo2021/CalculaVelocidad

Como veis es la ruta completa.

¿ Cuál es el problema con el comando gambas3 ?.
 

Tampoco funciona...

Bash
  1. locate CalculaVelocidad | head -n 1 | xargs gambas3



Saludos

"El buen perfume en frasco pequeño se vende"
    ¡Gracias!
#2

Creo que he encontrado la solución.

Cuando cargaba el proyecto desde la terminal, gambas3 no acababa de abrirse mostrando el ide.
Pero, si abría el ide luego, aparecía el nombre del proyecto en la lista de recientes!. Confused

Así que para darle a gambas3 más información, lo tuve que hacer de esta forma:

Hay que decirle si usamos gtk o si usamos qt ( todo eso ).
Así que si estoy buscando un proyecto de Gambas que se que existe en la home y quiero cargarlo desde la terminal:

Bash
  1. locate CalculaVelocidad | head -n 1 | xargs env GB_GUI=gb.qt5 gambas3



Y si lo que quiero es cargar un proyecto sin buscarlo y voy a usar qt5.

Bash
  1. env GB_GUI=gb.qt5 gambas3 /home/usuario/Programacion/PracticasGambas/Abril2014/CambioDeTipodeVariable/



Jope..todo eso.  Sad
Es que realmente Gambas3 carga, pero se queda ahí, sin saber que librería gráfica usar.
Y ahora digo yo...¿ es que acaso el .proyect del proyecto no se lo dice a Gambas "si es de qt o de gnome" ?... Huh

Si la variable de entorno se añade a los del sistema o en el .profile será menos trabajo, pero no me parece muy normal.

Saludos

(10-03-2023, 17:04)Shell escribió:  Y ahora digo yo...¿ es que acaso el .proyect del proyecto no se lo dice a Gambas "si es de qt o de gnome" ?..

Me respondo yo mismo. Tongue

Pues no, el .proyect de un proyecto de gambas3 no dice si usa qt. Se lo dice .startup.
Pero se lo esta diciendo.."lesches" como diría Bernardo.

Ale a añadir la variable de marras a uno de estos si lo queréis para todos los usuarios
    /etc/profile
    /etc/bash.bashrc
    /etc/environment

"El buen perfume en frasco pequeño se vende"
    ¡Gracias!
#3

A mí me funciona bien sin poner librerías ni variables de entorno... si quito la barra del final. Con ella no.
O sea, algo así:

gambas3 /home/usuario/Programacion/PracticasGambas/Abil2014/CambioDeTipodeVariable

Saludos

No podemos regresar
    ¡Gracias!
#4

(10-03-2023, 19:13)Shordi escribió:  A mí me funciona bien sin poner librerías ni variables de entorno... si quito la barra del final. Con ella no.

Probé de las dos formas, con barra y sin barra al final. Igual.

¿ Has comprobado si tienes la variable de entorno declarada ?. Como sueles hacer copia seguridad a diario y añadir la variable de entorno en tu script.
Funcionaría a la primera.

Bash
  1. printenv GB_GUI



En parte no veo normal que no funcione. Probaré en la otra distro. Es muy raro, salvo que Gambas lo necesite. ( Versión concreta, claro ) Confused


Saludos

"El buen perfume en frasco pequeño se vende"
    ¡Gracias!
#5

Tal vez te funcione esto:

GAMBAS
  1.       If Exist(sDirectory) Then
  2.         If Stat(sDirectory).Type = gb.Directory Then
  3.           gbx = System.Find("gambas3")
  4.           sComm = gbx & " " & Shell$(sDirectory)
  5.           Shell sComm
  6.         Endif
  7.       Endif



1 Saludo.
    ¡Gracias!
#6

(11-03-2023, 01:12)tincho escribió:  Tal vez te funcione esto:

Esto está bien una vez dentro del editor (mejora mucho el código indiscutiblemente, pero mucho más).
Pero la pregunta es, ¿ Cómo cargar un proyecto de Gambas desde la terminal de Linux sin usar el editor ?. Wink

En el proyecto que comenté desde el propio Gambas no hay problema, sin añadir una buena mejora como la tuya.
Aparentemente para poder cargar desde la terminal un proyecto Gambas, antes hay que establecer la variable del tipo
del componente GUI que va a usar el editor.  GB_GUI=gb.qt ó GB_GUI=gb.gtk2, etc.

Entonces esto se puede establecer en un script para que luego cargue el proyecto en cuestión o se establece la variable de entorno GB_GUI
ya sea para un usuario concreto o para todo el sistema.

Entiendo que el editor de Gambas "puede" que necesite saber que GUI quieras usar, pero hasta ahora no sabía que hubiera que
especificarselo. Sobre todo porque el proyecto debe decírselo, "estoy hecho para qt, estoy hecho para gtk2, etc" y con eso el editor
debería usar el gui adecuado.

Por una parte, se puede crear un script hecho en Gambas script y añadir el código como has mostrado. Pero claro es más complejo
que hacer un gambas3 /directorio/miproyecto desde la terminal (que aparentemente eso se queda corto y puede que el editor espere algo más)

Se que Shordi en su día creó un script de seguridad de sus proyectos de Gambas y en el mismo establecía la variable de entorno, entonces
se le puede pasar por alto ya que es algo automatizado.

Tincho, ¿ has probado a cargar un proyecto de gambas desde la terminal de Linux ?.

Saludos

"El buen perfume en frasco pequeño se vende"
    ¡Gracias!
#7

No termino de entender del todo bien tus (en mi opinión innecesariamente extensos) mensajes, pero intentare sugerir esto:

si "Cargar" = "abrir con el IDE":
Entonces usa lo que te dije antes desde tu programa de gambas (el ejecutable o desde el propio IDE)
Si lo que quieres es abrirlo un proyecto (Con el IDE) pero dando la orden desde la terminal tienes que usar:
/usr/bin/gambas3 /el/camino/a/tu/proyecto

Si Cargar = Correr el programa alojado en un directorio
/usr/bin/gbx3 /el/camino/a/tu/proyecto

Eso es todo.

1 Saludo.
    ¡Gracias!
#8

... y yo insisto:  Gambas3 path/tuproyecto funciona perfectamente en mi linux mint  y gambas 3.18.1 y en el ubuntu mate de la Raspberri Pi con gambas 3.16.3


Saludos

No podemos regresar
    ¡Gracias!
#9

(11-03-2023, 14:02)tincho escribió:  No termino de entender del todo bien tus (en mi opinión innecesariamente extensos) mensajes, pero intentare sugerir esto:

Pues no conozco otro español para entenderme con vosotros.  Wink

Son extensos para que no os perdáis un detalle del problema, la pregunta es sencilla, lo dice el tema del mensaje.
Abrir consola de Linux -> escribir comando gambas y añadir la ruta para abrir en el IDE de Gambas el proyecto en concreto.
 
(11-03-2023, 14:02)tincho escribió:  si "Cargar" = "abrir con el IDE":

Eso es.
Puede que sea eso, ahí si te entiendo el motivo por lo que no entendiste eso.
Pero para eso tienes que preguntar.
 
(11-03-2023, 14:02)tincho escribió:  Si lo que quieres es abrirlo un proyecto (Con el IDE) pero dando la orden desde la terminal tienes que usar:
/usr/bin/gambas3 /el/camino/a/tu/proyecto

En realidad no hace falta especificar toda la ruta donde está alojado gambas3.  Así es como lo hago y no funciona.
No pasa de la consola al entorno de desarrollo.
 
(11-03-2023, 14:25)Shordi escribió:  ... y yo insisto:  Gambas3 path/tuproyecto funciona perfectamente en mi linux mint  y gambas 3.18.1 y en el ubuntu mate de la Raspberri Pi con gambas 3.16.3

Pues no se lo que tiene en este sistema sin variable de entorno. Que no funciona y es que es lo más sencillo la instrucción.
Y o más gracioso es que si luego, después de Ctrl-C en la consola. Abro el IDE de Gambas desde el escritorio, se ve en recientes
el proyecto que intenté abrir desde la terminal. ( Por eso no se puede escribir un mensaje telegráfico. Si no lo digo como os ibais
a enterar de lo que hace).

De paso lo probé en la Mint 19.3 y el mismo problema.

Y ahora os voy a mostrar de paso una Ubuntu virtualizada 22.04 y sus mensajes de errores al realizar la misma operación.

[Imagen: GouweLW.png]

Y no se abre el IDE . En el caso de ejecutar gambas3 a secas en la terminal también mostraría esos mensajes, pero se abriría el IDE.

Ahora bien, tomo esa misma terminal en Ubuntu y escribo:

GAMBAS
  1. GB_GUI=gb.qt5 gambas3 Documentos/HolaMundo/



Se muestra esto en la ventana:

Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway.

Y el editor se abre con el proyecto.

¿ Tan complicado es ejecutar gambas3 en la terminal especificando la ruta donde está el proyecto  y abrir este en el IDE ?. A eso voy.

Saludos

"El buen perfume en frasco pequeño se vende"
    ¡Gracias!
#10

Esto parece que lo he solucionado. Lo cierto es que es bastante raro.

Probé una máquina con Linux Mint Cinnamon 21 y no me dio problema.
Así que seguí toda esta trayectoria.

Linux Mint Mate 20.3. Máquina virtual.

Gambas por defecto de distro: 3.14.3

Error al iniciar:
gbr3: unable to load component: gb.form.print
Instalación manual del paquete. Funcionando IDE.

Carga de proyecto y mostrar en el editor:

gambas3 Documentos/Ejemplo1/

No funciona.

gambas3 ~/Documentos/Ejemplo1/

Funcionando!.

Synaptic. Selección de todos los paquetes Gambas3 para desinstalar.
Error. Paquetes rotos. Solucionado desde el gestor Synaptic.


Instalando ppa versión estable. 3.18.1

Carga de proyecto y mostrar en el editor:

gambas3 Documentos/Ejemplo1/

Funcionando!.

gambas3 ~/Documentos/Ejemplo1/

Funcionado.

Linux Mint Mate 20.3. Máquina real
Gambas 3.8.1

gambas3 Programacion/PracticasGambas/Enero2023/RatonCoordenada/

No funciona

gambas3 ~/Programacion/PracticasGambas/Enero2023/RatonCoordenada/

No funciona

Eliminando .config/gambas3/gambas3.conf

gambas3 ~/Programacion/PracticasGambas/Enero2023/CirculoDos/

Funcionando!

gambas3.conf estaba creando ese problema. Exclamation

Cosa más rara.

Suelo tener tropecientos en recientes, pero bueno.

Saludos

"El buen perfume en frasco pequeño se vende"
    ¡Gracias!


Posibles temas similares…
Tema / Autor Respuestas Vistas Último mensaje

Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)