Tmux: el multiplexor de terminal que cambia tu forma de trabajar
Tiempo de lectura: 8 minutos Categoría: Linux · Terminal Nivel: Principiante / Intermedio
Si trabajas con servidores remotos o simplemente pasas mucho tiempo en la terminal, tmux es probablemente la herramienta que más va a mejorar tu flujo de trabajo. Te permite dividir la terminal en múltiples paneles, mantener sesiones activas aunque pierdas la conexión SSH y cambiar entre proyectos con un solo atajo. En este artículo te explico todo lo que necesitas saber para dominarlo.
¿Qué es tmux y por qué usarlo?
Tmux es un multiplexor de terminal, lo que significa que te permite tener múltiples terminales dentro de una sola ventana. Pero su característica más valiosa no es esa sino la persistencia de sesiones.
Cuando te conectas a un servidor por SSH y ejecutas un proceso largo, si la conexión se cae el proceso muere. Con tmux el proceso sigue corriendo en el servidor aunque te desconectes. Cuando vuelves a conectarte simplemente te reenganchas a la sesión existente y la encuentras exactamente como la dejaste.
Esto es especialmente valioso cuando estás ejecutando compilaciones largas, migraciones de bases de datos, descargas o cualquier proceso que no puede interrumpirse.
La jerarquía de tmux
Tmux organiza el trabajo en tres niveles. Las sesiones son el nivel más alto y representan un contexto de trabajo completo. Puedes tener una sesión para el proyecto A, otra para el proyecto B y cambiar entre ellas instantáneamente.
Dentro de cada sesión tienes ventanas, que son como pestañas en un navegador. Cada ventana ocupa toda la pantalla y puede contener uno o varios paneles.
Los paneles son divisiones dentro de una ventana. Puedes dividir la ventana horizontalmente o verticalmente para ver varias terminales al mismo tiempo. Es perfecto para ver logs en un panel mientras ejecutas comandos en otro.
Instalar tmux
Tmux está en los repositorios de todas las distribuciones principales. En Ubuntu y Debian se instala con apt, en Arch con pacman, en Fedora con dnf. En macOS está disponible con Homebrew.
El prefijo: la clave para entender tmux
Todos los atajos de tmux se activan primero pulsando el prefijo, que por defecto es Ctrl+b. Esto significa que para ejecutar cualquier comando de tmux primero pulsas Ctrl+b, sueltas, y luego pulsas la tecla del comando.
Al principio esto resulta un poco incómodo pero se automatiza rápido. Muchos usuarios cambian el prefijo a Ctrl+a porque es más cómodo de pulsar, igual que en Screen que es el multiplexor más antiguo.
Comandos esenciales
Para crear una nueva sesión ejecuta tmux new-session desde la terminal, o simplemente tmux. Para darle un nombre descriptivo añade el flag -s seguido del nombre.
Para desengancharte de la sesión actual sin cerrarla pulsa el prefijo y luego d de detach. La sesión sigue activa en segundo plano. Para volver a engancharte usa tmux attach o tmux attach -t seguido del nombre de la sesión.
Para listar todas las sesiones activas usa tmux list-sessions o el atajo prefijo seguido de s que abre un menú interactivo donde puedes seleccionar la sesión.
Gestionar ventanas
Con el prefijo y c creas una nueva ventana. Con el prefijo y n pasas a la siguiente ventana y con p a la anterior. Con el prefijo y un número saltas directamente a esa ventana. Con el prefijo y w abres un menú con todas las ventanas de la sesión actual.
Para renombrar la ventana actual usa el prefijo y la coma. Dar nombres descriptivos a las ventanas hace mucho más fácil navegar entre ellas.
Gestionar paneles
Con el prefijo y el porcentaje divides el panel actual verticalmente en dos columnas. Con el prefijo y la comilla doble lo divides horizontalmente en dos filas. Para moverte entre paneles usa el prefijo y las flechas del cursor.
Para cerrar el panel actual simplemente escribe exit o pulsa Ctrl+d. Para hacer zoom en un panel y que ocupe toda la ventana usa el prefijo y z. Vuelve a pulsarlo para restaurar el tamaño original.
Copiar y pegar en tmux
Tmux tiene su propio modo de copia que funciona de forma similar a vi. Con el prefijo y corchete de apertura entras en el modo copia. Puedes moverte con las teclas de vi, seleccionar texto con espacio y copiarlo con Enter. Para pegar usa el prefijo y corchete de cierre.
Personalizar tmux con .tmux.conf
La configuración de tmux vive en el archivo .tmux.conf en tu directorio home. Algunas personalizaciones muy recomendadas son cambiar el prefijo a Ctrl+a si lo encuentras más cómodo, habilitar el soporte para ratón para poder cambiar de panel haciendo clic y redimensionarlos arrastrando, activar el historial de 10000 líneas en vez del predeterminado que es bastante corto, y cambiar la numeración de ventanas para que empiece en 1 en vez de 0.
TPM: gestor de plugins para tmux
TPM es el gestor de plugins oficial de tmux. Se instala clonando su repositorio de GitHub en la carpeta de plugins de tmux y añadiendo unas líneas al .tmux.conf.
Los plugins más útiles son tmux-resurrect que guarda y restaura sesiones entre reinicios del sistema, tmux-continuum que automatiza ese guardado cada cierto tiempo, y tmux-sensible que aplica un conjunto de configuraciones razonables por defecto.
Conclusión
Tmux es una de esas herramientas que parece compleja al principio pero que con una semana de uso diario se vuelve indispensable. La persistencia de sesiones por sí sola ya justifica aprenderlo si trabajas con servidores remotos.
Empieza usando solo las sesiones y las ventanas básicas, y añade los paneles y personalizaciones según los vayas necesitando.
¿Usas tmux, Screen o alguna otra herramienta para gestionar terminales? Cuéntame tu setup.

