Script o lanzador para configurar múltiples pestañas de terminal en diferentes ubicaciones

14

Ya lo he estudiado hace algún tiempo, pero no encontré ninguna solución que pudiera abrir pestañas de terminal, ejecutar algunos comandos y luego permitirme continuar usando esas pestañas de terminal. Todas las formas en que encontré el lanzamiento de pestañas de terminal desde la línea de comandos solo lanzarían las pestañas y no me permitirían seguir usándolas después de eso.

El problema que estoy tratando de resolver es que cada vez que necesito arrancar mi máquina (o máquina virtual en este caso) necesito configurar alrededor de seis pestañas de terminal diferentes para apuntar a diferentes carpetas y exportar algunas variables de entorno en algunas de ellas.

He experimentado con el terminal xfce y he conseguido algo así con comandos como este:

terminal --disable-server -H --tab --title=1st_tab --tab --title=2nd_tab

Pero si agrego un argumento de comando, la pestaña ya no se puede usar cuando se abre:

terminal --disable-server -H --tab --title=1st_tab --tab --title=2nd_tab --command="cd ~/folder1"

http://docs.xfce.org/apps/terminal/command-line

Actualmente estoy usando Red Hat Linux con gnome 2.28.2.

usuario232548
fuente

Respuestas:

18

Puede hacer esto usando GNOME terminatorun terminal excelente con, entre otras cosas, la capacidad de dividir paneles horizontal o verticalmente.

Una vez que haya instalado terminator, puede configurar un perfil con la configuración deseada (instrucciones adaptadas desde aquí ):

  1. Ejecute terminatory configure el diseño que desee. Puede usar Ctrl+ Shift+ Epara dividir ventanas verticalmente y Ctrl+ Shift+ O(eso es O como en montones, no cero) para dividir horizontalmente. Para este ejemplo, he creado un diseño con 6 paneles:

    ingrese la descripción de la imagen aquí

  2. Haga clic derecho en la terminatorventana y elija "Preferencias". Una vez que la ventana de Preferencias esté abierta, vaya a "Diseños" y haga clic en "Agregar":

    ingrese la descripción de la imagen aquí

  3. Eso llenará la lista de Diseño con su nuevo diseño:

    ingrese la descripción de la imagen aquí

  4. Busque cada uno de los terminales que ha creado en el diseño y haga clic en ellos, luego a la derecha ingrese el comando que desea ejecutar en ellos al inicio:

    ingrese la descripción de la imagen aquí

    IMPORTANTE: Tenga en cuenta que el comando es seguido por ; bash. Si no lo hace, no se podrá acceder a los terminales, ya que ejecutarán el comando que le dé y salga. Debe iniciar un shell después de cada comando para poder usar los terminales.

    Una vez que haya configurado todos los comandos, haga clic en "Cerrar" y luego salga terminator.

  5. Abra el terminatorarchivo de configuración ~/.config/terminator/configy elimine la sección bajo diseños para la configuración predeterminada. Luego cambie el nombre del diseño que creó a predeterminado. Debería verse más o menos así:

    [global_config]
    [keybindings]
    [profiles]
      [[default]]
    [layouts]
      [[default]]
        [[[child0]]]
          position = 446:100
          type = Window
          order = 0
          parent = ""
          size = 885, 550
        [[[child1]]]
          position = 444
          type = HPaned
          order = 0
          parent = child0
        [[[child2]]]
          position = 275
          type = VPaned
          order = 0
          parent = child1
        [[[child5]]]
          position = 219
          type = HPaned
          order = 1
          parent = child1
        [[[child6]]]
          position = 275
          type = VPaned
          order = 0
          parent = child5
        [[[child9]]]
          position = 275
          type = VPaned
          order = 1
          parent = child5
        [[[terminal11]]]
          profile = default
          command = 'df -h; bash'
          type = Terminal
          order = 1
          parent = child9
        [[[terminal10]]]
          profile = default
          command = 'export foo="bar" && cd /var/www/; bash'
          type = Terminal
          order = 0
          parent = child9
        [[[terminal3]]]
          profile = default
          command = 'ssh -Yp 24222 [email protected]'
          type = Terminal
          order = 0
          parent = child2
        [[[terminal4]]]
          profile = default
          command = 'top; bash'
          type = Terminal
          order = 1
          parent = child2
        [[[terminal7]]]
          profile = default
          command = 'cd /etc; bash'
          type = Terminal
          order = 0
          parent = child6
        [[[terminal8]]]
          profile = default
          command = 'cd ~/dev; bash'
          type = Terminal
          order = 1
          parent = child6
    [plugins]
    

El resultado final es que cuando lo ejecutes terminatorse abrirá con 6 paneles, cada uno de los cuales ha ejecutado o ejecuta los comandos que has especificado:

ingrese la descripción de la imagen aquí

terdon
fuente
Después de ingresar mis comandos en el Custom commandcuadro y presionar cerrar, no se guarda cuando se vuelve a abrir. ¿Puedo saber por qué? Estoy usando Ubuntu 16 Desktop
Nam G VU
@ NamGVU hmm, acabo de probar y tengo el mismo problema. Parece un error en la versión actual de Terminator (esto funcionó hace 3 años cuando se publicó esta respuesta). Todavía funciona si edita el ~/.config/terminator/configarchivo como se muestra en el paso 5.
terdon
2

Para tener Terminator cden un directorio en el inicio, el comando para configurar es:

cd ~/someFolder; bash

Esto abre una terminal en la ubicación cded.

En realidad, terdon menciona esto en su publicación, pero está enterrado en su maravilloso mini tutorial. No fue después de que me di cuenta de esto que me di cuenta de que estaba enterrado en su publicación, así que dejo esta respuesta para enfatizar.

dotancohen
fuente
0

El comando debe ser seguido por "; bash". El descanso debe ser según las respuestas de terdon /superuser//a/610048

Dhruba Adhikari
fuente