El mu­l­ti­ple­xor de terminal tmux te permite trabajar en mu­l­ti­ta­rea mediante la línea de comando de tu di­s­tri­bu­ción preferida de Linux. Puedes utilizar tmux para crear, editar, separar o fusionar varias sesiones si­mu­l­tá­nea­me­n­te en una terminal.

El sistema operativo Linux es uno de los más populares, junto a Windows y macOS; es open source y, por tanto, gratuito. El control y la ad­mi­ni­s­tra­ción de una de las muchas di­s­tri­bu­cio­nes de Linux, como Ubuntu, Debian o Linux Mint, se realiza a menudo a través de la línea de comandos, es decir, mediante la terminal y los comandos de Linux. Para utilizar, gestionar y co­n­fi­gu­rar sesiones de consola en paralelo en una terminal, se utilizan los llamados mu­l­ti­ple­xo­res de terminal, como GNU Screen o tmux.

Hosting
Hosting de primera al mejor precio
  • 3x más rápido, ahora un 60 % de ahorro
  • Alta di­s­po­ni­bi­li­dad >99.99 %
  • Solo en IONOS: hasta 500 GB incluidos

¿Qué es tmux?

Nicholas Marriott de­sa­rro­lló ell mu­l­ti­ple­xor de terminal de código abierto tmux, que se publicó por primera vez en 2007. En sus funciones, tmux es similar al mu­l­ti­ple­xor de terminal GNU Screen, pues ambos permiten trabajar con varias ventanas de consola en una sesión de terminal y di­vi­di­r­las o se­pa­rar­las en di­fe­re­n­tes paneles o áreas de ventanas mientras escribes un shell script. También se puede usar en paralelo e idea­l­me­n­te por SSH (Secure Shell), para colaborar con otros usuarios en sesiones remotas.

A través de tmux escribes comandos en la terminal para controlar y editar tu di­s­tri­bu­ción de Linux. Entre ellos se en­cue­n­tran, por ejemplo, los comandos para conceder permisos de di­re­c­to­rio con chmod o el comando “shutdown -h” para apagar Linux con facilidad. Aunque puedes utilizar tmux en Ubuntu, Debian u otras di­s­tri­bu­cio­nes de Linux sin ningún problema, tmux solo se puede utilizar en Windows a través de Windows Subsystem for Linux (WSL), por ejemplo WSL2 (Windows Subsystem for Linux 2). Con WSL2, tienes acceso a las apli­ca­cio­nes y he­rra­mie­n­tas de Linux en Windows.

Consejo

¿Buscas el alo­ja­mie­n­to adecuado para tus proyectos de Linux? Usa Linux Hosting de IONOS con tarifas y re­n­di­mie­n­to escalable flexibles, SSL, pro­te­c­ción DDoS y HTTP/2.

Ex­pli­ca­ción del fu­n­cio­na­mie­n­to de tmux

Tras la in­s­ta­la­ción a través de los re­po­si­to­rios oficiales de paquetes de Linux, tmux puede iniciarse si­m­ple­me­n­te a través de la terminal con el comando “tmux”. El mu­l­ti­ple­xor de terminal se controla a través de una consola normal. Los re­qui­si­tos previos para utilizar tmux son:

  • Di­s­tri­bu­ción de Linux o un sistema basado en Linux
  • Perfil de usuario con pri­vi­le­gios root
  • Acceso a la terminal y a los comandos de la línea de comandos/atajos de teclado

Los aspectos más im­po­r­ta­n­tes del fu­n­cio­na­mie­n­to de tmux son las sesiones de terminal, las ventanas y los paneles:

  • Sesiones de terminal: en las sesiones de terminal se ejecutan tareas y comandos, y se maneja la di­s­tri­bu­ción de Linux.
  • Ventanas: si deseas realizar tareas es­pe­cí­fi­cas por separado dentro de una sesión, puedes utilizar tmux para trabajar en paralelo con varias ventanas en una sesión al mismo tiempo.
  • Paneles: también puedes dividir estas ventanas en di­fe­re­n­tes áreas (paneles o “Panes”), para ejecutar, por ejemplo, logs de errores mientras realizas otras tareas en la misma ventana.

Para trabajar con tmux se usan los comandos Tmux de la línea de comandos (tmux commands) y los atajos de teclado. A co­n­ti­nua­ción, pre­se­n­ta­mos los comandos y atajos de teclado más im­po­r­ta­n­tes.

Comandos tmux

In­s­ta­la­ción de tmux en Linux a través del gestor de paquetes oficial de Linux:

apt-get install tmux

In­s­ta­la­ción de tmux en Ubuntu y Debian:

sudo apt-get install tmux

Ejecutar tmux

tmux

Iniciar y nombrar una nueva sesión tmux

tmux new -s [nombre de la sesión]

Finalizar la sesión de tmux

exit

Re­co­ne­c­tar la última sesión de tmux

tmux a -t [nombre de la sesión]

o

tmux a #

Mostrar todas las sesiones de tmux (mostrar el nombre de la sesión y el número de ventanas abiertas)

tmux 1s

Ajuste de paneles con [Ctrl] + [B] + [:] y re­di­me­n­sio­nar los paneles

Si divides una ventana en paneles, tienes la opción de co­n­fi­gu­rar­los como prefieras. Para ello, pulsa primero la co­m­bi­na­ción de teclas [Ctrl] + [B] + [:] y ya podrás pe­r­so­na­li­zar los paneles con los si­guie­n­tes comandos:

  • resize-pane -D: mueve la línea divisoria entre paneles hacia abajo.
  • resize-pane -U: mueve la línea divisoria entre paneles hacia arriba.
  • resize-pane -R: mueve la línea divisoria entre paneles a la derecha.
  • resize-pane -L: mueve la línea divisoria entre paneles a la izquierda. También puedes mover la línea de se­pa­ra­ción según de las unidades de media, celdas, pre­de­fi­ni­das de la siguiente manera; sin embargo, esto afecta a todos los paneles de la ventana:
  • resize-pane -U 10: mover la línea divisoria 10 celdas hacia arriba.
  • resize-pane -t 2 -R 5: mover la línea divisoria 5 celdas a la derecha.

Maximizar y minimizar el panel (antes la co­m­bi­na­ción de teclas [Ctrl] + [B])

+ [:])

resize-pane -Z

Separar (“detach”) de la sesión existente (con el nombre de la sesión, si procede)

tmux detach

Unir (“attach”) a la sesión existente (con el nombre de la sesión, si procede)

tmux attach

Co­m­bi­na­cio­nes de teclas tmux

Además del control y la ejecución a través de comandos de línea de comandos y scripts, tmux se controla a través de atajos de teclado. Para iniciar el control a través de los atajos de teclado, pulsa [Ctrl] + [B]. Todas las entradas po­s­te­rio­res des­en­ca­de­nan la acción deseada. Los atajos más im­po­r­ta­n­tes son:

Comandos para las sesiones:

  • S: muestras todas las sesiones y cambia de una sesión a otra
  • $: cambiar el nombre de la sesión actual
  • D: separa la sesión (“detach”) y la mueve a segundo plano
  • ?: muestra las co­m­bi­na­cio­nes de teclas activas (área de ayuda abierta)

Comandos para las ventanas:

  • C: crear/abrir una nueva ventana
  • W: listar todas las ventanas exi­s­te­n­tes, cambiar de ventana
  • L: cambiar a la última ventana utilizada
  • P: pasar a la ventana cro­no­ló­gi­ca­me­n­te anterior
  • N: pasar a la ventana cro­no­ló­gi­ca­me­n­te siguiente
  • ,: cambiar el nombre de la ventana actual
  • &: cerrar la ventana actual (confirmar con “y”)
  • 1, 2, 3, (...): saltar al número de ventana X
  • [: utilizar el modo de de­s­pla­za­mie­n­to (de­s­pla­zar­se en la ventana actual con las teclas de dirección)

Comandos para paneles:

  • X: cerrar el panel actual
  • %: dividir ve­r­ti­ca­l­me­n­te el panel actual (se crea un segundo panel en la ventana)
  • ": dividir el panel actual ho­ri­zo­n­ta­l­me­n­te (se crea un segundo panel en la ventana)
  • Teclas de de­s­pla­za­mie­n­to (izquierda, derecha, arriba, abajo): navegar entre los paneles
  • H: saltar al panel izquierdo
  • I: saltar al panel de la derecha
  • J: saltar al panel inferior
  • K: saltar al panel superior
  • P: mostrar el número de paneles
  • O: navegar cro­no­ló­gi­ca­me­n­te por todos los paneles
  • }: cambiar el panel actual por los si­guie­n­tes
  • {: in­te­r­ca­m­biar el panel actual con el anterior
  • Barra es­pa­cia­do­ra: cambiar entre las di­vi­sio­nes de los paneles
  • !: separar el panel actual y abrirlo en una nueva ventana

Instalar y utilizar tmux: paso a paso

Sigue estos pasos para instalar y utilizar tmux:

Paso 1. Instala el mu­l­ti­ple­xor de te­r­mi­na­les desde los re­po­si­to­rios oficiales de Linux mediante el comando de in­s­ta­la­ción de paquetes: apt-get install tmux

En Debian o Ubuntu tienes que utilizar el co­m­ple­me­n­to “sudo”: sudo apt- get install tmux

Paso 2. Ejecuta tmux in­tro­du­cie­n­do “tmux” en la terminal. Cuando tmux se inicie, verás una no­ti­fi­ca­ción de estado en la parte inferior que consiste en el nombre del host (nombre de usuario@servidor del host), la hora y la fecha. En la parte inferior izquierda verás el nombre de la sesión (si tiene nombre) y el número de ventanas en el siguiente formato “[0] 0:bash*”. La primera ventana está eti­que­ta­da como “0”. Si un proceso se está eje­cu­ta­n­do en la ventana, se muestra después del 0 (por ejemplo “0:bash*”).

Paso 3. Controla tmux mediante comandos de línea de comandos y atajos de teclado. Lanza cada comando o atajo de teclado con [Ctrl] + [B] o, al co­n­fi­gu­rar paneles, con [Ctrl] + [B] + [:] para activar los controles de tmux.

Paso 4. Inicia una nueva sesión con un nuevo nombre uti­li­za­n­do el comando “tmux new -s”. Después de “-s” escribe el nombre deseado para la sesión. Si prefieres iniciar una sesión sin nombre de sesión, teclea solo “tmux”.

Paso 5. Para finalizar una sesión, usa el comando “exit” o el atajo de teclado [Ctrl] + [D].

Paso 6. Para abrir una nueva ventana en la sesión, pulsa [C]. Para iniciar una nueva segunda sesión en paralelo con la primera, teclea de nuevo el comando “tmux new -s [nombre de la sesión]”. La no­ti­fi­ca­ción de estado que aparece a co­n­ti­nua­ción muestra en qué sesión te en­cue­n­tras ac­tua­l­me­n­te.

Paso 7. Si quieres dividir una ventana en paneles, escribe [%] para tener una ventana dividida ve­r­ti­ca­l­me­n­te o ["] para crear una ventana dividida ho­ri­zo­n­ta­l­me­n­te. Usa las teclas de de­s­pla­za­mie­n­to para navegar entre los paneles.

Paso 8. Si quieres separar una sesión en curso, pero mantener los procesos en marcha, usa el comando “tmux detach”. La sesión y los procesos en ejecución seguirán fu­n­cio­na­n­do en segundo plano. Para unirla de nuevo a la sesión, renueva la conexión con el comando “tmux attach”.

Para qué se puede utilizar tmux

Al igual que el mu­l­ti­ple­xor de terminal GNU Screen, tmux te permite trabajar en varias sesiones y ventanas al mismo tiempo en el terminal de una di­s­tri­bu­ción Linux, así como dividir y co­n­fi­gu­rar las ventanas en di­fe­re­n­tes paneles para la mu­l­ti­ta­rea. De este modo, puedes ejecutar procesos y programas en paralelo y lanzar di­fe­re­n­tes comandos al mismo tiempo. También es posible realizar sesiones remotas y colaborar con varios usuarios al mismo tiempo. Además, puedes dejar los procesos y sesiones, moverlas a un segundo plano y re­to­mar­las más tarde donde las dejaste.

Consejo

¿Necesitas una vi­r­tua­li­za­ción completa y un re­n­di­mie­n­to óptimo del VPS? Usa el servidor VPS de IONOS con al­ma­ce­na­mie­n­to SAN 100% SSD para proyectos exigentes, con recursos es­ca­la­bles y dedicados y alo­ja­mie­n­to web Plesk opcional.

Di­fe­re­n­cia con GNU Screen

A primera vista, GNU Screen y tmux funcionan de forma idéntica y ofrecen las mismas funciones im­po­r­ta­n­tes. Por ejemplo, en GNU Screen los comandos y atajos de teclado se inician con [Ctrl] + [A] en lugar de [Ctrl] + [B]. Una di­fe­re­n­cia im­po­r­ta­n­te, sin embargo, es que GNU Screen no muestra au­to­má­ti­ca­me­n­te una no­ti­fi­ca­ción de estado con el nombre de la sesión actual en la parte inferior de la ventana.

Si quieres ver la no­ti­fi­ca­ción de estado en GNU Screen, tienes que co­n­fi­gu­rar­la ma­nua­l­me­n­te.

La sencillez para nombrar y renombrar sesiones y ventanas en tmux también facilita la visión general y la na­ve­ga­ción entre ventanas y sesiones. Además, a di­fe­re­n­cia de GNU Screen, en tmux no hay peligro de perder una ventana por completo si la separas y mueves a segundo plano. Las ventanas se pueden recuperar fá­ci­l­me­n­te a través de un comando de terminal o se puede solicitar un resumen de todas las ventanas actuales.

Consejo

Sácale partido a la potencia de cálculo escalable de las máquinas virtuales para obtener una potente in­frae­s­tru­c­tu­ra virtual. El servidor cloud de IONOS ofrece recursos 100% dedicados, acceso root, panel en la nube y centros de datos ubicados en EE. UU., Reino Unido, Alemania o España seguros para tu proyecto.

Co­n­clu­sión: ¿merece la pena usar tmux?

Ya sea por el cambio de nombre de las ventanas y las sesiones o por las útiles no­ti­fi­ca­cio­nes de estado y de sesión en la parte inferior de la ventana, tmux es para muchos usuarios más fácil de usar y claro que GNU Screen. Si trabajas con varios procesos y programas en la terminal al mismo tiempo y buscas una he­rra­mie­n­ta mu­l­ti­ta­rea sencilla y eficaz, tmux se presenta como un mu­l­ti­ple­xor de terminal útil y, además, gratuito.

Ir al menú principal