¿Cómo iniciar tmux con varios paneles abiertos al mismo tiempo?

23

Supongamos que empiezo tmuxe inmediatamente ejecuto Ctrl+ b+ %y Ctrl+ b+ ".

Esto me da un panel alto en el lado izquierdo de la pantalla; El lado derecho de la pantalla tiene un panel superior e inferior.

¿Cómo puedo configurar tmux para comenzar en esta configuración sin tener que escribir estos comandos?

Mark Harrison
fuente
Si su requisito es abrir algunas terminales de una sola vez con un solo clic, puede hacerlo con Terminator . Instalarlo desde el centro de software.
SAGAR Nair
Gracias, es un buen comando para saber! Para mi caso particular, esto es para una sesión ssh en una computadora remota.
Mark Harrison

Respuestas:

15

Puede usar el siguiente script de shell para su configuración:

#!/bin/sh 
tmux new-session -s "mySession" -d
tmux split-window -h
tmux split-window -v
tmux -2 attach-session -d 

Esto le dará la configuración requerida de la pantalla con los siguientes comandos como mencionó. tmux -> Ctrl+ b+ %-> Ctrl+ b+"

Como referencia, utilice la página de manual de tmux .

Harshit
fuente
4

Puede ser fácil habilitar y deshabilitar tmuxsesiones automáticas al iniciar sesión utilizando la aplicación Byobu . Puede utilizar Byobu como interfaz para tmuxabordar esta necesidad, ya que simplifica hacer lo que está pidiendo. En una terminal, ejecute los siguientes comandos:

sudo apt-get install byobu
sudo byobu-enable
sudo -i

Cuando el usuario root inicia sesión a través de la consola, SSH o con sudo -i, Byobu se adjuntará a una tmuxsesión existente o creará una nueva si aún no se está ejecutando. Usar en sudo -ilugar de sudo -s. La -sopción solo inicia un shell, no un shell de inicio de sesión. Debe usar sudo -ipara emular un inicio de sesión completo, que también se carga roots ~/.profile, y aquí es donde byobu se instalará cuando ejecute

byobu-enable.

Puede configurar diferentes sesiones desde la .tmux.confsiguiente:

# initialize sessions
bind S source-file ~/.tmux/session1 
bind s source-file ~/.tmux/session2

Y luego puede formatear las sesiones según lo requiera:

#session1
new  -s SessionName -n WindowName Command
neww -n foo/bar foo
splitw -v -p 50 -t 0 bar
selectw -t 1 
selectp -t 0

Esto abriría 2 ventanas, la segunda de las cuales se llamaría foo / bar y se dividiría verticalmente por la mitad (50%) con foo corriendo por encima de la barra. El foco estaría en la ventana 2 (foo / bar), panel superior (foo).

Byobu hace que configurar e iniciar tmux automáticamente sea muy simple.

Abhishek Tandon
fuente
1
¿por qué bind S vs bind s? (primera gran S, entonces pequeña s?)
knb
3

El complemento tmux-resurrect permitirá configurar la persistencia de la sesión, así como proporcionar funcionalidad adicional para guardar y restaurar la configuración en las sesiones de tmux.

Muchas características adicionales están disponibles. Desde la página web del complemento:

" Este complemento hace todo lo posible para guardar y restaurar todos los detalles de su entorno tmux. Esto es lo que se ha solucionado:

  • todas las sesiones, ventanas, paneles y su orden
  • directorio de trabajo actual para cada panel
  • diseños de panel exactos dentro de las ventanas (incluso cuando se amplía)
  • sesión activa y alternativa
  • ventana activa y alternativa para cada sesión
  • ventanas con panel activo de foco para cada ventana
  • ¡Programas de "sesiones agrupadas" (característica útil cuando se usa tmux con múltiples monitores) que se ejecutan dentro de un panel! "

Instalación:

  1. En la terminal, navegue a su directorio de plugins tmux (en mi caso ~/dotfiles/tmux/plugins).
  2. Clonar el repositorio con el comando: git clone https://github.com/tmux-plugins/tmux-resurrect.

  3. Edite su .tmux.confarchivo y agregue la línea set -g @plugin 'tmux-plugins/tmux-resurrect'.

  4. Actualizar el entorno tmux con el comando: tmux source-file ~/dotfiles/tmux/tmux.conf.
  5. Ingrese el diseño que desee. En este caso Ctrl- b %y Ctrl- b ".
  6. Guarde su sesión de tmux ingresando el comando Ctrl- b+ Ctrl- s.
  7. La próxima vez que inicie su sesión de tmux, ingrese el comando Ctrl- b+ Ctrl- rpara restaurar su sesión de tmux.

Como se mencionó anteriormente, además de configurar el diseño del panel de la sesión tmux, este complemento también puede configurar directorios de trabajo persistentes y hacer que las aplicaciones en ejecución se reinicien con cada sesión.

Kevin Bowen
fuente
2

Me escribí un pequeño script bash :

# filename tmuxv in /home/<username>/Bash/tmuxv/

#!/bin/bash
tmux new-session \; split-window -v \; rename-window ${1} \; attach

y poner un alias en mis ~ / .bash_aliases

alias tmuxv="/home/<username>/Bash/tmuxv/tmuxv"

Entonces ahora simplemente puedo escribir tmuxv PYTHONy tengo una sesión tmux dividida verticalmente con una ventana llamada PYTHON, lo cual es bueno porque el nombre de la ventana se refleja en el nombre de mi pestaña gnome-terminales.

anarquista912
fuente
1
Buena respuesta, pero elimine la pregunta al final. Intente formularla como una nueva pregunta, lo que asegurará que más personas la vean.
Tom Brossman