Cómo usar tmux en Linux (y por qué es mejor que la pantalla)

El Linux tmux Command es un multiplexador de terminales, como screen. Sus defensores son muchos y vocales, por lo que decidimos comparar los dos. Es tmux realmente mejor, ¿o es solo un caso de preferir lo que sabes?

tmux vs. pantalla

Tanto el tmux y GNU screen Comandos son multiplexores de terminales. Le permiten tener múltiples ventanas dentro de una sola ventana de terminal y saltar de un lado a otro entre ellas. Una ventana se puede dividir en paneles, cada uno de los cuales le brinda una línea de comandos independiente.

También puede separar una sesión y se convierte en una entidad sin cabeza que se ejecuta en segundo plano, incluso puede cerrar la ventana del terminal que la inició. Cuando esté listo, puede abrir una nueva ventana de terminal y volver a conectar la sesión que aún se está ejecutando. También puede hacerlo a través de una conexión SSH.

Puede separar una sesión en un equipo, ir a casa e iniciar sesión en el equipo remoto. Cuando se vuelva a conectar, puede volver a conectar la sesión en segundo plano y volver a usarla de forma interactiva.

¿Qué es el comando de pantalla?

El screen command también es un multiplexador de terminales, y está repleto de opciones. Para obtener información sobre todo lo que puede hacer con él, consulte nuestro artículo en profundidad.

Esta vez, vamos a concentrarse en tmux. A medida que avanzamos, mencionaremos cómo screen maneja la misma característica o función.

Solo una cosa nos molestó screen. Cubriremos eso cuando lleguemos a él, y veremos si tmux le va mejor.

Instalación de tmux

Mientras screen generalmente se instala de forma predeterminada en distribuciones populares de Linux, tmux No. Para instalar tmux en Ubuntu, escriba lo siguiente:

sudo apt-get install tmux

En Manjaro puedes usar pacman:

sudo pacman -Sy tmux

En Fedora 31, tmux ya está instalado.

Inicio de una sesión tmux

Empezar tmux, simplemente escóralo y presiona Enter:

tmux

La ventana del terminal mostrará una barra de estado cuando estés en un tmux sesión.

El lado derecho de la barra de estado muestra el nombre de host, la hora y la fecha. El lado izquierdo muestra la siguiente información relacionada con la sesión:

  • [0]: Este es el nombre de la sesión. De forma predeterminada, están numerados, comenzando con cero. Cubrimos cómo puede dar nombres significativos a las sesiones a continuación.
  • 0:bash*: El 0 indica que esta es la primera ventana de esta sesión. El único proceso que se ejecuta en esta sesión es bash. Si ejecuta un programa, su nombre aparecerá aquí. El asterisco (*) significa que esta es la ventana que está mirando. Cada vez que se crea una nueva ventana en un tmux sesión, su número de ventana y el nombre del programa que se ejecuta en ella se agregan a la barra de estado.

El screen no le da una barra de estado de forma predeterminada. Tienes que volar a ciegas y confiar en tu ingenio para saber lo que está pasando, lo que requiere un poco de práctica. (A menos que usted configurar su propia barra de estado.)

En el lado positivo, no perderá una línea de bienes raíces de ventana de terminal. Por supuesto, normalmente expandiría la ventana de su terminal para que el uso de un multiplexor de terminal valga la pena. En ese caso, la pérdida de una línea para la barra de estado no es un gran problema. Hemos dejado las imágenes de las ventanas del terminal aquí en el tamaño predeterminado para que pueda ver la información.

Los comandos se dan a tmux usando pulsaciones de teclas, y hay dos partes en esto. Primero, presione Ctrl + B para obtener tmux‘s atención. A continuación, presione rápidamente la siguiente tecla para enviar un comando atmux. Los comandos se dan presionando letras, números, signos de puntuación o teclas de flecha.

Es lo mismo en screen, excepto que presiona Ctrl + A para obtener su atención.

Para cerrar la ventana, presione Ctrl+B y, a continuación, presione rápidamente X. La barra de estado se vuelve ámbar. A continuación, se le pedirá que confirme que desea eliminar la ventana.

Presione Y para cerrar la ventana o N si cambia de opinión. No tiene que presionar Entrar después; Y o N es suficiente para registrar su elección.

Si presiona Y, la ventana se cierra. Debido a que esta es la única ventana de esta sesión, la sesión ha finalizado.

El tmux La sesión se cierra y se vuelve a la línea de comandos desde la que se inició tmux. Verás “[exited]” en la ventana del terminal.

Esto puede parecer que está diciendo lo obvio, pero es una confirmación de que ha cerrado la sesión y no la ha dejado separada y funcionando. Discutiremos las sesiones de separación a continuación.

Iniciar un nombreSesión d tmux

Si inicia regularmente varios tmux Sesiones, apreciarás rápidamente la funcionalidad de darle a cada una de ellas un nombre significativo. Puede nombrar sesiones en screen, también, pero no se muestran en ninguna parte de las ventanas de sesión.

Empezar tmux con un nombre de sesión, utilice el cuadro new (nueva sesión) comando, y el comando -s (nombre de sesión) opción. Nuestra sesión se llamará “geek-1”, así que escribimos lo siguiente:

tmux new -s geek-1

Cuando el tmux Carga la sesión, “geek-1” se muestra como la primera entrada en la barra de estado, en el extremo izquierdo.

Agregar más ventanas

Para crear una nueva ventana en la sesión actual, presione Ctrl+B y, a continuación, C. Obtendrá una ventana de terminal en blanco en la sesión actual. Así que tendremos algo funcionando en esta nueva ventana, comencemos el dmesg mandar con el -w (seguir) opción:

dmesg -w

Ahora tenemos dos ventanas en la sesión; uno se está ejecutando top, y el otro dmesg. Sin embargo, solo podemos ver uno a la vez (más sobre eso en un momento).

Echa un vistazo al lado izquierdo de la barra de estado. Todavía estamos en el “geek-1” tmux sesión. En la ventana cero, la parte superior se está ejecutando, y en la ventana uno, dmesg se está ejecutando. El asterisco (*) después de dmesg nos indica qué ventana es visible.

Para saltar entre ventanas, presione Ctrl+B y, a continuación, una de las teclas siguientes:

  • N: Mostrar la siguiente ventana.
  • P: Mostrar la ventana anterior.
  • De 0 a 9: Muestre una ventana numerada del 0 al 9.

También puede elegir una ventana de una lista. Si presiona Ctrl+B y, a continuación, W, aparece una lista de ventanas.

Te puede ser útil:  10 formas de generar una contraseña aleatoria desde la línea de comandos de Linux

Para mover la barra de resaltado ámbar, presione las flechas arriba o abajo, Inicio o Fin. La sección inferior de la pantalla muestra una vista previa del contenido en la ventana resaltada.

Pulse Intro para desplazarse a la ventana resaltada o Esc para salir de la lista de ventanas sin cambiar.

Sesiones de separación y conexión

Si presiona Ctrl+B y, a continuación, D, separará la sesión. Continuará ejecutinándose en segundo plano, pero no podrá verlo ni interactuar con él.

Hemos empezado top en la sesión, por lo que tenemos un proceso en ejecución para demostrar. Luego, presionamos Ctrl + B y luego D. La sesión desaparece y se convierte en una sesión de fondo.

Volvemos a la ventana original del terminal. Hay un mensaje de tmux diciéndonos que la sesión está separada. También nos recuerda el nombre que le dimos a la sesión. Esto es útil porque eso es lo que usamos para adjuntar a una sesión en segundo plano y luego restaurarla a una interactiva.

Para adjuntar una sesión separada, usaremos la autoexplicativa attach-session con el comando -t (sesión de destino) opción. También proporcionaremos el nombre de la sesión que deseamos recordar.

Escribimos lo siguiente:

tmux attach-session -t geek-1

Nuestra sesión regresa y se convierte de nuevo en una sesión visible e interactiva.

Cualquier proceso continuo o de larga duración que haya iniciado antes de separar la sesión seguirá ejecutándose en segundo plano (a menos que haya finalizado) cuando adjunte la sesión.

screen puede hacer esto, pero no tan intuitivamente.

Manejo de múltiples sesiones

Abramos otra ventana de terminal y comencemos una nueva tmux sesión llamada “geek-2”:

tmux new -s geek-2

En esa sesión, comenzaremos dmesg:

dmesg -w

Ahora, tenemos nuestro “geek-1” original tmux sesión, y una nueva llamada “geek-2”.

La barra de estado nos muestra que esta sesión se llama “geek-2”, y tiene una ventana que se ejecuta dmesg.

Si presionamos Ctrl+B, y luego D, separamos esa sesión.

De vuelta en el “geek-1” tmux sesión, presionamos Ctrl+ B y luego S para ver una lista de tmux Sesiones.

Para ser claros, esta es una lista de sesiones. La pantalla similar que vimos anteriormente era una lista de ventanas en una sola sesión.

Puede mover la barra de resaltado ámbar presionando las flechas arriba y abajo, Inicio y Fin. La sección inferior muestra una vista previa del contenido de la sesión resaltada.

Si presiona la flecha derecha, se muestran las ventanas de la sesión resaltada.

Pulse Intro para desplazarse a la sesión o ventana resaltada o Esc para salir de la lista de sesiones sin cambiar de sesión. Si selecciona una nueva sesión, la actual se separa y se adjunta la que seleccionó.

Separamos la sesión “geek-2” antes de hacer esto. Sin embargo, puede hacer esto con sesiones que son still unido a sus ventanas terminales originales. Cuando lo haga, cualquier cambio de pantalla aparecerá simultáneamente en ambos. tmux Sesiones.

El screen command también puede hacer esto a través de un conjunto similar de comandos.

Trabajar con paneles de ventana

Si presiona Ctrl+B y, a continuación, las comillas dobles (“”), dividirá la ventana horizontalmente en dos paneles.

Esto solo afecta a la ventana actual; los demás en la sesión no se cambiarán. Hemos utilizado el tmux ls en el panel superior para enumerar las ventanas de esta sesión. Hay dos, y la línea de estado nos dice que estamos en la ventana uno. Si saltamos a la ventana cero presionando Ctrl + B, y luego 0 (cero), vemos que es tal como lo dejamos.

Estas son dos líneas de comando independientes, no dos vistas en una ventana; son conchas distintas y separadas. Podemos mostrar esto ejecutando un comando diferente en cada panel.

Escribimos lo siguiente:

uname -a

ls -hl

Para desplazarse de un panel a otro, presione Ctrl+B y, a continuación, la flecha arriba, abajo, izquierda o derecha.

Si presiona Ctrl+B y, a continuación, el signo de porcentaje (%) divide el panel actual verticalmente.

Presione Ctrl+B y, a continuación, Q para hacer tmux muestra brevemente el número de cada panel.

Estos números se utilizan en mensajes y mensajes de tmux. Presione Ctrl+B y, a continuación, X para cerrar el panel actual. La barra de estado cambia a ámbar y se le pedirá que confirme que desea cerrar ese número de panel. Presione Y para quitar el panel o N para dejar las cosas como están.

Si presiona Y, se quita el panel.

El screen también tiene paneles, pero, de nuevo, son menos intuitivos de usar. Lo que nos molesta screen es que si desconecta una sesión con paneles, desaparecen cuando vuelve a conectar esa sesión. Esto envejece muy rápidamente.

Una hoja de trucos Ctrl+B

Hemos incluido una hoja de trucos de los diferentes comandos que puedes usar en tmux abajo.

Comandos de sesión

  • S: Lista de sesiones.
  • €: Cambie el nombre de la sesión actual.
  • D: Separe la sesión actual.
  • Ctrl+B, y luego ?: Mostrar la página de Ayuda en tmux.

Comandos de ventana

  • C: Cree una nueva ventana.
  • ,: Cambie el nombre de la ventana actual.
  • W: Enumere las ventanas.
  • N: Vaya a la siguiente ventana.
  • P: Vaya a la ventana anterior.
  • De 0 a 9: Vaya al número de ventana especificado.

Comandos de panel

  • %: Cree una división horizontal.
  • “: Cree una división vertical.
  • H o flecha izquierda: Vaya al panel de la izquierda.
  • I o flecha derecha: Vaya al panel de la derecha.
  • J o flecha hacia abajo: Vaya al panel siguiente.
  • K o flecha hacia arriba: Vaya al panel de arriba.
  • Q: Muestre brevemente los números de panel.
  • O: Desplazarse por los paneles en orden. Cada pulsación te lleva a la siguiente, hasta que las recorres todas.
  • }: Cambie la posición del panel actual por el siguiente.
  • {: Cambie la posición del panel actual por el anterior.
  • X: Cierre el panel actual.

Cómo se comparan

En términos de funcionalidad, screen y tmux ambos funcionan de manera similar y ofrecen las mismas características principales. Es la forma en que accede a esas funciones lo que es marcadamente diferente. tmux ofrece formas más elegantes y cómodas de llegar a las diversas funciones. Sin embargo, esa no es la única diferencia.

La capacidad de cambiar el nombre de sesiones y ventanas en tmux es limpio, y el hecho de que conserve los paneles cuando vuelva a conectar una sesión es un cambio de juego.

screen, por otro lado, pierde completamente los paneles cuando se separa y se vuelve a conectar una sesión. Esto es casi lo suficientemente molesto como para que evites desprenderte en primer lugar.

Hay mucho más que tmux, incluidas sus capacidades de scripting increíblemente flexibles. Te debes a ti mismo comprobarlo.

¿Qué tan útil te resultó el artículo?

¡Haz click en una estrella para valorar!

Valoración media / 5. Votos totales:

¡No hay votos hasta ahora! Sé el primero en valorar este artículo.

Utilizamos cookies para personalizar el contenido y los anuncios, para ofrecer funciones de redes sociales y para analizar nuestro tráfico. También compartimos información sobre su uso de nuestro sitio con nuestros socios de redes sociales, publicidad y análisis. View more
Cookies settings
Aceptar
Política de privacidad y cookies
Privacy & Cookies policy
Cookie name Active
El presente Política de Privacidad establece los términos en que Alternativa.click usa y protege la información que es proporcionada por sus usuarios al momento de utilizar su sitio web. Esta compañía está comprometida con la seguridad de los datos de sus usuarios. Cuando le pedimos llenar los campos de información personal con la cual usted pueda ser identificado, lo hacemos asegurando que sólo se empleará de acuerdo con los términos de este documento. Sin embargo esta Política de Privacidad puede cambiar con el tiempo o ser actualizada por lo que le recomendamos y enfatizamos revisar continuamente esta página para asegurarse que está de acuerdo con dichos cambios.

Información que es recogida

Nuestro sitio web podrá recoger información personal por ejemplo: Nombre,  información de contacto como  su dirección de correo electrónica e información demográfica. Así mismo cuando sea necesario podrá ser requerida información específica para procesar algún pedido o realizar una entrega o facturación.

Uso de la información recogida

Nuestro sitio web emplea la información con el fin de proporcionar el mejor servicio posible, particularmente para mantener un registro de usuarios, de pedidos en caso que aplique, y mejorar nuestros productos y servicios.  Es posible que sean enviados correos electrónicos periódicamente a través de nuestro sitio con ofertas especiales, nuevos productos y otra información publicitaria que consideremos relevante para usted o que pueda brindarle algún beneficio, estos correos electrónicos serán enviados a la dirección que usted proporcione y podrán ser cancelados en cualquier momento. Alternativa.click está altamente comprometido para cumplir con el compromiso de mantener su información segura. Usamos los sistemas más avanzados y los actualizamos constantemente para asegurarnos que no exista ningún acceso no autorizado.

Cookies

Una cookie se refiere a un fichero que es enviado con la finalidad de solicitar permiso para almacenarse en su ordenador, al aceptar dicho fichero se crea y la cookie sirve entonces para tener información respecto al tráfico web, y también facilita las futuras visitas a una web recurrente. Otra función que tienen las cookies es que con ellas las web pueden reconocerte individualmente y por tanto brindarte el mejor servicio personalizado de su web. Nuestro sitio web emplea las cookies para poder identificar las páginas que son visitadas y su frecuencia. Esta información es empleada únicamente para análisis estadístico y después la información se elimina de forma permanente. Usted puede eliminar las cookies en cualquier momento desde su ordenador. Sin embargo las cookies ayudan a proporcionar un mejor servicio de los sitios web, estás no dan acceso a información de su ordenador ni de usted, a menos de que usted así lo quiera y la proporcione directamente. Usted puede aceptar o negar el uso de cookies, sin embargo la mayoría de navegadores aceptan cookies automáticamente pues sirve para tener un mejor servicio web. También usted puede cambiar la configuración de su ordenador para declinar las cookies. Si se declinan es posible que no pueda utilizar algunos de nuestros servicios.

Enlaces a Terceros

Este sitio web pudiera contener en laces a otros sitios que pudieran ser de su interés. Una vez que usted de clic en estos enlaces y abandone nuestra página, ya no tenemos control sobre al sitio al que es redirigido y por lo tanto no somos responsables de los términos o privacidad ni de la protección de sus datos en esos otros sitios terceros. Dichos sitios están sujetos a sus propias políticas de privacidad por lo cual es recomendable que los consulte para confirmar que usted está de acuerdo con estas. Control de su información personal En cualquier momento usted puede restringir la recopilación o el uso de la información personal que es proporcionada a nuestro sitio web.  Cada vez que se le solicite rellenar un formulario, como el de alta de usuario, puede marcar o desmarcar la opción de recibir información por correo electrónico.  En caso de que haya marcado la opción de recibir nuestro boletín o publicidad usted puede cancelarla en cualquier momento. Esta compañía no venderá, cederá ni distribuirá la información personal que es recopilada sin su consentimiento, salvo que sea requerido por un juez con un orden judicial. Alternativa.click Se reserva el derecho de cambiar los términos de la presente Política de Privacidad en cualquier momento.
Save settings
Cookies settings