
Me gustaría abrir una terminal, dividirla en, digamos, 9 partes (3x3) y ejecutar algún script bash. Pero para cada terminal parte un script diferente.
¿Se puede hacer esto usando Perl, Python o incluso bash?
¿Cómo puedo cambiar entre esos pequeños terminales sin usar atajos de teclado?
Ah, por cierto, estoy usando terminator
. Y si existe algún otro emulador de terminal que permita dicha funcionalidad, ¿cuál es?
Respuesta1
Para plagiarme, puede configurar un perfil con la configuración que desee (instrucciones adaptadas deaquí):
Ejecute
terminator
y configure el diseño que desee. Puedes 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:Haga clic derecho en la
terminator
ventana y elijaPreferencias. Una vez elPreferenciasLa ventana está abierta, vaya aDiseñosy haga clicAgregar:Eso poblará elDiseñoslista con su nuevo diseño:
Encuentra cada uno de los terminales que has creado en el diseño y haz clic en ellos. Luego, a la derecha, ingrese el comando que desea ejecutar en ellos al inicio:
IMPORTANTE:Tenga en cuenta que el comando va seguido de
; bash
. Si no haces eso, no se podrá acceder a las terminales, ya que ejecutarán el comando que les des y saldrán. Debe iniciar un shell después de cada comando para poder utilizar las terminales.Una vez que haya configurado todos los comandos, haga clic enCercay luego salir
terminator
.Abra el
terminator
archivo de configuración~/.config/terminator/config
y elimine la sección debajo de diseños para la configuración predeterminada. Luego cambie el nombre del diseño que creó al predeterminado. Debería verse 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 ejecute terminator
se abrirá con 6 paneles, cada uno de los cuales ha ejecutado o está ejecutando los comandos que ha especificado:
Además, puede configurar tantos perfiles diferentes como desee e iniciar Terminator con el -p
interruptor que proporciona un nombre de perfil o cambiar manualmente al perfil que desee después del inicio.
Respuesta2
¿Está buscando un multiplexor de terminal tmux?
Respuesta3
Cuando usaba terminator
este es el archivo rc que usaba para abrir un montón de terminales y ejecutar aplicaciones. Guárdalo en .config/terminator/config
.
[global_config]
title_hide_sizetext = True
enabled_plugins = LaunchpadCodeURLHandler, APTURLHandler, LaunchpadBugURLHandler
[keybindings]
[profiles]
[[default]]
font = DejaVu Sans Mono 9
cursor_blink = False
scrollback_infinite = True
[layouts]
[[default]]
[[[root]]]
position = -4:0
type = Window
order = 0
parent = ""
size = 1072, 1884
[[[grand]]]
position = 536
type = HPaned
order = 0
parent = root
[[[left]]]
position = 942
type = VPaned
order = 0
parent = grand
[[[right]]]
position = 942
type = VPaned
order = 1
parent = grand
[[[terminal1]]]
profile = default
type = Terminal
order = 0
parent = left
command = "cd ~/code/foo; bash"
[[[terminal2]]]
profile = default
type = Terminal
order = 1
parent = left
command = "cd ~/bar/baz; bash"
[[[terminal3]]]
profile = default
type = Terminal
order = 1
parent = right
command = ""
[[[terminal4]]]
profile = default
type = Terminal
order = 0
parent = right
command = "cmus; bash"
[plugins]
EDITAR:Tenga en cuenta que esta información probablemente provino de la publicación de Terdon en un hilo mucho anterior. He estado usando esta configuración durante algunos meses, ¡pero la publicación de Terdon aquí parece muy familiar!
Respuesta4
Script contenedor para dividir el emulador de terminal Terminator https://github.com/AlekseyChudov/terminator-split