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

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:
Autor:
User photo

Jorge García

Fullstack developer