Cómo automatizar instancias de terminal de inicio para tareas específicas
10
Estoy revisando algunos tutoriales de programación y para cada sesión, tengo que iniciar al menos 3 ventanas de terminal (una para una cola de archivo de registro, una para probar la salida, otra para ejecutar varios comandos de shell, etc.)
En este momento, los inicio a todos manualmente: haga clic en el icono Terminal, cd en la carpeta correcta, escriba los comandos y cambie el título de la ventana a algo significativo.
¿Hay alguna manera de escribir un guión o algo que automatice eso para mí? Y si es así, ¿cómo?
(Estoy bien con no obtener un guión completo como respuesta. Un puntero donde comenzar a leer también funcionaría).
Este ejemplo inicia tres ventanas (aunque podría pasar --tabpor pestañas) y establece los directorios de trabajo (relativos al inicio) y los títulos para cada uno, inicia el tailcomando en uno y activa la tercera ventana.
Por supuesto, es posible que prefiera usar líneas separadas para iniciar cada ventana, especialmente si tiene muchos argumentos.
Otra cosa útil que puede hacer, una vez que tenga sus ventanas arregladas a su gusto, es usar
gnome-terminal --save-config=FILE
Esto crea un archivo de configuración con información sobre todas las ventanas y pestañas abiertas del terminal (incluidos los títulos, directorios de trabajo, etc.). Al iniciar gnome-terminal con la --load-configopción, se recreará su diseño.
A muchos desarrolladores que trabajan con múltiples terminales les gusta usar Terminator, ya que agrega características como un diseño de cuadrícula y métodos abreviados de teclado.
¿Hacerlo de esta manera con la bandera -e hará que la ventana se cierre tan pronto como se ejecute el comando? Y si es así, ¿es posible hacer que la ventana permanezca abierta?
fem
8
Cualquier emulador de terminal que esté utilizando debería poder aceptar un comando como argumento. Por ejemplo:
gnome-terminal -e "tail -f /var/log/syslog"
Simplemente agregue dichos comandos a su inicio automático en Sistema -> Preferencias -> Sesiones (Ubuntu) o Configuración del sistema -> Inicio automático (Kubuntu)
También podría automatizar eso usando un script. Recomiendo leer la Guía avanzada de secuencias de comandos de Bash o el CÓMO de programación de Bash, junto con la página de manual de cualquier terminal que esté utilizando.
Sí, a menos que gnome-terminal ya se esté ejecutando, el comando simplemente abre una nueva ventana para el otro proceso en ejecución y luego se cierra.
Cualquier emulador de terminal que esté utilizando debería poder aceptar un comando como argumento. Por ejemplo:
Simplemente agregue dichos comandos a su inicio automático en Sistema -> Preferencias -> Sesiones (Ubuntu) o Configuración del sistema -> Inicio automático (Kubuntu)
fuente
También podría automatizar eso usando un script. Recomiendo leer la Guía avanzada de secuencias de comandos de Bash o el CÓMO de programación de Bash, junto con la página de manual de cualquier terminal que esté utilizando.
Aquí hay un ejemplo simple:
Entonces solo hazlo ejecutable:
fuente
exec
todos esos?