Tmux es un multiplexor de terminal; le permite crear múltiples «pseudo-terminales» desde una sola terminal. Esto es útil para ejecutar varios programas en una sola conexión, como cuando usa Secure Shell (SSH) para conectarse a una computadora de forma remota.
Tmux también separa sus programas de la terminal principal, evitando que se desconecten accidentalmente. Puede desconectar tmux de su terminal actual y todos sus programas continuarán ejecutándose de forma segura en segundo plano. Más tarde, puede volver a conectar tmux al mismo terminal o a uno diferente.
Además de los beneficios de una conexión remota, la velocidad y la flexibilidad de tmux lo convierten en una excelente herramienta para administrar múltiples terminales en su computadora local, similar a un administrador de ventanas. He estado usando tmux en mi computadora portátil durante más de ocho años. Algunas de las características de tmux que me ayudan y mejoran mi productividad incluyen:
- Barra de estado totalmente personalizable
- Gestión multiventana
- Dividir ventanas en varios paneles
- Diseño automático
- sincronización de paneles
- Scriptability, que me permite crear sesiones tmux personalizadas para diferentes propósitos
Aquí hay un ejemplo de una sesión tmux personalizada:
Tmux proporciona algunos Pantalla, que está en desuso en algunas distribuciones de Linux. Tmux tiene una base de código más moderna que Screen y ofrece capacidades de personalización adicionales.
Ahora que ha visto algunos de los beneficios de tmux, le mostraré cómo instalarlo y usarlo.
Tabla de Contenidos
instalar tmux
Tmux está disponible en los repositorios estándar de Fedora y Red Hat Enterprise Linux (RHEL) a partir de RHEL 8. Puedes instalarlo usando DNF:
$ sudo dnf -y install tmux
También funciona en muchas otras distribuciones de Linux, y debería poder instalarlo usando el administrador de paquetes de su distribución favorita.Para otros sistemas operativos consultar guía de instalación de tmux.
[ Download now: A sysadmin’s guide to Bash scripting. ]
Comenzando con tmux
Para comenzar a usar tmux, ingrese tmux
en tu terminal. Este comando inicia un servidor tmux, crea una sesión predeterminada (número 0) con una sola ventana y se adjunta a ella.
$ tmux
Ahora que está conectado a tmux, puede ejecutar cualquier comando o programa como de costumbre. Por ejemplo, para simular un proceso de ejecución prolongada:
$ c=1
$ while true; do echo "Hello $c"; let c=c+1; sleep 1; done
Hello 1
Hello 2
Hello 3
Puede desconectarse de una sesión de tmux presionando Ctrl + B Después DTmux funciona mediante una serie de combinaciones de teclas (atajos de teclado) que se activan al presionar la combinación «prefijo».Por defecto, el prefijo es Ctrl + BDespués de eso, presione D Separarse de la sesión actual.
[detached (from session 0)]
Ya no está conectado a la sesión, pero sus comandos de ejecución prolongada se ejecutan de forma segura en segundo plano.Puede enumerar sesiones tmux activas tmux ls
:
$ tmux ls
0: 1 windows (created Sat Aug 27 20:54:58 2022)
[ Learn how to manage your Linux environment for success. ]
En este punto, puede desconectar la conexión SSH y el comando continuará ejecutándose. Cuando esté listo, vuelva a conectarse al servidor y vuelva a conectarse a la sesión tmux existente para continuar donde lo dejó:
$ tmux attach -t 0
Hello 72
Hello 73
Hello 74
Hello 75
Hello 76
^C
Como puede ver, el comando continúa ejecutándose e imprimiendo mensajes en la pantalla.Puedes entrar Ctrl + C Cancelalo.
Todos los comandos tmux también se pueden abreviar, por ejemplo, puede escribir tmux a
funciona de la misma manera que tmux attach
.
Esta característica por sí sola hace que tmux sea una gran herramienta, pero ofrece mucho más, incluidas sus combinaciones de teclas predeterminadas.
Combinaciones de teclas básicas de tmux
Tmux proporciona varios enlaces de teclas para ejecutar comandos rápidamente dentro de una sesión de tmux. Estos son algunos de los más útiles.
Primero, si aún no ha creado una nueva sesión tmux en él.Puede nombrar su sesión pasando un parámetro -s {name}
llegar tmux new
Comando al crear una nueva sesión:
$ tmux new -s Session1
- Ctrl+BD — Desasociarse de la sesión actual.
- Ctrl+N % — Divide la ventana horizontalmente en dos paneles.
- Control + B « — Divide la ventana verticalmente en dos paneles.
- Ctrl+B Teclas de flecha (Izquierda, Derecha, Arriba, Abajo) — Moverse entre paneles.
- Ctrl + BX — Cierra el panel.
- Ctrl+BC — Crear una nueva ventana.
- Ctrl+BN o fósforo — Ir a la ventana siguiente o anterior.
- Ctrl+N 0 (1,2…) — Mover a una ventana específica por número.
- Control+B: — Ingrese la línea de comando para escribir comandos. La finalización de pestañas está disponible.
- Ctrl+B? — Ver todas las combinaciones de teclas.de acuerdo a pedir abandonar.
- Ctrl+BW — Abra un panel para navegar por las ventanas en varias sesiones.
Consulte la página del manual de tmux para conocer otras combinaciones de teclas.
[ Download the tmux cheat sheet to keep the keybindings at your fingertips. ]
usar el ratón
Más comúnmente utilizado con un teclado, Tmux proporciona una serie de combinaciones de teclas para que sea más fácil ejecutar comandos, crear nuevos paneles y cambiar su tamaño. Si prefiere usar el mouse, tmux también lo permite, aunque el mouse está deshabilitado de manera predeterminada.Para habilitarlo, primero ingrese al modo de comando Control+B:luego use el comando para encender (o apagar) el mouse set -g mouse
.
Ahora puede usar el mouse para cambiar entre paneles y ventanas y cambiar su tamaño. Desde la versión 3 de tmux, también puede hacer clic derecho y abrir el menú contextual:
Este menú cambia según lo que aparece en la pantalla debajo del cursor del mouse cuando hace clic.
[ Keep your most commonly used commands handy with the Linux commands cheat sheet. ]
configurar tmux
Puede cambiar permanentemente la configuración de tmux modificando el archivo de configuración de tmux.Por defecto, este archivo se encuentra en $HOME/.tmux.conf
.
Por ejemplo, la combinación de teclas de prefijo predeterminada es Ctrl + B, pero a veces esta combinación es un poco incómoda de presionar y requiere ambas manos. Puede cambiarlo a algo diferente editando el archivo de configuración.Me gusta establecer la clave de prefijo como Ctrl+APara ello, crea un nuevo archivo de configuración y añádele estas líneas:
$ vi $HOME/.tmux.conf
# Set the prefix to Ctrl+a
set -g prefix C-a
# Remove the old prefix
unbind C-b
# Send Ctrl+a to applications by pressing it twice
bind C-a send-prefix
:wq
Cuando inicia una sesión tmux en esta máquina, puede ejecutar los comandos enumerados anteriormente presionando Ctrl+A primero. Cambie o agregue otras combinaciones de teclas y comandos tmux usando un archivo de configuración.
[ Get the guide to installing applications on Linux. ]
barra de estado personalizada
La barra de estado de Tmux es totalmente personalizable. Puede cambiar el color y el contenido mostrado de cada sección. Hay tantas opciones que se necesitaría otro artículo para cubrirlas, así que comenzaré con lo básico.
El color verde estándar de toda la barra de estado dificulta ver las diferentes secciones. Es difícil ver cuántas ventanas tiene abiertas y cuál está activa.
Puede cambiarlo actualizando el color de la barra de estado.Primero, ingrese al modo de comando ingresando Control+B: (o Control+A: si realizó cambios en la configuración del prefijo arriba). Luego use el siguiente comando para cambiar el color:
- Cambiar el color de fondo de la barra de estado:
set -g status-bg cyan
- Cambiar el color de la ventana inactiva:
set -g window-status-style bg=yellow
- Cambiar el color de la ventana activa:
set -g window-status-current-style bg=red,fg=white
Agregue estos comandos a su archivo de configuración para realizar cambios permanentes.
Con esta configuración, su barra de estado se ve mejor y es más fácil ver qué ventana está activa:
que sigue
Tmux es una excelente herramienta para proteger las conexiones remotas y es útil cuando usa la terminal durante largos períodos de tiempo. Este artículo solo cubre la funcionalidad básica, hay mucho más para explorar.Para obtener más información acerca de tmux, consulte su oficial pagina wiki.
También puede ampliar la funcionalidad de tmux con complementos oficiales adicionales. Estos complementos agregan más comandos, se integran con aplicaciones como Vim y agregan nuevas funciones a la barra de estado.Para más información, por favor consulte proyecto de complemento tmux.
Personalmente nunca usé tmux, sin embargo el que siempre he usado es screen.
En esencia parece que sirven para lo mismo. Le daré un vistazo a tmux. Gracias.