Ir al contenido
  • 0
Conéctate para seguir esto  
portaro

Comando curl funcionando via terminal pero no via script.

Pregunta

Hace tiempo creo que supe como hacer esto pero ahora mismo no me acuerdo o estoy confuso.

Os cuento el tipico script para ver el tiempo desde wttr.in con comando curl

$ curl wttr.in/local

y entonces intento mediante lxmenu hacer un lanzador para que me ejecute eso con un click y me lo muestre en terminal y resulta que por vueltas que le doy no me lo hace ejemplo 

$ bash /home/joao/.config/tempo.sh

$ bash -x /home/joao/.config/tempo.sh

$ bash -c  /home/joao/.config/tempo.sh

$ lxterminal -e "bash -c '/home/joao/.config/tempo.sh;$bash' "

...

 

Y nada solo me abre el lxterminal nada más.

El script esta tal que asi →

 

#!/bin/bash
curl https://wttr.in/chaves

 

En lxmenu tengo el desktop launcher asi →

 

[Desktop Entry]
Name=Tempo-Chaves
Exec=bash /home/joao/.config/tempo.sh
Comment=
Icon=
NoDisplay=false
Type=Application
Terminal=true
Categories=Utility;

 

 

A ver si alguien me hecha una luz.

 

 

Compartir este post


Enlace al post
Compartir en otros sitios

16 respuestas a esta pregunta

Recommended Posts

  • 0
On 3/1/2020 at 18:04, portaro dijo:

Hace tiempo creo que supe como hacer esto pero ahora mismo no me acuerdo o estoy confuso.

Os cuento el tipico script para ver el tiempo desde wttr.in con comando curl

$ curl wttr.in/local

y entonces intento mediante lxmenu hacer un lanzador para que me ejecute eso con un click y me lo muestre en terminal y resulta que por vueltas que le doy no me lo hace ejemplo 

$ bash /home/joao/.config/tempo.sh

$ bash -x /home/joao/.config/tempo.sh

$ bash -c  /home/joao/.config/tempo.sh

$ lxterminal -e "bash -c '/home/joao/.config/tempo.sh;$bash' "

...

 

Y nada solo me abre el lxterminal nada más.

El script esta tal que asi →

 

#!/bin/bash
curl https://wttr.in/chaves

 

En lxmenu tengo el desktop launcher asi →

 

[Desktop Entry]
Name=Tempo-Chaves
Exec=bash /home/joao/.config/tempo.sh
Comment=
Icon=
NoDisplay=false
Type=Application
Terminal=true
Categories=Utility;

 

 

A ver si alguien me hecha una luz.

 

 

No lo puedo investigar ahora pero ¿Lo has hecho ejecutable? chmod +x script.sh

Editado por uzanto

Compartir este post


Enlace al post
Compartir en otros sitios
  • 0
hace 9 horas, uzanto dijo:

No lo puedo investigar ahora pero ¿Lo has hecho ejecutable? chmod -x script.sh

 

Si, ya intente un monton de cosas y lo cierto es que no hay manera, en el foro de Gambas me intentaron hechar una mano pero no logramos nada te dejo el link por si puedes quedarte con una idea de lo que ya hicimos →

https://www.gambas-es.org/viewtopic.php?f=6&t=7858

Compartir este post


Enlace al post
Compartir en otros sitios
  • 0

Buscando ayuda también en Linux Questions a ver que intentamos hacer dejo el link por si interesa a alguien →

https://www.linuxquestions.org/questions/showthread.php?p=6074920#post6074920

Editado por portaro

Compartir este post


Enlace al post
Compartir en otros sitios
  • 0
hace 3 horas, portaro dijo:

Buscando ayuda también en Linux Questions a ver que intentamos hacer dejo el link por si interesa a alguien →

https://www.linuxquestions.org/questions/showthread.php?p=6074920#post6074920

En el archivo .desktop deberías usar:

 

Exec=lxterminal -e sh -c "/home/joao/.config/tempo.sh; read foo"

 

El emulador de terminal esperara a que pulses intro para salir.

Compartir este post


Enlace al post
Compartir en otros sitios
  • 0
hace 5 minutos, uzanto dijo:

En el archivo .desktop deberías usar:

 

Exec=lxterminal -e sh -c "/home/joao/.config/tempo.sh; read foo"

 

El emulador de terminal esperara a que pulses intro para salir.

 

Probado y nada no funciona si lo pongo directo en terminal va bien → lxterminal -e sh -c "/home/joao/.config/tempo.sh; read foo"

Pero en el launcher abre terminal y se queda sin hacer nada, es como i le diera solo a abrir terminal.

 

Gracias por el dato.

Compartir este post


Enlace al post
Compartir en otros sitios
  • 0
hace 2 minutos, portaro dijo:

 

Probado y nada no funciona si lo pongo directo en terminal va bien → lxterminal -e sh -c "/home/joao/.config/tempo.sh; read foo"

Pero en el launcher abre terminal y se queda sin hacer nada, es como i le diera solo a abrir terminal.

 

Gracias por el dato.

cambia

Exec=lxterminal -e sh -c "/home/joao/.config/tempo.sh; read foo"

por

Exec=lxterminal -x sh -c "/home/joao/.config/tempo.sh; read foo"

básicamente cambiar la -e por -x

 

asegurate de que el archivo tempo.sh tiene permisos de ejecutar por si acaso lo hayas tocado con tanta cosa

chmod +x /home/joao/.config/tempo.sh

Compartir este post


Enlace al post
Compartir en otros sitios
  • 0

Lo probe y en el lanzador hace lo mismo abre terminal y no hace nada.

 

Si pongo la orden en terminal con la -x me da esto →


 

$ lxterminal -x sh -c "/home/joao/.config/tempo.sh; read foo"
Usage:
  lxterminal [Options...] - LXTerminal is a terminal emulator

Options:
  -e, --command=STRING             Execute the argument to this option inside the terminal
  --geometry=COLUMNSxROWS          Set the terminal's size
  -l, --loginshell                 Execute login shell
  -t, -T, --title=STRING           Set the terminal's title
  --working-directory=DIRECTORY    Set the terminal's working directory

 

Compartir este post


Enlace al post
Compartir en otros sitios
  • 0

Creo que el problema esta en los parametros que esta recibiendo la orden lxterminal o el terminal porque si pongo esto en el terminal el programa funciona abriendo otra terminal y ejecutando el script bien.

 

lxterminal  -e bash -c "/home/joao/.config/tempo.sh; read foo"
/run/user/1000/.lxterminal-socket-:0

Lo que no pasa al ejecutar con click el Launcher lanzador que solo abre la terminal y no hace (ejecuta) nada.

Asi lo que podria estar mal en el lanzador sera el modo de entrada del script 

 

bash -c "/home/joao/.config/tempo.sh; read foo"

A ver si algun dia damos con la solucion.

Compartir este post


Enlace al post
Compartir en otros sitios
  • 0
hace 8 horas, portaro dijo:

Creo que el problema esta en los parametros que esta recibiendo la orden lxterminal o el terminal porque si pongo esto en el terminal el programa funciona abriendo otra terminal y ejecutando el script bien.

 


lxterminal  -e bash -c "/home/joao/.config/tempo.sh; read foo"
/run/user/1000/.lxterminal-socket-:0

Lo que no pasa al ejecutar con click el Launcher lanzador que solo abre la terminal y no hace (ejecuta) nada.

Asi lo que podria estar mal en el lanzador sera el modo de entrada del script 

 


bash -c "/home/joao/.config/tempo.sh; read foo"

A ver si algun dia damos con la solucion.

El problema es lxterminal, porque en Tilix y Gnome terminal funciona, habría que ver cual es la forma de hacerlo ahí, aunque yo no uso lxde, aquí dan unas cuantas soluciones más, echale un ojo https://superuser.com/questions/1281509/how-can-i-open-a-lxterminal-with-a-script-running-in-it

 

Cita

Whay have no one addressed the fact that lxterminal does not launch when command has spaces inside the quotes? For me, the only way to make this happen is to escape spaces with forward slash. Like so: lxterminal --command="/bin/bash\ -c\ '/home/pi/files.sh;\ /bin/bash'"

 

Justo acabo de leer mejor en ese tema y al parecer si hay espacios entre las comillas " " del comando a lanzar lxterminal no lo puede lanzar, hay que "escapar" los espacios con \ como indica ahí, prueba así.

Editado por uzanto

Compartir este post


Enlace al post
Compartir en otros sitios
  • 0

Acabo de intentar pero sigo sin tener salida de comando ninguna.

 

lxterminal -e bash -c "/home/joao/.config/tempo.sh;\read\foo"

 

No funciona, si lo hace directo en terminal pero no en launcher.
 

Tengo Uxterm y tilda pero resulta que al editar el launcher en lxmenu http://lxmed.sourceforge.net/ siempre me lanza el lxterminal y no otro por ejemplo si cambio el terminal al inicio de comando por uxterm me lanza lxterminal.

 

Seguire investigando mañana y si hay algo mal en el comando que dejo de ejemplo de los que intente adicionar al lanzador se agradece ayuda.

 

Gracias.

 

Compartir este post


Enlace al post
Compartir en otros sitios
  • 0
On 13/1/2020 at 0:39, portaro dijo:

Acabo de intentar pero sigo sin tener salida de comando ninguna.

 

lxterminal -e bash -c "/home/joao/.config/tempo.sh;\read\foo"

 

No funciona, si lo hace directo en terminal pero no en launcher.
 

Tengo Uxterm y tilda pero resulta que al editar el launcher en lxmenu http://lxmed.sourceforge.net/ siempre me lanza el lxterminal y no otro por ejemplo si cambio el terminal al inicio de comando por uxterm me lanza lxterminal.

 

Seguire investigando mañana y si hay algo mal en el comando que dejo de ejemplo de los que intente adicionar al lanzador se agradece ayuda.

 

Gracias.

 

El espacio deberías dejarlo después de cada \, osea, que para cada espacio que pongas debes poner un \ antes.

lxterminal -e bash -c "/home/joao/.config/tempo.sh;\ read\ foo"

Prueba con esta otra forma a ver qué tal.

lxterminal --command="/bin/bash\ -c\ '/home/joao/.config/tempo.sh;\ /bin/bash'"

 

Compartir este post


Enlace al post
Compartir en otros sitios
  • 0

Lo acabo de probar y nada abre el terminal pero no ejecuta nunca el comando en si.

 

Menudo problema me topo es que en otros foros tampoco damos con solución.

 

Muchas gracias por tu inestimable colaboracion a ver si vemos una solucion más que nada ya es por curiosidad.

 

Editado por portaro

Compartir este post


Enlace al post
Compartir en otros sitios
  • 0
On 15/1/2020 at 21:43, portaro dijo:

Lo acabo de probar y nada abre el terminal pero no ejecuta nunca el comando en si.

 

Menudo problema me topo es que en otros foros tampoco damos con solución.

 

Muchas gracias por tu inestimable colaboracion a ver si vemos una solucion más que nada ya es por curiosidad.

 

A mi desde Gnome me funciona así

Exec=lxterminal -e /bin/bash -c '/home/joao/.config/tempo.sh; /bin/bash'

Pero me abre una ventana de la terminal de Gnome antes, quizás sea por eso por lo que me funciona.

Prueba con esto también.

Exec=lxterminal -e '/home/joao/.config/tempo.sh && /bin/bash'

 

Editado por uzanto

Compartir este post


Enlace al post
Compartir en otros sitios
  • 0

Gracias, revise tu aporte y no funciona.

 

Intentare hecharle un vistazo a documentacion de lxterminal seguramente es tema de su interpretador ya que el comando funciona en otros sistemas con otros terminales.

 

Seguimos indagando.

Compartir este post


Enlace al post
Compartir en otros sitios
  • 0
hace 1 hora, portaro dijo:

Gracias, revise tu aporte y no funciona.

 

Intentare hecharle un vistazo a documentacion de lxterminal seguramente es tema de su interpretador ya que el comando funciona en otros sistemas con otros terminales.

 

Seguimos indagando.

Encontré esta otra posibilidad

Exec=lxterminal --working-directory=/home/joao/.config/ -e ./tempo.sh

Si no funciona, pregunta aquí.

https://forum.lxde.org/viewforum.php?f=26

 

¿Cuál es el entorno de escritorio por cierto? Quizás el problema este en este.

 

Compartir este post


Enlace al post
Compartir en otros sitios
  • 0
On 17/1/2020 at 23:38, uzanto dijo:

Encontré esta otra posibilidad


Exec=lxterminal --working-directory=/home/joao/.config/ -e ./tempo.sh

Si no funciona, pregunta aquí.

https://forum.lxde.org/viewforum.php?f=26

 

¿Cuál es el entorno de escritorio por cierto? Quizás el problema este en este.

 

LXDE es mi entorno.

La cosa es sumamente interesante ya que tengo otros script que si funcionan por ejemplo el de activar compton o un mensaje que me sale en el desktop cada vez que inicio sesion.

 

Conozco ese foro creo que tengo cuenta alla voy.

Link del tema abierto

 

Gracias.

Editado por portaro

Compartir este post


Enlace al post
Compartir en otros sitios

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Invitado
Responder esta pregunta...

×   Has incluido contenido con formato.   Eliminar formato

  Sólo se permiten 75 emoticonos como máximo.

×   Tu enlace ha sido insertado automáticamente.   Deshacer y mostrar como enlace

×   Su contenido anterior ha sido restaurado.   Limpiar editor

×   No puedes pegar imágenes directamente. Súbelas a algún hosting de imágenes y pega la dirección URL

Conéctate para seguir esto  

×
×
  • Crear Nuevo...