GNU/Linux >> Tutoriales Linux >  >> Linux

Ejemplos de comandos Tmux para administrar múltiples sesiones de terminal en Linux

Ya hemos aprendido a usar GNU Screen para administrar múltiples sesiones de Terminal. Hoy, veremos otra utilidad de línea de comandos muy conocida llamada "Tmux" , que también se usa para administrar múltiples sesiones de Terminal. Esta guía explica qué es Tmux y el uso de los comandos Tmux con ejemplos en Linux.

1. ¿Qué es Tmux?

Similar a GNU Screen, Tmux también es un multiplexor de terminal que nos permite crear una cantidad de sesiones de terminal y ejecutar más de un programa o proceso al mismo tiempo dentro de una sola ventana de terminal.

Tmux es un programa gratuito, de código abierto y multiplataforma compatible con Linux, OpenBSD, FreeBSD, NetBSD y Mac OS X.

2. Instalar Tmux en Linux

Tmux está disponible en los repositorios oficiales de la mayoría de las distribuciones de Linux.

Para instalar Tmux en Alpine Linux, ejecute:

$ sudo apk add tmux

En Arch Linux y sus variantes como EndeavourOS y Manjaro Linux, ejecute el siguiente comando para instalarlo.

$ sudo pacman -S tmux

En Debian, Ubuntu, Linux Mint, Pop_OS!:

$ sudo apt-get install tmux

En Fedora, RHEL, CentOS, AlmaLinux, Rocky Linux:

$ sudo dnf install tmux

O,

$ sudo yum install tmux

En SUSE/openSUSE:

$ sudo zypper install tmux

Bueno, acabamos de instalar Tmux. Avancemos y veamos algunos ejemplos sobre cómo usar Tmux.

3. Uso de comandos Tmux con ejemplos

El atajo de prefijo predeterminado para todos los comandos en Tmux es Ctrl+b . Solo recuerda este atajo de teclado cuando uses Tmux.

Aviso: El prefijo predeterminado para todas las pantallas comandos es Ctrl+a .

3.1. Creando sesiones Tmux

Para crear una nueva sesión de Tmux y adjuntarla, ejecute el siguiente comando desde la Terminal:

$ tmux

O,

$ tmux new

Una vez que esté dentro de la sesión de Tmux, verá una barra verde en la parte inferior como se muestra en la siguiente captura de pantalla.

Es muy útil para verificar si estás dentro de una sesión de Tmux o no.

3.2. Separación de sesiones de Tmux

Para desconectarse de una sesión actual de Tmux, simplemente presione Ctrl+b y d . No necesita presionar este atajo de teclado a la vez. Primero presiona "Ctrl+b" y luego presione "d" .

Una vez que esté desconectado de una sesión, verá un resultado similar al siguiente.

[detached (from session 0)]

3.3. Creación de sesiones con nombre

Si usa varias sesiones, es posible que se confunda qué programas se ejecutan en qué sesiones. En tales casos, puede simplemente crear sesiones con nombre.

Por ejemplo, si desea realizar algunas actividades relacionadas con el servidor web en una sesión, simplemente cree la sesión Tmux con un nombre personalizado, por ejemplo, "servidor web" (o cualquier nombre de su elección).

$ tmux new -s webserver

Aquí está la nueva sesión de Tmux con nombre.

Como puede ver en la captura de pantalla anterior, el nombre de la sesión de Tmux es servidor web . De esta manera, puede identificar fácilmente qué programa se está ejecutando en qué sesión.

Para desconectar, simplemente presione Ctrl+b y d .

3.4. Listar sesiones Tmux

Para ver la lista de sesiones Tmux abiertas, ejecute:

$ tmux ls

Salida de muestra:

Como puede ver, tengo dos sesiones Tmux abiertas.

3.5. Creando sesiones separadas

A veces, es posible que desee simplemente crear una sesión y no desee adjuntarla automáticamente.

Para crear una nueva sesión independiente denominada "ostechnix" , ejecuta:

$ tmux new -s ostechnix -d

El comando anterior creará una nueva sesión Tmux llamada "ostechnix", pero no se adjuntará.

Puede verificar si la sesión se crea usando tmux ls comando:

3.6. Adjuntar a sesiones Tmux

Puede conectarse a la última sesión creada ejecutando este comando:

$ tmux attach

O,

$ tmux a

Si desea adjuntar a cualquier sesión con nombre específico, por ejemplo "ostechnix", ejecute:

$ tmux attach -t ostechnix

O, en breve:

$ tmux a -t ostechnix

3.7. Matar sesiones de Tmux

Cuando haya terminado y ya no necesite una sesión de Tmux, puede cancelarla en cualquier momento con el comando:

$ tmux kill-session -t ostechnix

Para matar cuando está adjunto, presione Ctrl+b y x . Presiona "y" para matar la sesión.

Puede verificar si la sesión está cerrada con tmux ls comando.

Para eliminar el servidor Tmux junto con todas las sesiones Tmux, ejecute:

$ tmux kill-server

¡Ten cuidado! Esto finalizará todas las sesiones de Tmux incluso si hay trabajos en ejecución dentro de las sesiones sin previo aviso.

Cuando no haya sesiones de Tmux en ejecución, verá el siguiente resultado:

$ tmux ls
no server running on /tmp/tmux-1000/default

3.8. Dividir ventanas de sesión de Tmux

Tmux tiene una opción para dividir una sola ventana de sesión de Tmux en varias ventanas más pequeñas llamadas paneles Tmux .

De esta forma podemos ejecutar diferentes programas en cada panel e interactuar con todos ellos simultáneamente.

Cada panel se puede cambiar de tamaño, mover y cerrar sin afectar a los otros paneles. Podemos dividir una ventana Tmux ya sea horizontal o verticalmente o ambas a la vez.

3.8.1. Dividir paneles horizontalmente

Para dividir un panel horizontalmente, presione Ctrl+b y " (comillas simples).

Usa la misma combinación de teclas para dividir aún más los paneles.

3.8.2. Dividir paneles verticalmente

Para dividir un panel verticalmente, presione Ctrl+b y % .

3.8.3. Dividir paneles horizontal y verticalmente

También podemos dividir un panel horizontal y verticalmente al mismo tiempo. Echa un vistazo a la siguiente captura de pantalla.

Primero, hice una división horizontal presionando Ctrl+b " y luego divida el panel inferior verticalmente presionando Ctrl+b % .

Como puede ver en la captura de pantalla anterior, estoy ejecutando tres programas diferentes en cada panel.

3.8.4. Cambiar entre paneles

Para cambiar entre paneles, presione Ctrl+b y teclas de flecha (izquierda, derecha, arriba, abajo) .

3.8.5. Enviar comandos a todos los paneles

En el ejemplo anterior, ejecutamos tres comandos diferentes en cada panel. Sin embargo, también es posible enviar los mismos comandos a todos los paneles a la vez.

Para hacerlo, presiona Ctrl+b y escriba el siguiente comando y presione ENTER :

:setw synchronize-panes

Ahora escriba cualquier comando en cualquier panel. Verá que el mismo comando se refleja en todos los paneles.

3.8.6. Intercambiar paneles

Para intercambiar paneles, presione Ctrl+b y o .

3.8.7. Mostrar números de panel

Presione Ctrl+b y q para mostrar los números de panel.

3.8.8. Matar paneles

Para eliminar un panel, simplemente escriba exit y ENTER llave. Alternativamente, presione Ctrl+b y x . Verá un mensaje de confirmación. Solo presiona "y" para cerrar el panel.

4. Acercar y alejar los paneles Tmux

Podemos hacer zoom en los paneles Tmux para ajustarlos al tamaño completo de la ventana de Terminal actual para una mejor visibilidad del texto y para ver más de su contenido.

Es útil cuando necesita más espacio o concentrarse en una tarea específica. Después de terminar esa tarea, puede alejar (alejar) el panel Tmux para volver a su posición normal. Más detalles en el siguiente enlace.

  • Cómo hacer zoom en los paneles Tmux para una mejor visibilidad del texto

5. Inicio automático de sesiones Tmux

Siempre es una buena práctica ejecutar un proceso de ejecución prolongada dentro de una sesión de Tmux cuando se trabaja con sistemas remotos a través de SSH.

Porque evita que pierda el control del proceso en ejecución cuando la conexión de red se cae repentinamente.

Una forma de evitar este problema es iniciar automáticamente las sesiones de Tmux. Para obtener más detalles, consulte el siguiente enlace.

  • Sesión Tmux de inicio automático en el sistema remoto al iniciar sesión a través de SSH

Conclusión

En esta guía, hemos discutido el uso de comandos Tmux con ejemplos. En esta etapa, obtendrá una idea básica de la utilidad de línea de comando Tmux y cómo usar Tmux para administrar múltiples sesiones de Terminal. Para obtener más detalles, consulte las páginas man.

$ man tmux

Tanto las utilidades GNU Screen como Tmux pueden ser muy útiles al administrar servidores de forma remota a través de SSH. Aprenda a fondo los comandos Screen y Tmux para administrar sus servidores remotos como un profesional.


Linux
  1. Envía comandos a múltiples sesiones SSH con Terminator

  2. Cómo tmux genera alegría en su terminal Linux

  3. Comandos de Linux:descripción general y ejemplos

  4. Compartir sesiones de terminal de Linux con Tmux y Screen

  5. Usando Irssi dentro de una sesión tmux de Linux

Ejemplos de comandos de pantalla para administrar múltiples sesiones de terminal

Cómo usar el comando de pantalla para administrar sesiones de terminal en Ubuntu 20.04

Cómo instalar y usar Tmux (terminal multiplexor) en Linux

Cómo ejecutar varios comandos de Linux a la vez en la terminal de Linux

10 ejemplos de PuTTY PLINK para automatizar comandos remotos de Linux desde archivos por lotes de Windows

ClusterSSH (cssh):administre múltiples sesiones SSH en Linux