GNU/Linux >> Tutoriales Linux >  >> Linux

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

Permítanme establecer la escena:un día, estaba depurando un proceso generador de funciones que requería mucho tiempo. Tenía un terminal abierto en mi Mac y estaba conectado a mi máquina virtual Linux remota (VM) donde se iniciaría el proceso. Revisé algunas cosas con el guión y todo se veía bien. Pero cuando comencé el proceso, ya era hora de dejar la oficina por el día. Cerrar mi computadora portátil mataría mi caparazón, lo que terminaría con el proceso. El proceso lleva una eternidad y, en lugar de solo poder depurar los resultados cuando llegué a casa, tendría que volver a iniciarlo y esperar a que terminara. Empecé a aceptar el hecho de que tendría que quedarme hasta tarde y no estaba contento con este giro de los acontecimientos.

Un compañero de trabajo notó mi frustración y me preguntó cómo podía ayudarme. Expliqué mi problema y dije que tenía que haber una manera de continuar ejecutando el proceso incluso después de cerrar la terminal, ya que estaba en una máquina virtual remota. Me preocupaba que tuviera que estar conectado a mi caparazón para no morir. Luego me presentó a tmux.

Ejecutar scripts remotamente con tmux

La terminal de Linux

  • Los 7 mejores emuladores de terminal para Linux
  • 10 herramientas de línea de comandos para el análisis de datos en Linux
  • Descargar ahora:hoja de referencia de SSH
  • Hoja de trucos de comandos avanzados de Linux
  • Tutoriales de línea de comandos de Linux

Para comenzar, hice una instalación yum de tmux. Luego comencé una sesión de tmux escribiendo tmux como un comando. Podría hacer todo lo que haría en mi shell normal en esta sesión de tmux. Como acababa de comenzar el proceso, lo eliminé en la terminal original. Luego fui a la sesión de tmux y volví a iniciar el script para ejecutar el proceso. Finalmente, puse mi computadora portátil a dormir como un final típico de mi jornada laboral.

Cuando volví a encender mi computadora portátil, la carcasa de mi terminal se había desconectado de mi VM como esperaba. Volví a iniciar sesión en la VM en el shell, excepto que estaba en blanco como lo está normalmente un shell cuando lo inicias. Mi reacción inicial fue de pánico, pero luego me di cuenta de que solo necesitaba volver a acceder a mi sesión de tmux, ya que solo tararea de fondo.

Para volver a conectarme a mi sesión de tmux, ingresé tmux ls para enumerar todas las sesiones que tenía abiertas. Solo había una, la sesión 0. Para volver a esa sesión, solo tenía que hacer tmux adjuntar -t 0 . He aquí que apareció la sesión y mi script aún se estaba ejecutando. Estaba extasiado y rápidamente quise saber qué más podía hacer con tmux.

Usando tmux como administrador de ventanas

Nunca cierro las pestañas del navegador y nunca cierro las ventanas, por lo que probablemente tenga alrededor de 20 terminales abiertas y funcionando en cualquier momento. Marie Kondo probablemente siente una perturbación en la fuerza cada vez que abro una nueva ventana. Pero en lugar de tener cuatro terminales abiertas que están todas conectadas a la misma VM e intentar realizar un seguimiento de ellas y dónde están en mi lista de terminales, con tmux, puedo abrir una terminal a la VM y tener cuatro paneles en esa terminal. Esto realmente es útil. Por ejemplo, a menudo inicio un proceso en la máquina virtual y luego necesito editar un archivo de propiedades en alguna parte. Como el primer proceso aún se está ejecutando, abro otra terminal para editar el archivo. Luego me doy cuenta de que necesito ejecutar un segundo proceso mientras sigo el registro en otra ventana para saber cómo editar el archivo de propiedades que acabo de abrir. Sin tmux, eso crearía tres terminales que nunca se cerrarían.

tmux ha sido especialmente un salvavidas para ejecutar Docker y Kubernetes. Es increíblemente útil dedicar un contenedor a su propio panel en lugar de abrir una nueva terminal. El panel maestro me permite monitorear la salud de mis contenedores. Puedo abrir fácilmente un nuevo panel cada vez que necesito ingresar a un contenedor. Incluso puedo ejecutar docker-compose up y docker-compose down en cada contenedor al mismo tiempo si quiero y tener solo una terminal abierta mientras lo hago.

Los paneles ya están formateados y adyacentes entre sí, por lo que no tengo que recopilar todos mis terminales que están conectados a una VM e intentar arrastrarlos y soltarlos uno al lado del otro en mi monitor, solo para tener que hacerlo. todo de nuevo cuando necesito abrir una nueva terminal. ¡tmux incluso le permite cambiar el tamaño de los paneles individuales sobre la marcha! Es muy fácil cerrar un panel cuando haya terminado. No está cerrando la terminal a la máquina virtual; simplemente puede abrir un panel de respaldo. Esto me ayuda a mantener mi escritorio limpio en lugar de abarrotarlo con terminales olvidadas.

Reasignación del prefijo tmux

Recientemente aprendí que puedo reasignar el prefijo tmux para hacer las cosas aún más fáciles. Antes de ejecutar un comando tmux (por ejemplo, crear un nuevo panel, cambiar el tamaño de un panel o copiar y pegar texto en su terminal), debe ingresar un patrón de tecla específico para que tmux sepa que está a punto de invocar un comando tmux en lugar de cualquier comando de Linux. El prefijo predeterminado es CTRL+b . Por ejemplo, el comando para abrir un nuevo panel adyacente horizontalmente al actual es solo % , pero para que tmux escuche, debe ingresar CTRL+b+% . CTRL+b es un poco incómodo para mí, así que lo reasigné al acento grave (`). El prefijo reasignado hace que las cosas sean más sencillas que tener que presionar dos teclas que no están muy convenientemente ubicadas. Ahora, si quiero un nuevo panel, solo puedo teclear `+% y listo!

tmux de principio a fin

Lo primero que hago en cualquier máquina virtual Linux nueva es instalar tmux. ¡Lo primero que hago en cualquier terminal conectado a una máquina virtual Linux es iniciar una sesión tmux! Incluso tomo mis instantáneas de VM base después de instalar tmux para no tener que reinstalar tmux si necesito volver a una instantánea. Cada vez que vuelvo a iniciar sesión en una máquina virtual Linux, siempre hago tmux ls para encontrar mi sesión anterior de tmux, luego adjúntela y recorte justo donde la dejé por última vez.


Linux
  1. Cómo cambiar el color de tu terminal Linux

  2. Embárcate en una aventura en tu terminal Linux

  3. Cómo traer buena fortuna a tu terminal Linux

  4. Cómo Navidadizar su Terminal Linux y Shell

  5. Cómo grabar tu terminal Linux usando asciinema

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

Cómo instalar tmux en Linux

Cómo abrir un PDF en la terminal de Linux

Cómo instalar Tmux Terminal Multiplexer en Linux

Cómo obtener su dirección IP en Linux

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