Don Quijote de la Mancha -Miguel de Cervantes-

 

tmux Multiplexor CLI en Linux OS

2
(1)
tmux

Multiplexor tmux

tmux, multiplexor de terminal CLI en Linux

El multiplexor de terminal tmux te permite trabajar en multitarea mediante la línea de comando de tu distribución preferida de Linux. Puedes utilizar tmux para crear, editar, separar o fusionar varias sesiones simultáneamente en una terminal. Se mantiene como Open Source

Thank you for reading this post, don't forget to subscribe!

¿Qué es tmux?

Nicholas Marriott desarrolló ell multiplexor de terminal de código abierto tmux, que se publicó por primera vez en 2007. En sus funciones, tmux es similar al multiplexor de terminal GNU Screen, pues ambos permiten trabajar con varias ventanas de consola en una sesión de terminal y dividirlas o separarlas en diferentes paneles o áreas de ventanas mientras escribes un shell script. También se puede usar en paralelo e idealmente 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 distribución de Linux.

Como funciona de tmux

Tras la instalación a través de los repositorios oficiales de paquetes de Linux, tmux puede iniciarse simplemente a través de la terminal con el comando “tmux”. El multiplexor de terminal se controla a través de una consola normal. Los requisitos previos para utilizar tmux son:

  • Distribución de Linux o un sistema basado en Linux
  • Perfil de usuario con privilegios root
  • Acceso a la terminal y a los comandos de la línea de comandos/atajos de teclado

Los aspectos más importantes del funcionamiento 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 distribución de Linux.
  • Ventanas: si deseas realizar tareas específicas 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 diferentes á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 continuación, ponemos aquí los comandos y atajos de teclado más relevantes.

 

Comandos tmux:

Instalación de tmux en Linux a través del gestor de paquetes oficial de Linux:

$ apt-get install tmux

Instalació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

Reconectar la última sesión de tmux

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

o bien

$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 redimensionar los paneles

Si divides una ventana en paneles, tienes la opción de configurarlos como prefieras. Para ello, pulsa primero la combinación de teclas [Ctrl] + [B] + [:] y ya podrás personalizar los paneles con los siguientes 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 separación según de las unidades de media, celdas, predefinidas 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 combinació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

Combinaciones 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 posteriores desencadenan la acción deseada. Los atajos más importantes 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 combinaciones de teclas activas (área de ayuda abierta)

Comandos para las ventanas:

  • C: crear/abrir una nueva ventana
  • W: listar todas las ventanas existentes, cambiar de ventana
  • L: cambiar a la última ventana utilizada
  • P: pasar a la ventana cronológicamente anterior
  • N: pasar a la ventana cronológicamente 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 desplazamiento (desplazarse en la ventana actual con las teclas de dirección)

Comandos para paneles:

  • X: cerrar el panel actual
  • %: dividir verticalmente el panel actual (se crea un segundo panel en la ventana)
  • “: dividir el panel actual horizontalmente (se crea un segundo panel en la ventana)
  • Teclas de desplazamiento (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 cronológicamente por todos los paneles
  • }: cambiar el panel actual por los siguientes
  • {: intercambiar el panel actual con el anterior
  • Barra espaciadora: cambiar entre las divisiones de los paneles
  • !: separar el panel actual y abrirlo en una nueva ventana

Instalar y utilizar tmux

Sigue estos pasos para instalar y utilizar tmux:

Instala el multiplexor de terminales desde los repositorios oficiales de Linux mediante el comando de instalación de paquetes: apt-get install tmux.

En Debian o Ubuntu tienes que utilizar el complemento “sudo”: sudo apt- get install tmux

Ejecuta tmux introduciendo “tmux” en la terminal. Cuando tmux se inicie, verás una notificació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á etiquetada como “0”. Si un proceso se está ejecutando en la ventana, se muestra después del 0 (por ejemplo “0:bash*”).

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 configurar paneles, con [Ctrl] + [B] + [:] para activar los controles de tmux.

Inicia una nueva sesión con un nuevo nombre utilizando 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”.

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

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 notificación de estado que aparece a continuación muestra en qué sesión te encuentras actualmente.

Si quieres dividir una ventana en paneles, escribe [%] para tener una ventana dividida verticalmente o [“] para crear una ventana dividida horizontalmente. Usa las teclas de desplazamiento para navegar entre los paneles.

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 funcionando 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 multiplexor de terminal GNU Screen, tmux te permite trabajar en varias sesiones y ventanas al mismo tiempo en el terminal de una distribución Linux, así como dividir y configurar las ventanas en diferentes paneles para la multitarea. De este modo, puedes ejecutar procesos y programas en paralelo y lanzar diferentes 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 retomarlas más tarde donde las dejaste.

Diferencia con GNU Screen

A primera vista, GNU Screen y tmux funcionan de forma idéntica y ofrecen las mismas funciones importantes. Por ejemplo, en GNU Screen los comandos y atajos de teclado se inician con [Ctrl] + [A] en lugar de [Ctrl] + [B]. Una diferencia importante, sin embargo, es que GNU Screen no muestra automáticamente una notificación de estado con el nombre de la sesión actual en la parte inferior de la ventana.

Recuerda, siempre puedes obtener ayuda con  la página man:

$ man tmux

 


 

How useful was this post?

Click on a star to rate it!

Average rating 2 / 5. Vote count: 1

No votes so far! Be the first to rate this post.

We are sorry that this post was not useful for you!

Let us improve this post!

Tell us how we can improve this post?

0 - 0

Thank You For Your Vote!

Sorry You have Already Voted!

Leave a Reply

Your email address will not be published. Required fields are marked *

error

Enjoy this blog? Please spread the word :)