¿Por qué utilizar Tmux?¶
En una terminal Linux tradicional, los usuarios sólo pueden trabajar en una tarea por sesión y no pueden continuar su progreso después de desconectarse. Tmux ayuda a resolver este problema proporcionando estas ventajas:
Gestión de tareas y sesiones: los administradores del sistema pueden crear varias sesiones para agrupar tareas. También pueden enlazar ventanas, replicando un proceso en otro para mantener la coherencia.
Multitarea: los usuarios pueden desconectarse de una sesión y volver a conectarse donde la dejaron. Esto permite una multitarea eficaz, ya que pueden trabajar en varias tareas a la vez.
Trabajo a distancia: el servidor tmux conserva todos los procesos en ejecución, incluso cuando el usuario se desconecta. Permite trabajar de forma fiable en un sistema remoto, como un VPS, sin preocuparse de la conexión SSH.
Procesos de larga duración: los procesos en tmux permanecerán activos hasta que el usuario los termine. Esta función es útil para tareas como registrar eventos o desplegar una aplicación.
Cómo instalar tmux¶
Antes de instalar tmux, actualice el repositorio de paquetes de su sistema:
apt update
A continuación, ejecute el siguiente comando para instalar tmux:
apt install tmux
Una vez finalizado el proceso compruebe si está bien configurado consultando la versión:
tmux -V
Si su terminal devuelve el número de versión, tmux está correctamente instalado.
En tmux, puede dividir el terminal en sesiones, ventanas y paneles. Son shells dedicados y aislados en los que puede ejecutar comandos o ejecutar procesos sin afectar a los demás.
La única diferencia es su estructura jerárquica, que proporciona modularidad para una organización eficaz de las tareas. Una sesión es una colección de ventanas, mientras que los paneles son subdivisiones de una única ventana.
Teclas y atajos de tmux¶
Los atajos de teclado de tmux son esenciales para la gestión de ventanas y paneles. Estas son algunas de las combinaciones de teclas más útiles y sus funciones:
Ctrl-b + d: salir de la sesión actual.
Ctrl-b + %: dividir una ventana en paneles superior e inferior.
Ctrl-b + “: dividir una ventana en dos paneles verticalmente.
Ctrl-b + flecha: mover a un panel diferente en una dirección.
Ctrl-b + x: cerrar el panel actual.
Ctrl-b + c: crear una nueva ventana.
Ctrl-b + n: pasar a la siguiente ventana según el número.
Ctrl-b + p: volver a la ventana anterior.
Ctrl-b + número ID: saltar a una ventana concreta utilizando el número ID.
Ctrl-b + : abrir el modo línea de comandos.
Ctrl-b + ?: mostrar todos los atajos.
Ctrl-b + w: lista todas las ventanas de la sesión actual.
Tenga en cuenta que los atajos tmux sólo funcionan dentro de una sesión tmux. Además, para que las combinaciones de teclas funcionen, tendrá que pulsar Ctrl-b antes de la tecla que quieras utilizar, como se muestra arriba.
Ver también
Cómo utilizar tmux¶
Veamos como utilizar el multiplexor para un flujo de trabajo eficiente desde la línea de comandos.
Iniciar una nueva sesión¶
Para iniciar tmux y crear su primera sesión, ejecute uno de los siguientes comandos en tu ventana principal de terminal:
tmux
tmux new
tmux new-session
Tenga en cuenta que debe ejecutar estos comandos en la ventana principal de la terminal. No es recomendable crear una nueva dentro de una sesión existente..
De manera predeterminada, una nueva sesión tmux utilizará un número ID para identificarse. Sin embargo, es posible darle un nombre personalizado utilizando la opción -s:
tmux new-session -s [nombre]
Separar y unir sesiones¶
Después de crear una nueva sesión, será adjuntado automáticamente a ella. Para desvincularse y abandonar el cliente tmux, pulse Ctrl-b + d. Para volver a vincularse a la sesión más reciente, utilice el comando tmux attach-session. También puede volver a entrar en un shell específico ingresando::
tmux attach-session -t [sesión-nombre]
Alternativamente, vuelva a conectarse a una sesión de destino concreta utilizando su número de ID. Como tmux inicia el orden desde 0 de manera predeterminada, introduzca lo siguiente para acceder al primero:
tmux attach-session -t 0
Gestionar sesiones¶
Para listar todas las sesiones activas, ejecute cualquiera de los siguientes comandos tmux. Puede hacerlo dentro del shell principal o virtual:
tmux list-sessions
tmux ls
Su interfaz de línea de comandos mostrará todas las sesiones con detalles como su nombre, ID, número de ventanas y fecha de creación. También verá a cuál está conectado actualmente.
Si está en una sesión de terminal virtual, puede cambiar a otra utilizando el siguiente comando. Al igual que para volver a conectarse, utilice el nombre o el número de ID:
tmux switch -t [nombre-o-id-de-sesión]
Para terminar la sesión actual, introduzca exit o pulse Ctrl-d. Ejecute este comando si quiere cerrar una en concreto:
tmux kill-session -t [nombre-o-id-de-sesión]
Atención
Utilice el atajo o comando de finalización con precaución, ya que la sesión tmux eliminada desaparece permanentemente.
Renombrar y organizar ventanas¶
Tmux creará una nueva ventana llamada bash o sh. Si tiene muchos procesos, distinguir entre ellos puede ser difícil, complicando la gestión de tareas.
Asigne a las nuevas ventanas tmux un nombre personalizado para facilitar su identificación. Para ello, navegue hasta la que quiera renombrar y pulse Ctrl-b + : para entrar en el modo de comandos de tmux. A continuación, ejecute:
rename-window nombre-ventana
Sustituya nombre-ventana por el nombre que desee. Debería ver cómo cambia la información de la nueva ventana en la barra de estado inferior de la sesión.
Dividir ventanas en paneles¶
Para organizar una tarea más específica, puede dividir una ventana en varios paneles. Pulse Ctrl-b + ” para dividirla horizontalmente o verticalmente utilizando Ctrl-b + %.
Puede repetir los atajos de división de ventanas para dividir aún más los paneles en áreas de trabajo más pequeñas.
Cerrar paneles¶
Para cerrar un panel, navegue hasta el que quiera cerrar y pulse Ctrl-b + &.
Atención
Se recomienda evitar este método, ya que la falta de un mensaje de confirmación lo hace propenso al borrado accidental.
En su lugar, pulse Ctrl-b + x para cerrar un panel de forma segura. Esto mostrará una ventana de verificación, que deberás confirmar pulsando Y, y pulsando Enter.
Terminar los paneles no afectará a las tareas de otras sesiones. Además, recuerde que este proceso es irreversible.
Personalizar tmux¶
Tmux permite crear un archivo de configuración al que puede añadir código, personalizando su aspecto y comportamiento. Según el ámbito, puede ser local o global.
El archivo local se aplica a un usuario concreto y se encuentra en el directorio bash predeterminado de la cuenta. Para crearlo:
touch ~/.tmux.conf
Mientras tanto, la configuración global se aplica a todo el sistema y se encuentra en el directorio /etc. A continuación te explicamos cómo hacer una:
touch /etc/tmux.conf
Se pueden cambiar muchos ajustes, incluyendo la apariencia y los accesos directos.
Por ejemplo, el siguiente fragmento cambiará las combinaciones de teclas predefinidas de Ctrl-b a Ctrl -a:
# Change prefix from 'Ctrl+B' to 'Ctrl+A'
unbind C-b
set-option -g prefix C-a
bind-key C-a send-prefix
Además, puede modificar el número de ID inicial. Por ejemplo, el siguiente código de configuración de tmux lo cambia de 0 a 1:
# Start counting pane and window number at 1
set -g base-index 1
setw -g pane-base-index 1
Para guardar los cambios, pulse Ctrl+X, Y y Enter.