[Solucionado]Abrir terminal desde terminal

Imagen de Senbonzakura
0 puntos

Buenas, estoy creando un script para usar WifiSlax de forma más sencilla y cómoda, al estilo de un menú en vez de tener que escribir constantemente los comandos con las distintas opciones, pero me ha surgido un problema:

Para usar Wifislax es necesario usar 2 o 3 consolas simultaneamente, por lo tanto necesito que el propio script abra un nuevo terminal y ejecute el comando en ese nuevo terminal, mientras el script se sigue ejecutando en el primero.

He googleado y he encontrado el comando openvt, pero no consigo hacerlo funcionar correctamente, aver si podéis explicarme como funciona o bien otro comando para conseguirlo.

Gracias de antemano.

Imagen de Pablo_F
+1
0
-1

En mi caso.
Si lo pones en el panel, en propiedades del lanzador te dice el comando con el que se ejecuta.
Saludos

+1
0
-1

"Los analfabetos del siglo XXI no serán aquellos que no sepan leer y escribir, sino aquellos que no sean capaces de aprender, olvidar lo aprendido y aprender de nuevo" (Alvin Toffler)

Imagen de Senbonzakura
+1
0
-1

Sí, es gnome-terminal efectivamente gracias.

Ahora el problema es encadenar ese gnome-terminal al siguiente comando para que se ejecute en el nuevo terminal en vez del antiguo.

Gracias de antemano.

+1
0
-1
Imagen de slap
+1
0
-1

man gnome-terminal


0000 start out (+FD),A
           ld  BC, +7FFF
           jp 03CB, RAM-CHECK
+1
0
-1

Saludos.

0000 start out (+FD),A
           ld  BC, +7FFF
           jp 03CB, RAM-CHECK

http://www.injiniero.es

Imagen de Senbonzakura
+1
0
-1

Sí, he mirado en la ayuda del gnome-terminal pero cuando supuestamente tendría que ejecutarse el comando en otro terminal con


gnome-terminal -x --ls

Sin embargo me dice "Ha habido un error al crear el proceso hijo para este terminal", y no se ejecuta ninguna horden dehecho el terminal no responde a nada (incluido control+c para nueva linea de comandos)

+1
0
-1
Imagen de slap
+1
0
-1

Te sobran los -- en --ls
prueba:

gnome-terminal -x sleep 5

Saludos.


0000 start out (+FD),A
           ld  BC, +7FFF
           jp 03CB, RAM-CHECK
+1
0
-1

Saludos.

0000 start out (+FD),A
           ld  BC, +7FFF
           jp 03CB, RAM-CHECK

http://www.injiniero.es

Imagen de Senbonzakura
+1
0
-1

Acabo de probarlo y se me abre el terminal nuevo pero no hace absolutamente nada, y al pulsar control+c se cierra.

Pero al menos ya no me sale el mensaje de error aun así sigo sin poder ejecutar otro comando, ¿se te ocurre algo?

Gracias por tu ayuda

+1
0
-1
Imagen de slap
+1
0
-1

Hay abiertos varios bugs sobre el tema, pero he comprobado que si usas:
gnome-terminal -e "bash loquesea"
Siendo "loquesea" un script bash.
No te dará el error.

Por lo tanto,para ejecutar las otras órdenes haz lo siguiente:
Crea un script por cada orden o grupo de órdenes que debas ejecutar en otro terminal.
Por ejemplo:

  • script1
  • script2
  • script3

Luego desde el script principal llámalos con:

gnome-terminal -e "bash script1"

etc.

Saludos.


0000 start out (+FD),A
           ld  BC, +7FFF
           jp 03CB, RAM-CHECK
+1
0
-1

Saludos.

0000 start out (+FD),A
           ld  BC, +7FFF
           jp 03CB, RAM-CHECK

http://www.injiniero.es

Imagen de Senbonzakura
+1
0
-1

Efectivamente, ahora no aparece el mensaje de error, pero el comando del interior del script no se ejecuta.

Hay dos efectos, en función de si uso las comillas o no:

gnome-terminal -e bash script.sh

Se abre el nuevo terminal y la línea de comandos aparece (bien hasta ahí) pero no se ejecuta el comando del interior del script.

gnome-terminal -e "bash script.sh"

Hace el intento de abrir un nuevo terminal y no lo consigue abrir así que me decanto por la opción sin comillas.

El script es este:

#!/bin/bash

ls /home/usuario/Escritorio
+1
0
-1
Imagen de slap
+1
0
-1

No sé qué versión de Ubuntu usas, pero en Hardy Heron (8.04.1), esto funciona:
Primer script (p.sh):

#!/bin/bash
gnome-terminal -e "bash script.sh"

Segundo script (script.sh):

#!/bin/bash
ls /home/usuario/Escritorio
sleep 5

Ejecución:

bash p.sh

Observa el sleep 5 en el 2º script para poder ver la salida del comando ls, ya que si no lo pones el terminal se abre y se cierra muy rápido y no podrás verlo, pero el comando se ejecuta.

Saludos.


0000 start out (+FD),A
           ld  BC, +7FFF
           jp 03CB, RAM-CHECK
+1
0
-1

Saludos.

0000 start out (+FD),A
           ld  BC, +7FFF
           jp 03CB, RAM-CHECK

http://www.injiniero.es

Imagen de Senbonzakura
+1
0
-1

Solucionado, ahora sí me funciona muchas gracias por tu ayuda ^^

También uso Hardy.

Salu2 y gracias de nuevo

+1
0
-1
Imagen de jairotabares
+1
0
-1

hola slap, gracias por tu solución fué de mucha utilidad, como dato curioso basta decir que me tocó usar el comando gnome-terminal para poder ejecutar un script usando el crontab de mi usuario, ya que ejecutando el script de manera normal en la misma terminal no me dejaba.
Muchas gracias, saludos.

+1
0
-1