Usando tmux: un multiplexor de terminal para usuarios avanzados

Popular:
¡MEJORA LA CONFIGURACIÓN DE TU SERVIDOR! APLICAR AVA Y LANZA CON UN 15% DE DESCUENTO
USA EL CÓDIGO PROMOCIONAL:

Cómo usar tmux: un Terminal Multiplexer para usuarios avanzados

tmux

es un terminal multiplexer que cambia las reglas del juego y aumenta la productividad al gestionar múltiples sesiones, panes y flujos de trabajo persistentes en un solo terminal. Ideal para desarrolladores, sysadmins o cualquier persona que trabaje en servidores remotos,

tmux

mantiene tus tareas organizadas y resistentes. Esta guía simplifica el uso de

tmux

con ejemplos prácticos y consejos para potenciar tu eficiencia en la línea de comandos.

¿Qué es tmux?

tmux es un terminal multiplexer de código abierto que permite:

  • Múltiples sesiones de shell dentro de un terminal

  • Sesiones persistentes (incluso después de la desconexión)

  • División de paneles y ventanas

  • Compartir sesiones entre usuarios

  • Cambiar fácilmente entre tareas sin salir del terminal

Es como tener un gestor de ventanas en mosaico para tu terminal, disponible en cualquier lugar, incluso a través de conexiones SSH lentas.

 Instalando tmux

En Debian/Ubuntu:

sudo apt install tmux

En CentOS/RHEL:

sudo yum install tmux

En macOS:

brew install tmux

Comenzando con tmux

Para iniciar una nueva sesión de tmux:

tmux

Ahora estás dentro de una nueva sesión. Pero para usarla eficazmente, necesitarás conocer algunos keybindings.

Prefijo predeterminado: Ctrl + b

Todos los comandos de tmux se activan con una tecla de prefijo, que por defecto es:

Ctrl + b

Así que Ctrl + b, luego % crea una división vertical, y así sucesivamente.

Comandos esenciales de tmux

CommandAction
tmuxIniciar una nueva sesión
tmux new -s mysessionIniciar una sesión con nombre
tmux attach -t mysessionVolver a adjuntarse a una sesión
tmux lsListar sesiones
tmux kill-session -t mysessionEliminar una sesión
exitSalir del panel/ventana actual (o eliminar mediante tmux kill-pane)

Consejos y trucos avanzados

1. Sesiones con nombre para persistencia

tmux new -s setup-server("name-your-session")
Ctrl + b, luego «
→ tienes dos paneles horizontales: superior e inferior

Volver a adjuntarse en cualquier momento:

tmux attach -t setup-server

🧮 2. Ahorra tiempo con scripts de sesiones

Crea .tmux.conf o scripts de shell para automatizar la configuración:

#!/bin/bash
tmux new-session -d -s dev
tmux send-keys -t dev 'cd ~/project && vim' C-m
tmux split-window -h
tmux send-keys 'htop' C-m
tmux attach -t dev

🧬 3. Compartir sesión con otro usuario

Permite sesiones de terminal colaborativas (requiere permisos compartidos):

sudo chmod +s /usr/bin/tmux
tmux -S /tmp/shared attach

⚙ 4. Personaliza .tmux.conf

Ejemplo:

# Establecer el prefijo en Ctrl + a (como GNU screen)

unbind C-b
set-option -g prefix C-a
bind-key C-a send-prefix

# Soporte para mouse

set -g mouse on

# Mejores colores

set -g default-terminal "screen-256color"

Recargar configuración:

tmux source-file ~/.tmux.conf

 Caso de uso: tmux sobre SSH

Cuando gestionas un VPS remoto vía SSH:

  1. Conéctate vía SSH

  2. Inicia una sesión de tmux:

    tmux new -s remote
  3. Ejecuta actualizaciones o procesos largos (p. ej., apt upgrade)

  4. Desconéctate en cualquier momento: la sesión persiste

  5. Reconéctate más tarde:

    tmux attach -t remote

💡 Esto es invaluable para conexiones poco fiables, especialmente a través de enlaces móviles o satelitales.

tmux es una de las herramientas más potentes del arsenal de la línea de comandos. Ya sea que estés programando, supervisando servidores o gestionando múltiples tareas de forma remota, tmux ofrece productividad, persistencia y precisión. Una vez dominado, se vuelve indispensable: ahorra tiempo, preserva sesiones y organiza tu flujo de trabajo en el terminal como un profesional.

Conclusión

tmux

transforma tu terminal en un espacio de trabajo potente y flexible, perfecto para la multitarea, la gestión de servidores remotos o la programación colaborativa. Con los ejemplos y consejos anteriores, puedes configurar sesiones rápidamente, automatizar flujos de trabajo y mantener tareas persistentes. Tanto si eres desarrollador como sysadmin,

tmux

agiliza tu experiencia en la línea de comandos, ahorrando tiempo y aumentando la eficiencia.