¿Cómo puedo abrir una consola adicional y ejecutar un programa con un solo comando?

¿Cómo puedo abrir una consola adicional y ejecutar un programa con un solo comando?

Entonces sé que si escribo gnome-terminal o xterm, aparecerá una nueva ventana. Luego revisé la página de manual de estos dos y no encontré nada relevante.

Luego noté que en Mac puedes hacerlo con el programa abierto. Pero parece que bajo Linux no es tan trivial.

¿Alguien tiene experiencia?

Respuesta1

Actualizar:La nueva sintaxis recomendada es:

gnome-terminal -- bash -c "<mi comando o script>; exec bash"
  • Si desea acceder al directorio de inicio de los usuarios dentro del comando anterior, utilice la variable de entorno $HOME:bash -c "cd $HOME/; ..."

Si mirasman gnome-terminal(y gnome-terminal --help) las opciones -xy -eestán disponibles (y no está escrito explícitamente que estén obsoletas), pero todos los ejemplos allí se dan mediante la sintaxis proporcionada anteriormente.


Preferiría utilizar la opción -xque proporciona un trabajo más confiable que -e:

gnome-terminal -x bash -c "<my command or script>; exec bash"
  • La opción -xsignifica--execute - el resto de la línea de comando dentro de la terminal.

  • Y nuestro comando es bash -c "<commands>". Eso significa que ejecutamos un nuevo bashshell, que debería ejecutar algunos archivos -c "<commands>".

  • Tenemos dos separados (por punto y coma ; == new line) <commands>.

  • Se ejecutará el primer comando <my command or script>que queramos.

  • El segundo comando exec bashtiene un significado: permanecer abierta en la gnome-terminalventana actual. Hayotros enfoques posiblesPara hacer eso. En el caso actual, el execcomandoreemplazar la imagen de proceso actual con una nueva imagen de proceso- en otras palabras, "matará" el proceso actual y ejecutará un nuevo ( bash) bajo el PID actual.


Más ejemplos de uso de este formato:

Respuesta2

Otro método que mantendrá la ventana abierta es utilizar xterm:

xterm -hold -e cmd

La opción de retención mantiene la ventana abierta.

Respuesta3

gnome-terminal -e cmdabrirá una ventana de terminal y se ejecutará cmddentro de ella.

Respuesta4

Simplemente puedes hacerlo CTRLALTTy se abrirá una nueva terminal.

Intentargnome-terminal -e "bash -c command;bash"

información relacionada