GNU/Linux >> Tutoriales Linux >  >> Linux

Primeros pasos con Tmux [Guía para principiantes]

Con tmux, puede crear múltiples sesiones de terminal que se pueden abrir (adjuntar) y cerrar (separar) o mostrar simultáneamente todo desde una ventana.

Aprender a usar un multiplexor de terminal te ahorrará muchos dolores de cabeza si pasas mucho tiempo en la terminal. Esto es especialmente cierto si su trabajo implica acceder a máquinas remotas solo a través de la línea de comandos.

Pantalla vs tmux

Se considera que Tmux es el siguiente paso evolutivo desde el multiplexor de pantalla GNU.

Si está acostumbrado al comando de pantalla, le resultará fácil comenzar de inmediato. Hay muchas similitudes entre las dos aplicaciones. Tuvimos una excelente respuesta a nuestro artículo de comandos de pantalla y creo que nuestros lectores realmente disfrutarán usando algunas de las funciones actualizadas de tmux.

Si ya se siente cómodo con el comando de pantalla, puede escanear rápidamente este artículo para ver las diferencias. Para algunos comandos, puedo señalar similitudes o diferencias. Aparte de estas notas, este artículo no presumirá ningún conocimiento previo.

Si está un poco perdido y aún no sabe de qué se trata este artículo, no hay problema. Vamos a recorrer todo juntos. Le mostraré cómo instalar tmux y cómo realizar operaciones básicas.

Instalar tmux

Tmux es una aplicación popular y debería estar disponible en el repositorio oficial de su distribución de Linux. Puede instalarlo usando el administrador de paquetes de su distribución.

En las distribuciones basadas en Debian y Ubuntu, puede instalarlo usando el siguiente comando:

sudo apt install tmux

Primeros pasos con tmux

Como mencionamos, tmux es una gran aplicación para hacerlo más productivo. Es una poderosa pieza de software, pero puede ser un poco confuso para empezar.

Lo guiaré a través de las características críticas de una en una. Mi objetivo es facilitarle la entrada y mostrarle la funcionalidad básica. Hay tantas formas de personalizar tmux, que no podremos cubrir todo en este artículo. Si tiene curiosidad acerca de un artículo sobre características y funcionalidades avanzadas, ¡háganoslo saber en la sección de comentarios!

Crea una sesión en tmux

Abra una terminal y use el siguiente comando:

[email protected]:~$ tmux

Esto debería llevarlo a tmux. Verá un símbolo del sistema como de costumbre, pero ahora verá un menú de estilo de barra de tareas en la parte inferior de la terminal que dirá algo como bash 0 *. El asterisco indica que esta es su ventana activa .

Vamos a crear un par de ventanas entre las que puede alternar. Puedes hacerlo usando el prefijo [ctrl + b] + c .

Deberías ver en la barra de tareas algo llamado 1:bash ha sido añadido. Agreguemos dos más antes de continuar.

Ahora debería verse como la captura de pantalla a continuación. Debería tener un total de cuatro nuevas ventanas de terminal (solo verá una ventana a la vez).

El nombre de la ventana automática

Tmux puede identificar ciertos programas y cambiar el nombre de sus ventanas automáticamente (si no ha nombrado su ventana explícitamente). Por ejemplo, si ejecuta el comando top en una ventana, notará que el nombre de la ventana cambia de bash a top.

Sesión vs Ventana vs Panel (dividido) en tmux

Antes de continuar, debe conocer la diferencia entre sesión, ventana y panel en tmux.

Considere las sesiones como cuadernos, las ventanas como capítulos y los paneles de las ventanas como sus páginas.

Una sesión puede tener varias ventanas. Una ventana es básicamente una terminal. Puede dividir una ventana entre varios paneles verticales y horizontales. Esto significa que una ventana de terminal puede tener múltiples terminales.

Puede crear una sesión tmux para un tema/proyecto específico. Por ejemplo, si administra tres servidores, tal vez pueda crear una sesión para que cada servidor realice tareas. Utilice una ventana para monitorear los recursos del sistema y otra para realizar algunas tareas de mantenimiento. La ventana de supervisión del sistema puede tener varios paneles para supervisar el uso de la memoria, la CPU y el disco.

Cambiar entre ventanas en una sesión tmux

Recuerda que ctrl+b (simultáneamente) es como tu tecla “tmux”. Le dice al software que desea ingresar un comando. Mire la tabla a continuación para comenzar a navegar por la interfaz tmux.

Siguiente n (0, 1, 2, 3, etc.)

Ahora puede moverse "hacia adelante y hacia atrás" o seleccionar una instancia específica por su número de identificación. Pruebe esas cosas hasta que se sienta cómodo.

¿Listo? Impresionante. Veamos algunas de las otras funcionalidades.

NOTA:Si es un usuario experimentado de Screen, es posible que esté acostumbrado a usar el prefijo [ctrl + a]. La edición del archivo de configuración le permitirá cambiar el prefijo si lo desea. De hecho, descubrí que la combinación de teclas alternativas mejoró mi eficiencia, pero también entiendo que los viejos hábitos son difíciles de romper.

Cambiar usando la lista de ventanas

Otra opción usa [ctrl+b] + w. Esto le da una visión general de las sesiones. Puede usar las teclas de flecha para seleccionar las ventanas/paneles deseados.

Nombrar o renombrar ventanas en tmux

Puede nombrar su ventana actual con la siguiente combinación de teclas:

[ctrl+b] + ,

Nombra tu sesión tmux

Puede que le resulte útil nombrar sus sesiones con títulos significativos para mantener las cosas organizadas. Intentemos nombrar su primera sesión con tmux.

Puede nombrarlo como queramos, pero en este caso lo nombraré gratis. Introduzca el siguiente comando:

tmux new -s free

Ahora debería tener una nueva sesión de tmux ejecutándose. Si mira en el área inferior izquierda de la ventana, verá el nombre de su sesión en lugar del genérico "bash".

Si ya creó una sesión, puede nombrarla o renombrarla usando la siguiente combinación de teclas:

[ctrl+b] + $

Separar una sesión (salir de la sesión tmux pero mantenerla ejecutándose en segundo plano )

Antes de continuar, comencemos a ejecutar libremente con el comando de reloj que actualizará los resultados cada 2 segundos.

watch free

Si no está familiarizado con free o watch, le recomiendo que consulte el comando watch and free. El conocimiento de su funcionalidad, sin embargo, no es esencial para usarlos con tmux.

Bien, una vez que comience el programa, continúe y separe la sesión. Utilice esta combinación de teclas:

[ctrl + b] + d

Esto debería devolverlo a un símbolo del sistema estándar. Ten en cuenta que la sesión de tmux sigue ejecutándose en segundo plano y puedes volver a entrar cuando quieras.

Lista de sesiones tmux

¿Qué pasó con tu sesión? Todavía se está ejecutando en segundo plano. Puede volver a abrir la sesión por nombre o por número de identificación, pero ¿qué sucede si olvida el nombre de la sesión?

Hay una función de lista integrada en tmux:

tmux ls

Esto mostrará una lista de todas sus sesiones tmux actuales. Ejecutarlo producirá un resultado como este:

[email protected]:~$ tmux ls
free: 1 windows (created Sat Feb 29 03:16:31 2020) [80x23]

Como puede ver, también enumera cuántas ventanas tiene una sesión.

Reingresar una sesión en Tmux (también conocido como adjunto)

Para reabrir su sesión de tmux, puede usar el comando tmux con la opción de adjuntar o adjuntar sesión como esta:

tmux attach -t session_name_or_number

Aquí hay una animación que muestra todos estos pasos hasta este punto de la demostración.

Creación de múltiples paneles en tmux

Ahora que comprende los conceptos básicos, puede ir más allá y crear varios paneles.

Anterior
[ctrl + b] + p [ctrl + b] + n Cambiar a n Ventana:[ctrl + b] + 0
Vertical (Arriba/Abajo)

Practiquemos un poco con estos comandos creando una división vertical seguida de una división horizontal.

[ctrl + b] + " 
[ctrl + b] +  %

Si ingresó los comandos en ese orden, debería tener tres paneles con este aspecto:

Puede usar [ctrl+b] + tecla de espacio para alternar el diseño del panel actualmente enfocado.

Cambiar entre paneles

Para cambiar entre las divisiones, puede usar el prefijo tmux [ctrl+b] + teclas de flecha.

[ctrl+b] + arrow keys

Este ciclo los paneles en la dirección que elija. El panel seleccionado se resaltará en verde.

Hacer zoom en un panel

También puede hacer "zoom" en un panel seleccionado con [ctrl+b] + z. Esto traerá la pantalla seleccionada a tamaño completo. Para salir del modo zoom, presiona [ctrl+b] + z nuevamente.

Eliminar o cerrar paneles

Esto es muy importante. Puede cerrar un panel (divisiones) usando el prefijo [ctrl + b] + x.

Te pedirá la confirmación:

kill-pane 0? (y/n)

Matar o cerrar ventanas en tmux

Para cerrar la ventana actual (pestañas), use:

[ctrl + b] + &

Le pedirá su confirmación:

kill-window window_name? (y/n)

Eliminación de sesiones en tmux

Para eliminar la sesión tmux actual que está utilizando, primero deberá eliminar todas las ventanas. Eso no es muy conveniente, ¿verdad?

Puede eliminar selectivamente una sesión tmux usando su nombre o número como este:

tmux kill-session -t session_name_or_number

Matará la sesión incluso si está dentro de la sesión.

Si desea eliminar toda la sesión excepto la que está usando actualmente (o la última que usó), use este comando:

tmux kill-session -a

Para eliminar todas las sesiones de tmux de una sola vez, puede usar este comando mágico:

tmux kill-server

Descargar hoja de trucos de tmux

Aprendiste los conceptos básicos de tmux pero recordar todos los comandos no es fácil, especialmente al principio. Es por eso que estoy resumiendo todos los comandos en la tabla a continuación. También puede descargarlo en formato PDF.

Horizontal (Izquierda/Derecha)
[ctrl + b] + % [ctrl + b] + “
Explicación Tmux cheatsheetMétodos abreviados de teclado para usar tmuxtmux-cheatsheet.png475 KB

Conclusión

Gracias por seguir nuestra introducción a tmux. Como puedes ver hay una gran variedad de aplicaciones. Espero que esta descripción general básica le haya dado algunas ideas sobre cómo puede usar tmux para mejorar su flujo de trabajo.

Como siempre, si tiene alguna pregunta, déjela a continuación en la sección de comentarios.


Linux
  1. Primeros pasos con GnuCash

  2. Comenzando con Zsh

  3. Comenzando con ls

  4. Primeros pasos con Samba para la interoperabilidad

  5. Primeros pasos con PostgreSQL en Linux

Primeros pasos con el administrador de paquetes de Nix

Primeros pasos con systemctl

Primeros pasos con Nano Text Editor [Guía para principiantes]

Primeros pasos con Markdown [Guía para principiantes]

Primeros pasos con el comando SED [Guía para principiantes]

Primeros pasos con AWK Command [Guía para principiantes]

    Comando
    tmux Iniciar nueva sesión
    tmux new -s nombre Iniciar nueva sesión con nombre
    tmux ls Lista de todas las sesiones
    tmux kill-session -t nombre Eliminar la sesión mencionada
    tmux kill-session -a Eliminar todas las sesiones excepto la última sesión utilizada
    tmux kill-server Eliminar todas las sesiones tmux
    tmux adjuntar -t nombre Adjuntar/ingresar la sesión mencionada
    [Ctrl +b] + d Separar/salir de la sesión actual
    [Ctrl +b] + $ Nombrar o cambiar el nombre de la sesión actual
    [Ctrl +b] + c Crear nueva ventana
    [Ctrl +b] + , Nombrar o cambiar el nombre de la ventana actual
    [Ctrl +b] + w Lista de todas las ventanas
    [Ctrl +b] + & Eliminar la ventana actual
    [Ctrl +b] + n/p/N Mover a la ventana siguiente/anterior/Nésima
    [Ctrl +b] + % Crear panel horizontal
    [Ctrl +b] + “ Crear panel vertical
    [Ctrl +b] + tecla de espacio Alternar el diseño del panel actual
    [Ctrl +b] + z Hacer zoom en el panel actual
    [Ctrl +b] + x Eliminar el panel actual