Si trabajas habitualmente en la línea de comandos de Linux o macOS, probablemente ya habrás oído hablar de TMUX, una herramienta que facilita muchísimo la gestión de múltiples terminales y tareas al mismo tiempo. Para aquellos que manejan sistemas remotos como servidores o simplemente buscan optimizar su flujo de trabajo en la terminal, TMUX es una solución imprescindible.
TMUX es un multiplexor de terminal, ¿qué quiere decir esto? En pocas palabras, permite abrir varias sesiones de terminal dentro de una misma ventana, dividiendo el espacio en paneles y ventanas independientes. Incluso después de cerrar o desconectarte, las sesiones continuarán en segundo plano, lo que lo convierte en una herramienta perfecta para trabajar en segundo plano o en sistemas remotos.
¿Qué es TMUX?
TMUX, abreviatura de ‘Terminal MUltipleXer’, es un software que permite a los usuarios gestionar múltiples sesiones de terminal en un solo espacio de trabajo.
Funciona de forma similar a otras herramientas como GNU Screen, pero ofrece características muy potentes para manipular sesiones y paneles de manera dinámica. Esto significa que puedes dividir tu consola en varias secciones, cambiar entre ellas sin complicaciones y, sobre todo, mantener tareas o procesos funcionando a pesar de que cierres la terminal o pierdas la conexión con un servidor remoto.
Por ejemplo, si estás administrando un servidor remoto a través de SSH y tu conexión se interrumpe, la sesión de TMUX continuará corriendo en segundo plano. Podrás reconectarte más tarde y volver a donde lo dejaste sin perder ningún progreso.
¿Cómo instalar TMUX?
Antes de empezar a disfrutar de las ventajas de TMUX, primero tienes que instalarlo. TMUX está disponible en los repositorios oficiales de la mayoría de las distribuciones de Linux y en sistemas como macOS.
- En Linux (Debian, Ubuntu): Puedes proceder a instalar TMUX desde el gestor de paquetes ejecutando el siguiente comando en tu terminal:
sudo apt install tmux
. - En macOS: Si prefieres esta herramienta en macOS, puedes usar Homebrew, un gestor de paquetes popular. El comando para hacerlo es:
brew install tmux
.
Una vez instalado, asegúrate de que se ha instalado correctamente verificando la versión con el comando: tmux -V
.
Cómo empezar a utilizar TMUX
Para empezar a usar TMUX es muy sencillo. Abre tu terminal e ingresa el comando:
tmux
Esto creará automáticamente una nueva sesión de TMUX e iniciará una ventana de terminal dentro de esa sesión. En la parte inferior de la ventana verás una barra de estado que muestra información sobre las sesiones activas.
Si quisieras dar un nombre a tu sesión, puedes hacerlo agregando la opción -s
al comando, de la siguiente manera:
tmux new -s nombre_de_sesion
Esto es útil cuando estás manejando múltiples sesiones simultáneamente, ya que te permite identificarlas fácilmente.
Gestionar sesiones TMUX
Una de las principales características de TMUX es la capacidad de gestionar fácilmente múltiples sesiones. Aquí tienes los comandos clave:
- Crear una nueva sesión: Para crear una nueva sesión aparte de la que ya tienes en marcha, usa el comando:
tmux new-session -s nombre_de_sesion
. - Listar todas las sesiones: Si quieres ver qué sesiones tienes abiertas, ejecuta:
tmux ls
. - Adjuntarse a una sesión activa: Si has creado una sesión en segundo plano y deseas volver a ella, usa:
tmux attach-session -t nombre_de_sesion
. - Desvincular una sesión: Para continuar con otras tareas sin cerrar una sesión, presiona Ctrl-b + d. Tu sesión continuará ejecutándose en segundo plano.
- Eliminar sesiones: Finalmente, si deseas eliminar una sesión en particular, hazlo con:
tmux kill-session -t nombre_de_sesion
.
División en ventanas y paneles
TMUX permite dividir una sesión en múltiples ventanas y dividir esas ventanas en paneles. Esta característica es especialmente útil cuando deseas realizar diferentes tareas en paralelo sin tener que estar abriendo nuevas pestañas de terminales constantemente.
Dividir ventanas
Cada sesión TMUX empieza con una sola ventana de terminal. Para crear más ventanas dentro de la misma sesión utiliza la combinación de teclas:
- Ctrl-b + c: Esto abrirá una nueva ventana de terminal dentro de la sesión actual.
- Ctrl-b + n: Navegará a la siguiente ventana.
- Ctrl-b + p: Navegará a la ventana anterior.
- Ctrl-b + número: Permite saltar directamente a una ventana por su número.
Dividir paneles
Aparte de las ventanas, también puedes dividir cada una de ellas en múltiples “paneles”. Esto te da una manera de gestionar aún mejor tu trabajo, ya que puedes ejecutar diferentes tareas en cada panel sin cambiar de ventana.
Para dividir la ventana en paneles utiliza estos atajos de teclado:
- Ctrl-b + %: Divide la ventana de manera vertical (en dos columnas).
- Ctrl-b + “: Divide la ventana horizontalmente (en dos filas).
Para moverte de un panel a otro, puedes usar Ctrl-b y luego las teclas de dirección.
Si quieres ajustar el tamaño de los paneles, puedes hacerlo usando Ctrl-b combinado con Alt y las teclas de dirección.
Personalización de TMUX
Una de las características interesantes de TMUX es que es altamente personalizable. Puedes crear un archivo de configuración que te permita ajustar la experiencia de TMUX según tus necesidades.
Para crear un archivo de configuración local que aplique solo a tu usuario, abre un archivo .tmux.conf
en tu directorio home:
sudo touch ~/.tmux.conf
Dentro de este archivo, puedes configurar cosas como las combinaciones de teclas que prefieras, la apariencia de los paneles e incluso activar el uso del ratón para gestionar los paneles.
Por ejemplo, para cambiar el atajo por defecto de Ctrl-b a Ctrl-a, añade lo siguiente a tu archivo de configuración:
unbind C-b
set-option -g prefix C-a
bind-key C-a send-prefix
Además, para activar el uso del ratón puedes incluir:
set -g mouse on
Comandos avanzados y modos
TMUX cuenta con una amplia gama de comandos avanzados que te permiten hacer cosas como mover tus paneles, redimensionarlos o incluso replicar sesiones enteras.
Por ejemplo, puedes mover un panel a una nueva ventana utilizando el comando:
Ctrl-b + !
Asimismo, puedes intercambiar la posición de dos paneles utilizando:
Ctrl-b + { o }
Otro comando útil es el modo de línea de comandos, el cual permite ejecutar cualquier comando de TMUX de forma interactiva. Para activarlo, usa:
Ctrl-b + :
Ventajas de usar TMUX
A diferencia de la terminal tradicional de Linux, que solo permite trabajar en una sesión al mismo tiempo, TMUX ofrece una multitud de ventajas clave para los administradores de sistemas o desarrolladores:
- Multitarea: Con TMUX puedes trabajar en múltiples sesiones simultáneamente y gestionar tareas largas sin riesgo de perderlas en caso de desconexiones.
- Persistencia: Las sesiones TMUX continúan ejecutándose incluso después de cerrar la terminal o desconectar del servidor.
- Eficiencia: Con paneles y ventanas puedes dividir tu trabajo de una manera más organizada y eficiente en la misma ventana de terminal.
- Flexibilidad: La capacidad de personalizar TMUX con archivos de configuración lo hace adecuado para cualquier tipo de usuario o flujo de trabajo.
Si trabajas a menudo con sistemas remotos o necesitas ejecutar múltiples procesos en la terminal, TMUX es una herramienta que te ofrece un control total en tu entorno de trabajo. Desde la creación de sesiones persistentes hasta la división de terminales en paneles, permite maximizar tu productividad sin esfuerzo adicional.
Soy Alberto Navarro y soy un apasionado de todo lo relativo a la tecnología, desde gadgets de vanguardia hasta software y videojuegos de todo tipo. Mi interés por lo digital comenzó con los videojuegos y continuó en el mundo del marketing digital. Llevo desde 2019 escribiendo sobre el mundo digital en diferentes plataformas compartiendo las últimas novedades del sector. Además trato de escribir de una forma original para que tú puedas estar al día al mismo tiempo que te entretienes.
Estudié la carrera de Sociología en la universidad y seguí completando mis estudios con un master en Marketing Digital. Así que si tienes cualquier duda, compartiré contigo toda mi experiencia en el mundo del marketing digital, de tecnología y de videojuegos.