tmux es un multiplexor de código abierto, permite acceder de forma simultánea a múltiples sesiones de una terminal en una sola ventana. También permite desconectarse del proceso actual sin cerrar la sesión ni perder cambios (similar a lo que se hace con screen). En este tutorial se cubrirá el uso y comandos básicos de tmux.

Instalación

Fedora:
sudo dnf install tmux
Ubuntu:
sudo apt install tmux
Manjaro/arch:
sudo pacman -Sy tmux

En caso de estar utilizando los computadores del laboratorio mediante ssh, no es necesario realizar ningún comando de instalación

Uso de tmux

Una vez instalado, para iniciar una sesión utilizamos el comando tmux:

Aparecerá una barra de estado en la zona inferior de la terminal:

barra de estado:

Se pueden apreciar 3 zonas:

  • Roja:[0] es el número de la sesión en la que estamos actualmente, incrementa a medida que creamos más sesiones y también se utiliza para volver a ingresar a una sesión abierta.
  • Celeste: Indica las ventanas de tmux que están abiertas (en morado), en este ejemplo hay 2 ventanas identificadas por 0 y 1* indica cual ventana está «enfocada» en estos momentos, para el ejemplo es la ventana 0.
  • Naranja: Indica el hostname donde se está ejecutando tmux.

Comandos básicos:

Una vez dentro de una sesión de tmux los comandos se deben preceder por la combinación de teclas Ctrl + b. Para efectos de este tutorial, cuando se presente una combinación de la siguiente forma Ctrl + b - [key] se refiere a que debemos presionar Ctrl + b, soltar las teclas y luego presionar [key]. En cambio una combinación [Ctrl] + b - [key] se refiere a que debemos presionar Ctrl + b,  soltar b y presionar [key] sin soltar Ctrl.

Administración de paneles
Dividir panel:
  • Ctrl + b - ": Esto permite crear una división horizontal. En los teclados latino-americanos, se debe utilizar Shift + 2 o Mayús + 2 para escribir ".
  • Ctrl + b - %: Esto permite crear una división vertical. En los teclados latino-americanos, se debe utilizar Shift + 5 o Mayús + 5 para escribir %.

Esto se puede hacer cuantas veces se quiera para una crear distribución de paneles adecuada a nuestra necesidad:

Cambiar de panel:

Como tmux está pensado para trabajar solo con teclado, no podemos hacer click sobre un panel para seleccionarlo, debemos utilizar uno de los siguientes métodos:

  • Ctrl + b - [arrow key] para cambiar al panel que se encuentre en la dirección correspondiente, es importante soltar Ctrl + b antes de presionar una de las arrow keys, sino estaremos utilizando un comando diferente.
  • Ctrl + b - q nos mostrará un número sobre cada panel, el cual podemos presionar para cambiar al panel correspondiente. En el ejemplo, el 2 de color rojo es el panel activo.
Redimensionar un panel:

Al dividir un panel, los subsiguientes van ocupando la mitad del espacio disponible, si queremos incrementar el tamaño de un panel se puede hacer con la combinación [Ctrl] + b - [arrow key], en este caso debemos mantener presionado Ctrl para no utilizar el comando de cambiar de panel.

Desconectarse y re-ingresar:

De forma similar a como se utiliza screen para dejar ejecutando un comando/script/proceso mientras realizamos otras tareas (como dormir), tambien podemos hacerlo con tmux.

  • Ctrl + b - d nos permite desconectarnos de la sesión actual sin cerrarla. Cualquier cosa que se esté ejecutando en esa sesión seguirá como si estuvieramos conectados.
  • tmux a -t [session] se utiliza cuando estamos fuera de tmux para conectarnos a una sesión que ya fue iniciada. [session] es el número correspondiente a la sesión que deseamos ingresar.

Esto cubre lo básico para comenzar a trabajar con tmux, existen muchos más comandos y funciones avanzadas que permiten trabajar con tmux de forma aún más eficiente pero que se escapan del ámbito de este tutorial.

Links de interés