Aprovechando el poder de tmux en Linux y macOS: Una hoja de trucos tmux
13:29, 09.01.2024
Explorando las ventajas de tmux
Tmux tiene un montón de características de las que puedes beneficiarte para gestionar eficazmente tu entorno de servidor Linus. Entre ellas
Multitarea: Con Tmux puede ejecutar simultáneamente varios programas dentro de la misma terminal. Tmux permite dividir el terminal en varios terminales separados mientras que los programas pueden ejecutarse en segundo plano.
Scripting y automatización: Tmux abre una rica funcionalidad con la capacidad de script y automatizar una variedad de operaciones.
Configurabilidad: Tmux ofrece una configuración altamente flexible para que pueda coordinar la funcionalidad de la aplicación con solicitudes muy diferentes.
Sesiones, ventanas y paneles: Tmux ofrece una interfaz jerárquica bastante flexible, intuitiva y lógica. Una sesión se compone de ventanas, una ventana se compone de paneles.
Plugins: Además de la funcionalidad esencial de Tmux, se puede enriquecer de muchas maneras con la ayuda de plugins externos.
Productividad: La gestión de decenas de sesiones desde una sola ventana puede encontrar decenas de usos para proyectos de todo tipo.
Gestión eficaz de las sesiones: Con tmux puedes desconectarte y volver a conectarte a las sesiones en cualquier momento sin perder ningún progreso.
Acceso remoto: Las sesiones de tmux pueden ser accedidas y compartidas a través de servidores remotos o diferentes ordenadores, lo que la convierte en una herramienta útil para la colaboración y monitorización remotas.
Colaboración: Con tmux puedes implementar varios enfoques de colaboración, como la programación en parejas.
Guía de instalación de tmux para Linux y macOS
En las siguientes secciones, queremos echar un vistazo a la instalación de tmux en diferentes sistemas, así como a diferentes comandos que serán de gran ayuda a la hora de utilizar la solución.
Instalación en Linux basado en Debian (por ejemplo, Ubuntu)
Para instalar tmux tanto en Debian como en Ubuntu, introduzca el siguiente comando:
sudo apt update && sudo apt install tmux
Instalación en Linux basado en RHEL (por ejemplo, Fedora y CentOS)
En Fedora, CentOS y cualquier otra distro basada en RHEL, tendrás que utilizar:
En CentOS y RHEL 7:
sudo yum -y install tmux
Tanto en RHEL 8 como en Fedora, Rocky y AlmaLinux:
sudo dnf -y install tmux
Instalación en Linux basado en Arch (por ejemplo, EndeavourOS)
Para Arch Linux y otras distros, que se basan en él, necesitará:
sudo pacman -S tmux
Instalación en Alpine Linux
Para instalar tmux en Alpine Linux:
sudo apk add tmux
Instalación en macOS
Una de las posibles opciones de instalación de tmux en macOS es el uso de Homebrew.
En primer lugar, instalу Xcode:
xcode-select --install
A continuación, instala Homebrew:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Una vez instalado, Homebrew puede utilizarse para instalar tmux:
brew install tmux
Una vez finalizado el proceso, verifique la instalación:
$ tmux -V
tmux 3.3a
Dominio de tmux en distribuciones Linux (Ubuntu, Fedora, CentOS, EndeavourOS)
Ahora que tmux está instalado en cualquier sistema operativo que utilices, es el momento de echar un vistazo a algunos comandos y atajos esenciales que serán útiles para cualquier usuario de tmux:
Comando de sesión | Función |
tmux | Nueva sesión |
tmux new -s <name> | Nueva sesión con el <name> de su elección |
tmux ls | Lista de sesiones |
tmux a tmux at tmux attach tmux attach-session | Adjuntar a la última sesión utilizada |
tmux a -t <name> tmux attach -t <name> | Adjuntar a una sesión bajo el <name> |
tmux kill-session -t <name> | Eliminar una sesión con <name> |
tmux kill-session -a | Matar/eliminar todas las sesiones excepto la actual |
tmux kill-session -a -t <name> | Matar/eliminar todas las sesiones excepto la sesión bajo el <name> |
Ventanas/Comandos de panel | Función |
tmux new -s mysession -n mywindow | Iniciar una nueva sesión con el nombre mysession y la ventana mywindow |
Ctrl+b ( | Ir a la sesión anterior |
Ctrl+b ) | Ir a la sesión siguiente |
Ctrl+b & | Cerrar la ventana actual |
Ctrl+b p | Ventana anterior |
Ctrl+b n | Ventana siguiente |
swap-window -t -1 | Mover la ventana actual una posición a la izquierda |
Navegación por los enlaces de teclas
Ahora echemos un vistazo a algunos de los atajos de teclado esenciales de tmux para gestionar sesiones y ventanas:
Atajo de teclado | Función |
Ctrl+b ? | Listar todos los atajos de teclado |
Ctrl-b d | Desvincularse de la sesión actual |
Ctrl+b % | Añadir un nuevo panel a la derecha/dividir verticalmente |
Ctrl+b “ | Añadir un nuevo panel a la parte inferior/dividir el panel horizontalmente |
Ctrl+b { | Mover el panel actual a la izquierda |
Ctrl+b } | Mover el panel actual a la derecha |
Ctrl+b o | Pasar al panel siguiente |
Ctrl+b ; | Desplazarse entre el panel actual y el anterior |
Ctrl+b >/< | Navegar entre paneles |
Ctrl+b x | Cerrar el panel actual |
Ctrl+b z | Alternar el zoom del panel |
Ctrl-b c | Crear una nueva ventana |
Ctrl-b w | Cambiar entre sesiones y ventanas |
Aprovechar la potencia de los comandos tmux
El uso de comandos en tmux es idéntico al uso general de comandos en distros Linux. Veamos cómo se hace en Ubuntu.
Primero, inicia tmux con el comando tmux. Esto iniciará el servidor tmux, abrirá la sesión #0 en la misma ventana, y se conectará a ella.
A continuación, puede que necesite desconectarse de la sesión. Pulse Ctrl+b y, a continuación, d. Para conectarse de nuevo, utilice tmux attach -t <nombre>.
Para iniciar una sesión con un nombre determinado, escriba tmux new -s <nombre>. Para listar sesiones, aplique ls.
Para eliminar una sesión, utilice tmux kill-session -t <nombre>. Utilice el nombre de la sesión o también su índice.
Para crear varios paneles a la vez, utilice Ctrl+b %.
Si desea que se muestren todas las sesiones que se están ejecutando en ese momento, utilice tmux ls.
Después de desvincularse de una sesión, puede volver a vincularse a ella con los comandos tmux a, tmux at, tmux attach o tmux attach-session.
También puede cambiar entre la sesión siguiente y la anterior con el comando Ctrl+b.
Otra forma de utilizar este comando es añadir % después de él, lo que dividirá un panel horizontalmente. En cambio, para dividir verticalmente, añada " después del atajo de teclado. Si añade }, el panel se desplazará hacia la derecha y { hacia la izquierda, respectivamente.
Modo de comando
El modo comando es el modo que le permitirá operar con sesiones tmux, ventanas, así como paneles. Para entrar en él, añada los dos puntos [:] después del comando Ctrl+b. Tras esto, se abrirá un símbolo del sistema en la parte inferior de la pantalla. Después de esto, podrá utilizar una variedad de comandos para controlar su interfaz.
tmux new -n mywindow es un comando típico utilizado para crear una nueva ventana. Sin embargo, en el modo de comandos, basta con escribir new -n mywindow. Siempre puede cambiar al modo de comandos para facilitar la ejecución de comandos.
El modo comando puede utilizarse para sincronizar pestañas, es decir, para hacer que realicen las mismas tareas simultáneamente. Para entrar en él, escriba setw synchronize-panes en el modo de comandos. Después, el comando insertado en la línea de comandos del panel actual se aplicará a todos los paneles.
Si no recuerda algunos de los atajos de teclado, también puede refrescar la lista con Ctrl+b añadiendo ? después del atajo de teclado.
Conclusión
Tmux es una herramienta multifuncional que le permite ejecutar varias terminales desde una sola ventana de terminal, lo que puede ser útil en una variedad de escenarios. En el artículo anterior hemos proporcionado algunas introducciones sobre la instalación y el uso de la herramienta. Ahora debería ser capaz de realizar una variedad de operaciones con la ayuda de la herramienta. En caso de que olvide algo, no dude en volver a este artículo y echar un vistazo a la lista de trucos proporcionada.