Una introducción a los multiplexores terminales

Una introducción a los multiplexores terminales

20 de abril de 2016
por raras aioanei

Introducción

Si es nuevo en la administración del servidor y la línea de comandos, tal vez no haya oído hablar de los multiplexores de terminal o lo que hacen. Desea aprender a ser un buen Sysadmin de Linux y cómo usar las herramientas del comercio. O tal vez ya eres un administrador experimentado y administra bastantes máquinas, y quieres hacer tu vida un poco más fácil. O tal vez estás en algún lugar intermedio.

De cualquier manera, este artículo explicará qué son los multiplexores terminales, qué hacen y lo más importante, cómo puede beneficiarse al usarlos.

Un multiplexor terminal no es más que un programa que permite a su usuario multiplexar una o más sesiones virtuales, por lo que el usuario puede tener varias sesiones dentro de un solo terminal. Una de las características más útiles de tales programas es el hecho de que los usuarios pueden adjuntar y separar tales sesiones; ¿Cómo es esto útil?.

Casos de uso

Sesiones persistentes

Supongamos que tiene que administrar un servidor remoto a través de SSH/línea de comandos, pero su conexión no es muy estable. Eso significa que tienes que volver a conectarte con frecuencia y no quieres comenzar a trabajar de nuevo. Los multiplexores terminales ofrecen la característica de guardar sus sesiones entre conexiones para que pueda continuar justo donde comenzó.

Tenga en cuenta que tales sesiones no son persistentes entre los reinicios (en nuestro caso anterior, los reinicios del servidor al que se está conectando), por lo que es mejor saber esto para no esperar tal característica. La razón de esto es el hecho de que el multiplexor ejecuta sesiones de shell, desde las cuales puede estar ejecutando un editor de texto, una herramienta de monitoreo y otras cosas. Dado que todos esos procesos ya no estarán allí después de un reinicio, no hay ninguna razón por la cual esta característica debe implementarse, ya que no tendría ningún uso real.

Hablamos en nuestra introducción sobre la adjunta y el separación: esto es exactamente lo que hace esta característica. Continuando con nuestro caso de uso, donde tiene una conexión inestable, una vez que se desconecte, puede simplemente SSH en el servidor nuevamente y volver a colocar a la sesión de ejecución (o elegir entre sesiones para volver a colocar) y estará justo donde
Parado.

Más de una ventana

Si está acostumbrado a los administradores de ventanas de mosaico, como DWM, XMonad o I3, puede pensar en los multiplexores terminales como el equivalente terminal de tales WMS.

Algunos más que otros, le ofrecen múltiples ventanas, la capacidad de cambiar fácilmente entre ellas, cambiar los diseños o incluso cambiar el tamaño de las ventanas. Tal vez desee usar un entorno gráfico solo cuando sea necesario y pasó el resto del tiempo de la computadora en una consola, o tal vez no tenga ninguna opción, ya que generalmente significa trabajar en un servidor
Línea de comandos Solo así, como dijimos, cualquier cosa que le haga la vida más fácil como usuario de CLI es más que bienvenido.

Otra ventaja es la gestión de recursos: si está trabajando en una máquina restringida, tener solo un terminal abierto un multiplexor es más fácil en el consumo de CPU/RAM en lugar de múltiples ventanas o pestañas. O tal vez, dependiendo de lo que necesite, puede reemplazar la interfaz gráfica por completo.

Trabajo colaborativo

Las sesiones no solo se pueden conectar y volver a colocar, como se describe anteriormente, sino que también se pueden compartir. En términos prácticos, significa que más de un usuario puede adjuntar a una sesión existente y trabajar juntos a medida que consideren adecuado.

Multiplexores terminales

Lista de multiplexores terminales

Lo que sigue es una lista de multiplexores de terminales y todo lo que necesita para comenzar, incluida la instalación, el uso básico, las características y, por supuesto, una comparación entre ellos para que pueda decidir más fácilmente lo que se ajusta a usted y a sus necesidades mejor.

Si recién estás comenzando, tal vez sería una buena idea probarlos todos, ya que no es una lista larga, y ve por ti mismo qué es lo mejor para ti. Proporcionaremos capturas de pantalla para el impaciente de todos modos, pero es nuestra opinión que nada es mejor cuando se trata de decidir qué usar que el uso directo, por lo que si tiene el tiempo, pruébelos. Como de costumbre, no intentaremos reemplazar las páginas manuales de ninguno de los programas que se presentan a continuación, por lo que para una referencia completa, utilice el 'Programa Man $ $' para obtener la información completa.

Pantalla GNU

Uno de los software de multiplexación terminal más popular (si no líder, en realidad) en sistemas de tipo UNIX es la pantalla GNU, de lo queworth, nombrado simplemente 'pantalla' en aras de la brevedad. La pantalla ofrece una gran cantidad de características lo suficientemente grande como para que tenga un grupo de usuarios estable y devoto. Como su nombre lo indica, la pantalla se libera bajo el GPLV3 y se asocia con el proyecto GNU en su conjunto. Un concepto que es esencial para el uso diario de la pantalla (y otro software similar) es el atajo de comando. Un atajo de comando es una eliminación de teclas, que es personalizable a través de un archivo de configuración o por otros medios (como el código fuente, por ejemplo), que es seguido por una montaña rusa que permite al usuario enviar un comando al multiplexer.

Tomemos un ejemplo simple: quizás el comando más utilizado en el software si este tipo es el que crea una nueva ventana. Entonces, lo que tendremos que hacer es presionar el acceso directo de comando seguido de una tecla que le dice a la pantalla que cree una nueva ventana para nosotros. El acceso directo de comando predeterminado en la pantalla es Ctrl+A (para el resto de este artículo usaremos la notación C-A), y el comando que sigue es 'C', que significa Crear. Pero comencemos con el principio y veamos cómo instalar la pantalla. En Debian/Ubuntu y otras distribuciones de Linux con sede en Debian, el comando de instalar es

Pantalla de instalación de $ sudo apt-get 

En las distribuciones basadas en Fedora y Redhat, puede instalar la pantalla emitiendo el siguiente comando Linux:

Pantalla de instalación de $ sudo yum 

Con respecto a Fedora, en las últimas versiones de la misma, es posible que deba reemplazar YUM por DNF, ya que se ha convertido en la herramienta de administración de paquetes de línea de comandos predeterminada. Pero el comando anterior debería funcionar, porque le advertirá que Yum está en desuso y le redirige a DNF. Dado el hecho de que la pantalla GNU tiene una larga historia detrás (el primer anuncio de lanzamiento se hizo en la red.Fuentes en 1987), se ha vuelto bastante omnipresente en casi cualquier sistema operativo que tenga algo que ver con Unix.

Si está dentro de X, abra una ventana de terminal (o use un TTY) y escriba 'pantalla'. Quizás notará que su tipo de terminal ha cambiado a 'pantalla'. Esto se puede verificar escribiendo

$ echo $ término 

Después de iniciar la pantalla.

Ahora que ha comenzado con la pantalla, escriba el comando para crear una nueva ventana y ver qué sucede (C-A + C). Si espera algún signo gráfico que demuestre que ahora tiene dos ventanas, estará un poco decepcionado. Te llevarán a una ventana nueva, pero eso es todo. Así que ahora tendremos que ver cómo navegar entre Windows. Si sabe a qué ventana desea ir, especialmente útil cuando solo tiene unos pocos abiertos, puede usar C -A seguido de un personaje. Se le pedirá que ingrese al identificador de la ventana y, al ingresarlo, se le llevará a dicha ventana. El cambio de ventana también se puede hacer más sencillo con el identificador C-A + $, donde el identificador $ es, al menos por ahora, el número de ventana, o, aún más simple, mediante el uso de C-A + Tab (al igual que Alt + Tab en muchos administradores de ventanas ). Para ir a la última ventana usada solo escriba C-a dos veces. Si, por ejemplo, necesita seguir la salida de una consola mientras trabaja en otra cosa, tiene el comando dividido - C -A + S (tenga en cuenta el capital S allí).

Una característica de la que hemos estado hablando anteriormente es la que le permite separar/adjuntar sesiones a voluntad. Como ejemplo, tal vez desee cerrar el terminal del cliente para, por ejemplo, un reinicio y luego poder volver a su sesión remota. Use C-A + C-D para hacer la parte de separación, y al regresar, simplemente agregue -s como argumento para detectar el nombre de la sesión. Para obtener la lista de pantallas adjuntas, use C-A, seguido de * (asterisco).

Otras características incluyen copia y pegado (C-A + [para copia y C-A +] para pegar), Nombrar ventanas (C-A + A) o Información de la ventana (es decir, puede mostrar información sobre la ventana actual en la línea de mensajes: use C-A + C-I para esto). Finalmente, matar una ventana se realiza usando C-A + K.

Unas pocas notas que valen la pena recordar: primero, lo que lees anteriormente solo rasca la superficie; La pantalla es un programa capaz y hemos seleccionado solo lo que consideramos más importante para que un usuario comience. Consulte la documentación, en línea o la página manual, para ver el conjunto completo de características. Segundo, si estás usando bash y/o
emacs, es posible que desee cambiar el atajo de comando predeterminado (C-A), porque tarde o posterior interferirá con los atajos de los respectivos programas. Cómo cambiar el atajo de comando se deja como un ejercicio para el lector.

tmux

Probablemente la alternativa más popular a la pantalla GNU es TMUX. A diferencia de él, es licenciado por BSD e incluso es parte de la instalación predeterminada de algunos sistemas operativos BSD, como OpenBSD y NetBSD. Sin embargo, eso no significa que no esté disponible en la mayoría de las distribuciones de Linux. Para Debian/Ubuntu, solo escribe

$ sudo apt-get install tmux 

, mientras que para Redhat/Fedora, el comando de instalación sería

$ sudo yum instalación tmux 

Ahora que está un poco familiarizado con los multiplexores terminales, saltaremos los conceptos básicos, como la definición de un atajo de comando, etc. Así que comience un terminal y simplemente escriba 'tmux'. Verá, si el proceso de instalación se completó con éxito, algo muy similar a esto:

Lo primero que notará es el hecho de que TMUX muestra de forma predeterminada una línea de mensaje, a diferencia de la pantalla. Pero comencemos con el comienzo: el atajo de comando predeterminado en TMUX es Ctrl + B (C-B), seguido del comando respectivo. Después de desplazarse a través de este artículo, notará que algunos de los comandos básicos son similares entre los multiplexores terminales; Por lo tanto, para crear una nueva ventana en TMUX, el comando es 'C' (el comando completo sería C-B + C). Tenga en cuenta cómo la línea de mensaje ahora muestra ambas ventanas, junto con sus identificadores predeterminados, que son enteros positivos, a partir de 0. Para navegar a otra ventana, puede usar su identificador respectivo (E.gramo. C-b + 1) o, para acceder a la última ventana usada, use c-b + l.

Los comandos son generalmente bastante sencillos y fáciles de acostumbrarse, ya que generalmente siguen la regla de la letra inicial: 'c' para crear, 'l' para el final, etc. Nuevamente, consulte la página Manual para obtener una lista completa de comandos.

Con un emulador terminal simple (es decir, sin ningún multiplexor), notará que puede desplazarse fácilmente usando la rueda de desplazamiento del mouse o cambiar + página. TMUX, como otros multiplexores, tiene sus propias reglas con respecto a copiar/pegar/desplazarse, por lo que el desplazamiento habitual como se describe anteriormente ya no funcionará. C-B + [Entra en la etapa: este comando le permitirá copiar texto o desplazarse hacia arriba para el texto. Con C-B +] puede pegar el texto seleccionado más recientemente, y si desea salir de la copia/modo de desplazamiento, escriba 'Q'.

Al igual que la pantalla, TMUX ofrece la opción de adjuntar/separar las sesiones; Esta característica, como se señaló anteriormente, es una de las más importantes para cualquier multiplexor terminal que se respeta a sí mismo.

Uno de los escenarios más simples es el que el usuario tiene, por varias razones, cerrar la sesión activa y quiere volver a hacerlo lo antes posible. C-B + D se usa para separar la sesión (la actual) y luego, al regresar al terminal, todo lo que uno tiene que hacer es escribir 'Tmux Adjunto' y eso es todo, estamos de vuelta justo donde nos fuimos. Cómo puede adjuntar a la sesión de su elección, siempre que haya más de uno, queda como un ejercicio para el usuario.

dvtm

Por último, pero no menos importante, tenemos DVTM, de los cuales se puede decir primero que es el más parecido (al menos de nuestra humilde lista) de un administrador de ventanas de mosaico.

No que la pantalla o TMUX no tengan las capacidades necesarias, es solo que DVTM se ve así de forma predeterminada, como puede ver aquí:

Para comenzar desde el principio, para instalar en Fedora o Centos, solo haga

$ sudo yum instalación dvtm 

, Observe que en CentOS necesitará el repositorio de EPEL habilitado y funcionando, ya que los repositorios predeterminados no tienen DVTM disponible. En las distribuciones basadas en Debian, el comando utilizado para instalar debe ser

$ sudo apt-get instalación dvtm 

Dado que ahora estás más familiarizado con los multiplexores, vamos a entrar en él. Simplemente escriba 'dvtm' en un terminal y esté configurado. El atajo de comando aquí es Ctrl + G (C-G), por lo que, como hemos visto antes, para crear una nueva ventana solo hacer C-G + C. Simplemente puede cambiar el atajo de comando predeterminado a, por ejemplo, C -Y (asegúrese de que no interfiera con otros atajos establecidos quizás por su administrador de ventanas o entorno de escritorio primero), puede invocar/iniciar DVTM de manera así: 'DVTM -M ^ y '.

Las ventanas de cierre se logran de forma predeterminada con C-G + X, y el cambio se realiza utilizando las teclas J y K. Lo hará, especialmente si es un usuario Avid VI/VIM, algunas similitudes con los atajos de un editor de texto determinado, por lo que debe estar en casa si VI/VIM es lo suyo. Como hemos visto en la sección TMUX, el uso de C-G + $ Window_Number debería llevarlo a la ventana que necesita, y DVTM también tiene una función que le permite enviar información a todas las ventanas visibles: use C-G + A para esto, seguido de el comando/entrada para enviar; Use C-G + A nuevamente para restaurar el comportamiento normal.

Ahora estamos llegando a la parte que ya insinuamos antes, las similitudes con WMS de mosaico. DVTM tiene las siguientes opciones cuando se trata de diseños:

  • Pila vertical: eso significa que el llamado área maestra obtiene la mitad izquierda de la pantalla y el resto se apilan en la mitad derecha
  • pila inferior: como ya adivinaste, básicamente el mismo, pero el área maestra está en la mitad superior y el resto apilado en la mitad inferior
  • Grid: toda la ventana obtiene una parte igual de la pantalla
  • Fullscreen: el nombre lo dice todo: todas las ventanas tienen todas las patas de pantalla disponibles

Con respecto a los modos de copia/pegar, como se describe en la sección TMUX, el principio es el mismo, cómo se hace y los atajos difieren. C-G + E tiene el búfer de desplazamiento a un editor externo, mientras que lo que dicho editor escribe en salida estándar se puede pegar con C-G + P.

Finalmente, la funcionalidad de separación/fijación está ahí, solo se logra mediante el uso de herramientas externas. Si bien este poderoso aparece al principio, recuerde que DVTM tiene que ver con la simplicidad y la adhesión al principio de Unix de hacer una cosa y hacerlo bien. La herramienta externa que vamos a usar se llama Abduco y puedes usarla así:

$ abduco -c dvtm -session 

adjuntar. Por lo general, es una instalación separada y esto se puede hacer de la misma manera que ya usó para instalar TMUX, y nuevamente, en CentOS y otras derivadas RHEL, necesitará habilitar EPEL para que la instalación funcione. Continuando, la separación se realiza con C-G + \ y Reattachment se realiza con

$ abduco -a dvtm -session 

Como alternativa a Abduco, puede usar Dtach, y cómo se hace se deja como un ejercicio para el lector.

Conclusión

Esperamos darle todo lo que necesite para comenzar a usar multiplexores terminales o al menos ofrecerle nueva información sobre el asunto si ya usó algunos o incluso todos ellos. Probablemente ahora estás preguntando: "Ok, lo entiendo, pero cuál debería usar?" - La respuesta a eso es" la que mejor te adapta ".

Hay dos cosas aquí: una, hay demasiados escenarios de usuarios y casos de uso para poder dar una respuesta definitiva y dos, recuerde que los tres multiplexores terminales que cubrimos son probablemente los más populares en el campo, pero de ninguna manera los los únicos. Entonces decimos usarlos, probarlos, modificarlos para satisfacer sus necesidades lo mejor posible y luego sabrá lo que desea usar.

Aún mejor, si tiene el tiempo y las habilidades y necesita una función que esté (aún) que no esté allí, abra una solicitud de función o mejor aún, piratee el programa usted mismo y comparta su código. Solo podemos esperar que disfrute de estas herramientas y se vuelva más eficiente en su trabajo.

Tutoriales de Linux relacionados:

  • Una introducción a la automatización, herramientas y técnicas de Linux
  • Cosas para instalar en Ubuntu 20.04
  • Cosas que hacer después de instalar Ubuntu 20.04 fossa focal Linux
  • Mastering Bash Script Loops
  • Mint 20: Mejor que Ubuntu y Microsoft Windows?
  • Ubuntu 20.04 Guía
  • Cosas para instalar en Ubuntu 22.04
  • Cómo arrancar dual Kali Linux y Windows 10
  • Cosas que hacer después de instalar Ubuntu 22.04 Jellyfish de Jammy ..
  • ¿Con qué frecuencia tiene que reiniciar su servidor de Linux??