tmux: multiplexor de terminal
tmux (terminal multiplexer) permite dividir una sola terminal en múltiples paneles, crear varias ventanas y, sobre todo, mantener sesiones que sobreviven a los cierres de conexión. Si trabajas con SSH, es imprescindible: puedes lanzar un proceso largo, desconectarte, reconectarte horas después y encontrar el proceso exactamente donde lo dejaste.
sudo apt install tmux # Debian/Ubuntu
tmux -V # verificar versión
Tres conceptos clave
- Sesión — un espacio de trabajo independiente que persiste aunque cierres la terminal. Puedes tener varias sesiones abiertas a la vez.
- Ventana — equivale a una pestaña del navegador. Cada sesión puede tener múltiples ventanas.
- Panel — división de una ventana. Cada ventana puede dividirse en varios paneles que muestran terminales independientes.
La tecla prefijo
Todos los atajos de teclado de tmux empiezan por la tecla prefijo: por defecto Ctrl+b. La secuencia es: pulsar Ctrl+b, soltar, y luego pulsar la tecla del comando.
Por ejemplo: Ctrl+b c crea una ventana nueva.
Sesiones
tmux # crear sesión sin nombre
tmux new -s trabajo # crear sesión con nombre "trabajo"
tmux ls # listar sesiones activas
tmux attach -t trabajo # reconectar a la sesión "trabajo"
tmux attach # reconectar a la última sesión
Desde dentro de tmux:
Ctrl+b d # desconectarse (detach) — la sesión sigue corriendo
Ctrl+b $ # renombrar la sesión actual
Ctrl+b s # ver y cambiar entre sesiones (menú interactivo)
Ventanas
Ctrl+b c # crear ventana nueva
Ctrl+b , # renombrar ventana actual
Ctrl+b n # ir a la ventana siguiente
Ctrl+b p # ir a la ventana anterior
Ctrl+b 0..9 # ir directamente a la ventana por número
Ctrl+b w # ver listado de ventanas (menú interactivo)
Ctrl+b & # cerrar ventana actual (pide confirmación)
Paneles
Ctrl+b % # dividir horizontalmente (dos paneles lado a lado)
Ctrl+b " # dividir verticalmente (panel arriba y abajo)
Ctrl+b ← ↑ → ↓ # moverse entre paneles con las flechas
Ctrl+b z # zoom: maximizar/restaurar el panel actual
Ctrl+b x # cerrar panel actual (pide confirmación)
Ctrl+b { # intercambiar panel actual con el anterior
Ctrl+b } # intercambiar panel actual con el siguiente
Desplazamiento por el historial
Por defecto el ratón no funciona para hacer scroll. Entra en modo copia para desplazarte:
Ctrl+b [ # entrar en modo copia/scroll
# usa las flechas o Re Pág / Av Pág para navegar
q # salir del modo copia
Caso práctico: SSH con sesión persistente
El flujo habitual cuando trabajas en un servidor remoto:
# 1. Conectarte por SSH
ssh usuario@servidor
# 2. Crear una sesión tmux con nombre descriptivo
tmux new -s deploy
# 3. Lanzar tus procesos (build, deploy, logs…)
./deploy.sh
# 4. Si pierdes la conexión o quieres cerrar el terminal local,
# desconéctate de tmux sin matar los procesos:
Ctrl+b d
# 5. Al reconectarte por SSH más tarde, restaura la sesión:
tmux attach -t deploy
En la próxima lección: tmux: configuración: personalizar el prefijo, activar el ratón y adaptar tmux a tu flujo de trabajo.