Búsqueda de sitios web

Cómo alojar múltiples terminales Linux para visualización y colaboración con Wemux


En un artículo anterior explicamos cómo utilizar tmux, (Terminal MUltipleXer), para acceder y controlar varios terminales (o ventanas) desde un único terminal.

Ahora le presentaremos wemux (una versión multiusuario de tmux), que no solo incluye las funciones proporcionadas por tmux, sino también permite a los usuarios alojar un entorno de múltiples terminales donde los clientes pueden unirse en modo de visualización o colaboración.

En otras palabras, puedes organizar una sesión donde otros puedan ver lo que haces en el terminal (para realizar una demostración, por ejemplo), o colaborar con ellos.

Para ayudarte a aprovechar wemux al máximo, te recomiendo que eches un vistazo a la guía anterior sobre tmux antes de leer el presente artículo.

Instalación y configuración del terminal multiusuario Wemux

Como requisito previo antes de instalar wemux, usaremos git para clonar el repositorio del proyecto en nuestro sistema local. Si el siguiente comando muestra que git no se encuentra en su sistema:

which git 

como lo indica:

/usr/bin/which: no git in (/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin) 

Instálalo antes de continuar (usa yum o aptitude dependiendo de tu distribución):

yum install git       [On RedHat based systems] 
dnf install git       [On Fedora 22+ versions]
aptitude install git  [On Debian based systems]

Entonces,

1. Clonar el repositorio remoto.

git clone git://github.com/zolrath/wemux.git /usr/local/share/wemux 

2. Cree un enlace simbólico al ejecutable wemux dentro de /usr/local/bin u otro directorio en su ` PATH variables.

ln -s /usr/local/share/wemux/wemux /usr/local/bin/wemux 

3. Copie el archivo de configuración de muestra en /usr/local/etc.

cp /usr/local/share/wemux/wemux.conf.example /usr/local/etc/wemux.conf 

E inserte la siguiente línea:

host_list=(user1 user2 user3) 

donde usuario1, user2 y user3 son usuarios a los que se les permite iniciar servidores wemux. Puedes agregar tantos usuarios como necesites separados por espacios. Otros usuarios podrán conectarse a un servidor wemux en ejecución, pero no podrán iniciar uno.

Presentamos la terminal multiusuario wemux

Para simplificar las cosas, tenga en cuenta que puede pensar en wemux como una herramienta que facilita la visualización de la consola y la colaboración mutua en la misma sesión de tmux.

Como se explicó anteriormente, en el archivo de configuración (/usr/local/etc/wemux.conf), ya debes haber indicado qué usuarios podrán iniciar un servidor wemux. , o en otras palabras, una sesión tmux a la que otros usuarios podrán conectarse. En este contexto, estos “usuarios” se denominan clientes.

Para resumir:

  1. Servidor Wemux: una sesión tmux.
  2. Clientes Wemux: usuarios que se unen a la sesión tmux descrita anteriormente.

Estos son los comandos que se utilizan para gestionar servidores wemux:

  1. wemux o wemux start: inicia un nuevo servidor wemux (si no existe ninguno; de lo contrario, crea uno nuevo) y crea un socket en /tmp/wemux-wemux cuyos permisos deben establecerse en 1777 para que otros usuarios puedan conectarse o conectarse a él:
  2. chmod 1777 /tmp/wemux-wemux 
    
  3. wemux adjunto lo conecta a un servidor wemux existente.
  4. wemux stop mata el servidor wemux y elimina el socket creado anteriormente. Este comando debe ejecutarse desde una terminal separada. Alternativamente, puede usar la salida integrada del shell para cerrar paneles y eventualmente regresar a su sesión regular del shell.
  5. wemux kick nombre de usuario elimina al usuario actualmente conectado a través de SSH desde el servidor wemux y elimina sus sesiones no autorizadas (más sobre esto en un minuto). Este comando requiere que el servidor wemux se haya iniciado como root o con privilegios sudo.
  6. wemux config abre el archivo de configuración en el editor de texto indicado por la variable de entorno $EDITOR (solo si dicha variable está configurada en tu sistema, lo cual puedes verificar con echo $EDITOR ).

Todos los comandos tmux enumerados anteriormente son válidos dentro de wemux, con la ventaja de que el cliente puede conectarse a un servidor wemux en uno de tres modos .

Para hacerlo, ejecute el comando que se encuentra en la columna COMMAND a continuación en un “cliente potencial”, por así decirlo (se convertirá en un cliente real una vez que se haya unido a wemux). servidor):

Mode Description Commands
Mirror Read-only, non-interactive wemux mirror
Pair Interactive, client shares cursor with the server wemux pair
Rogue Joins an existing session but allows the client to uses independent windows wemux rogue

Echemos un vistazo al siguiente screencast para ver una breve demostración de los tres modos de cliente descritos en la tabla anterior (mismo orden). Tenga en cuenta que utilicé Terminator para iniciar el servidor (como usuario gacanepa) en el panel izquierdo y conectar un cliente (como usuario de prueba) en el panel derecho.

Por lo tanto, puede ver fácilmente cómo funciona un servidor wemux mientras interactúa con un cliente. Al repetir el proceso que utiliza un cliente para unirse a un servidor wemux, puede hacer que varios clientes hagan lo mismo simultáneamente.

Otras características de la terminal wemux

Si los párrafos anteriores no le dieron suficientes razones para probar wemux, esperamos que las siguientes características lo convenzan.

Los usuarios que tienen permiso para iniciar servidores wemux (según la directiva host_list en el archivo /usr/local/etc/wemux.conf) pueden alojar múltiples sesiones simultáneamente si la directiva allow_server_change está establecida en verdadero:

allow_server_change="true"

Para iniciar dos sesiones denominadas la y emea, ejecute los siguientes comandos en dos terminales diferentes:

wemux join la && wemux start
wemux join emea && wemux start

Nuevamente usaremos Terminator para ver los dos terminales al mismo tiempo (esto es similar a lo que podrías esperar al cambiar a diferentes consolas con Ctrl+Alt+F1 mediante F7):

Después de presionar Entrar, ambas sesiones se inician por separado:

Luego puede hacer que un cliente se una a cualquiera de las sesiones con:

wemux join la && wemux attach
Or
wemux join emea && wemux attach

Finalmente, para que un usuario remoto (que se conecta a través de SSH) inicie automáticamente en wemux después de iniciar sesión y lo desconecte del servidor cuando se desconecte, agregue la siguiente estrofa a su archivo ~/.bash_profile:

wemux [mode]; exit

donde [mode] es uno de los modos de cliente enumerados anteriormente.
Alternativamente, un cliente puede cambiar de un servidor a otro usando:

exit
wemux join [server name here] && wemux [mode]

Resumen

En este artículo te hemos explicado cómo utilizar wemux para configurar la visualización remota de tu terminal (e incluso la colaboración mutua) de forma muy sencilla. Wemux, lanzado bajo la licencia MIT, es un software de código abierto y puede personalizarlo aún más según sus necesidades.

El código fuente se encuentra en wemux Github y está disponible en su sistema en /usr/local/bin/wemux. En el mismo repositorio de Github podrás encontrar más información sobre este programa.

¿Te resultó útil esta publicación? Por favor, háganos saber lo que piensa utilizando el siguiente formulario.