Apuntes sobre Otras cosas

Cajón Desastre: Todo lo que no encaja en ninguna parte.

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.

TOP