Volver a la página principal
domingo 23 junio 2024
28

Cómo utilizar Terminal Multiplexer

Introducción

Un terminal multiplexer es una herramienta que permite gestionar múltiples terminales desde una única interfaz. Estas herramientas son especialmente útiles para administradores de sistemas y desarrolladores que necesitan ejecutar múltiples tareas en paralelo, acceder a sesiones remotas, y mantener sesiones activas durante desconexiones. Los dos terminal multiplexer más populares son tmux y GNU Screen. En este tutorial, nos enfocaremos en tmux debido a su popularidad y funcionalidad.

Instalación

En Linux

Para instalar tmux en una distribución basada en Debian (como Ubuntu), puedes usar el siguiente comando:

sudo apt update
sudo apt install tmux

En distribuciones basadas en Red Hat (como Fedora o CentOS):

sudo yum install tmux

En macOS

Si tienes Homebrew instalado, puedes instalar tmux con:

brew install tmux

En Windows

Para Windows, una opción popular es utilizar Cygwin o WSL (Windows Subsystem for Linux) para instalar y utilizar tmux.

Primeros Pasos con tmux

Crear una Nueva Sesión

Para iniciar tmux, simplemente abre tu terminal y escribe:

tmux

Esto crea una nueva sesión tmux. Para nombrar la sesión, puedes usar:

tmux new -s nombre_sesion

Desconectarse y Reconectarse a una Sesión

Uno de los mayores beneficios de tmux es la capacidad de desconectarse de una sesión y reconectarse más tarde sin perder el estado.

Para desconectarse de una sesión (sin cerrarla), usa la combinación de teclas Ctrl+b, seguido de d.

Para listar todas las sesiones activas, utiliza:

tmux ls

Para reconectarse a una sesión existente:

tmux attach -t nombre_sesion

Dividir la Pantalla

Tmux permite dividir la pantalla en múltiples paneles, lo cual es extremadamente útil para monitorear y ejecutar varios procesos al mismo tiempo.

Dividir en Paneles Horizontales

Para dividir la pantalla en paneles horizontales, usa la combinación de teclas Ctrl+b, seguido de %.

Dividir en Paneles Verticales

Para dividir la pantalla en paneles verticales, usa Ctrl+b seguido de ".

Navegar entre Paneles

Para moverte entre paneles, usa Ctrl+b seguido de una de las flechas de dirección (, , , ).

Redimensionar Paneles

Para redimensionar los paneles, primero presiona Ctrl+b, luego : para entrar en el modo de comandos, y usa:

resize-pane -L
resize-pane -R
resize-pane -U
resize-pane -D

Donde -L, -R, -U, y -D indican las direcciones (Left, Right, Up, Down) para redimensionar.

Gestionar Ventanas

Crear una Nueva Ventana

Para crear una nueva ventana dentro de la misma sesión, presiona Ctrl+b, seguido de c.

Cambiar de Ventana

Para moverte entre ventanas, usa Ctrl+b seguido de n (siguiente) o p (anterior). También puedes moverte a una ventana específica con Ctrl+b seguido del número de la ventana.

Cerrar una Ventana

Para cerrar la ventana actual, simplemente escribe exit o usa Ctrl+d.

Personalización y Configuración

El comportamiento de tmux se puede personalizar mediante el archivo de configuración .tmux.conf en tu directorio home. Aquí tienes un ejemplo de configuración básica:

# Cambiar la tecla de prefijo a Ctrl+a
unbind C-b
set -g prefix C-a
bind C-a send-prefix

# Habilitar 256 colores
set -g default-terminal "screen-256color"

# Dividir paneles más rápidamente
bind | split-window -h
bind - split-window -v
unbind '"'
unbind %

# Navegación más fácil entre paneles
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R

Después de modificar el archivo .tmux.conf, recarga la configuración con:

tmux source-file ~/.tmux.conf

Comandos Útiles

Aquí hay una lista de algunos comandos útiles de tmux que pueden mejorar tu flujo de trabajo:

  • tmux kill-session -t nombre_sesion: Cierra una sesión específica.
  • tmux kill-server: Cierra todas las sesiones de tmux.
  • tmux rename-window nombre_ventana: Renombra la ventana actual.
  • tmux new-session -d -s nombre_sesion: Crea una nueva sesión en segundo plano.

Script de Inicio

Si trabajas con varias sesiones y ventanas de tmux, puedes automatizar su creación con un script de inicio. Por ejemplo, guarda el siguiente script como start_tmux.sh:

#!/bin/bash
tmux new-session -d -s mi_sesion

tmux rename-window -t mi_sesion:0 'Editor'
tmux send-keys -t mi_sesion:0 'vim' C-m

tmux new-window -t mi_sesion:1 -n 'Servidor'
tmux send-keys -t mi_sesion:1 'cd /ruta/a/mi/proyecto && npm start' C-m

tmux new-window -t mi_sesion:2 -n 'Logs'
tmux send-keys -t mi_sesion:2 'tail -f /var/log/syslog' C-m

tmux select-window -t mi_sesion:0
tmux attach -t mi_sesion

Haz el script ejecutable:

chmod +x start_tmux.sh

Y ejecútalo:

./start_tmux.sh

Conclusión

Tmux es una herramienta poderosa que puede transformar tu flujo de trabajo en la terminal, especialmente si trabajas con múltiples tareas simultáneamente o en entornos remotos. La capacidad de dividir pantallas, gestionar sesiones y personalizar el entorno hace de tmux una herramienta indispensable para desarrolladores y administradores de sistemas.

Esperamos que este tutorial te haya proporcionado una comprensión sólida de tmux y cómo puedes utilizarlo para mejorar tu productividad en la terminal. ¡Feliz hacking!

Compartir:
Creado por:
Author photo

Jorge García

Fullstack developer