tmux es un multiplexor de terminales que permite gestionar múltiples sesiones dentro de una sola ventana de terminal. Esto incluye dividir la terminal en paneles, mantener sesiones activas incluso después de cerrar la conexión, y manejar múltiples ventanas dentro de una sesión. Es una herramienta esencial para sysadmins, desarrolladores y cualquier usuario avanzado que trabaje en terminales.
Antecedentes Históricos
- Desarrollado por: Nicholas Marriott.
- Primera Versión: 2007.
- Propósito: Crear un reemplazo moderno para herramientas como
screen, optimizando la experiencia de usuarios que necesitan manejar múltiples terminales de manera eficiente. - Estado Actual: Muy popular en entornos de servidores y sistemas remotos, así como en flujos de trabajo avanzados en terminal.
Conceptos Clave de tmux
- Sesión:
- Es el contenedor principal donde puedes abrir varias ventanas y paneles.
-
Las sesiones persisten incluso si cierras la terminal o te desconectas de un servidor.
-
Ventana:
-
Dentro de una sesión, puedes tener múltiples ventanas. Cada ventana actúa como una terminal completa.
-
Panel:
-
Una ventana puede dividirse en paneles, permitiendo trabajar en múltiples terminales dentro de una sola ventana.
-
Prefijo (
Ctrl + b): - Es la combinación de teclas predeterminada para iniciar los comandos de tmux.
Teclas Principales en tmux
Gestión de Sesiones
- Crear una nueva sesión:
tmux new-session -s nombre_sesion - Desconectar de una sesión:
Ctrl + b, d - Listar sesiones activas:
tmux list-sessions - Reconectar a una sesión existente:
tmux attach-session -t nombre_sesion
Gestión de Ventanas
- Crear una nueva ventana:
Ctrl + b, c - Cambiar entre ventanas:
Ctrl + b, n(siguiente) oCtrl + b, p(anterior) - Cerrar una ventana:
Escribe
exitdentro de la ventana.
Gestión de Paneles
- Dividir en paneles horizontales:
Ctrl + b, % - Dividir en paneles verticales:
Ctrl + b, " - Moverse entre paneles:
Ctrl + bseguido de las flechas. - Cerrar un panel:
Escribe
exito usaCtrl + d.
Comandos Adicionales
- Renombrar una ventana:
Ctrl + b, ,y luego escribe el nuevo nombre. - Sincronizar paneles (en modo de copia):
Esto permite enviar el mismo comando a todos los paneles simultáneamente.
tmux setw synchronize-panes on
Ejemplo Básico de Uso
- Inicia tmux:
tmux - Divide la terminal en dos paneles:
- Panel vertical:
Ctrl + b, % - Panel horizontal:
Ctrl + b, " - Ejecuta comandos en cada panel.
- Sal de la sesión sin cerrar los paneles:
Ctrl + b, d - Reconéctate a la sesión:
tmux attach-session
Ventajas de tmux
- Persistencia: Las sesiones continúan ejecutándose incluso si la conexión se interrumpe.
- Eficiencia: Gestión rápida de múltiples terminales usando solo el teclado.
- Productividad: Facilita trabajar en servidores remotos y entornos de desarrollo.
Configuración
Si deseas profundizar en su configuración, puedes personalizarlo a través del archivo ~/.tmux.conf para adaptarlo a tus necesidades específicas.