Hvordan være vert for flere Linux-terminaler for visning og samarbeid med Wemux


I en tidligere artikkel forklarte vi hvordan du bruker tmux, (Terminal MUltipleXer), for å få tilgang til og kontrollere et antall terminaler (eller vinduer) fra en enkelt terminal.

Nå vil vi introdusere deg til wemux (en flerbrukerversjon av tmux), som ikke bare inkluderer funksjonene som tilbys av tmux, men også lar brukere være vert for et multiterminalmiljø der klienter kan bli med i visnings- eller samarbeidsmodus.

Med andre ord kan du være vert for en sesjon der andre kan se hva du gjør i terminalen (for eksempel for å utføre en demonstrasjon), eller samarbeide med dem.

For å hjelpe deg med å få mest mulig ut av wemux, anbefaler jeg på det sterkeste at du tar en titt på den forrige guiden om tmux før du går gjennom denne artikkelen.

Installere og konfigurere Wemux Multi-User Terminal

Som en forutsetning før du installerer wemux, vil vi bruke git til å klone prosjektets depot i vårt lokale system. Hvis følgende kommando viser at git ikke er funnet i systemet ditt:

which git 

som indikert av:

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

Installer den før du fortsetter (bruk yum eller aptitude avhengig av distribusjonen din):

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

Deretter,

1. Klon det eksterne depotet.

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

2. Opprett en symbolsk lenke til wemux kjørbare i /usr/local/bin eller en annen katalog i ` PATH variabel.

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

3. Kopier konfigurasjonseksempel konfigurasjonsfilen til /usr/local/etc.

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

Og sett inn følgende linje:

host_list=(user1 user2 user3) 

hvor bruker1, bruker2 og bruker3 er brukere som har tillatelse til å starte wemux-servere. Du kan legge til så mange brukere som er nødvendig atskilt med mellomrom. Andre brukere vil kunne koble til en kjørende wemux-server, men vil ikke få lov til å starte en.

Vi introduserer wemux Multi-User Terminal

For å forenkle ting, husk at du kan tenke på wemux som et verktøy som forenkler konsollvisning og gjensidig samarbeid på samme tmux-økt.

Som forklart tidligere, i konfigurasjonsfilen (/usr/local/etc/wemux.conf), må du allerede ha angitt hvilke brukere som får lov til å starte en wemux-server , eller med andre ord, en tmux-økt som andre brukere vil kunne koble til. I denne sammenhengen kalles disse «brukerne» klienter.

Å oppsummere:

  1. Wemux-server: en tmux-økt.
  2. Wemux-klienter: brukere som blir med i tmux-økten beskrevet ovenfor.

Dette er kommandoene som brukes til å administrere wemux-servere:

  1. wemux eller wemux start: starter en ny wemux-server (hvis ingen eksisterer; ellers oppretter en ny) og lager en socket i /tmp/wemux-wemux hvis tillatelser må settes til 1777 slik at andre brukere kan koble til eller knytte til den:
  2. chmod 1777 /tmp/wemux-wemux 
    
  3. wemux attach kobler deg til en eksisterende wemux-server.
  4. wemux stop dreper wemux-serveren og fjerner kontakten som ble opprettet tidligere. Denne kommandoen må utføres fra en separat terminal. Alternativt kan du bruke det innebygde utgangsskallet for å lukke ruter og til slutt gå tilbake til den vanlige skalløkten.
  5. wemux kick brukernavn kvitter seg med brukeren som er logget på via SSH fra wemux-serveren og fjerner hans/hennes useriøse økter (mer om dette om et minutt). Denne kommandoen krever at wemux-serveren er startet som root eller med sudo-privilegier.
  6. wemux config åpner konfigurasjonsfilen i tekstredigeringsprogrammet indikert av miljøvariabelen $EDITOR (bare hvis en slik variabel er konfigurert i systemet ditt, som du kan verifisere med echo $EDITOR ).

Alle tmux-kommandoene oppført tidligere er gyldige i wemux, med fordelen at klienten kan koble til en wemux-server i en av tre moduser .

For å gjøre det, utfør kommandoen du finner i KOMMANDO-kolonnen nedenfor i en "potentiell klient", så å si (den vil bli en faktisk klient når den har blitt med i wemuxen server):

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

La oss ta en titt på følgende skjermkast for en kort demonstrasjon av de tre klientmodusene som er skissert i tabellen ovenfor (samme rekkefølge). Vær oppmerksom på at jeg brukte Terminator for å starte serveren (som bruker gacanepa) i venstre rute og koble til en klient (som brukertest) i høyre rute.

Dermed kan du enkelt se hvordan en wemux-server fungerer mens du samhandler med én klient. Ved å gjenta prosessen som brukes av en klient for å bli med i en wemux-server, kan du få flere klienter til å gjøre det samme samtidig.

Andre funksjoner i wemux Terminal

Hvis avsnittene ovenfor ikke ga deg nok grunner til å prøve wemux, vil forhåpentligvis følgende funksjoner overbevise deg.

Brukere som har tillatelse til å starte wemux-servere (i henhold til host_list-direktivet i filen /usr/local/etc/wemux.conf) kan være vert for flere økter samtidig hvis allow_server_change-direktivet er satt til true:

allow_server_change="true"

For å starte to økter kalt la og emea, utfør følgende kommandoer i to forskjellige terminaler:

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

Igjen vil vi bruke Terminator for å se de to terminalene samtidig (dette ligner på det du kan forvente ved å bytte til forskjellige konsoller med Ctrl+Alt+F1 til og med F7):

Etter at du har trykket Enter, startes begge øktene hver for seg:

Deretter kan du få en klient til å bli med i begge øktene med:

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

Til slutt, for å få en ekstern bruker (som kobler til via SSH) til å starte automatisk på wemux etter pålogging og koble dem fra serveren når de kobler fra, legg til følgende strofe til dens ~/.bash_profile-fil:

wemux [mode]; exit

der [modus] er en av klientmodusene som er oppført tidligere.
Alternativt kan en klient bytte fra en server til en annen ved å bruke:

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

Sammendrag

I denne artikkelen har vi forklart hvordan du bruker wemux for å sette opp ekstern visning av terminalen din (og til og med gjensidig samarbeid) veldig enkelt. Wemux er utgitt under MIT-lisensen og er åpen kildekode-programvare, og du kan tilpasse den ytterligere etter dine behov.

Kildekoden finnes i wemux Github og tilgjengelig i systemet ditt i /usr/local/bin/wemux. I samme Github-depot kan du finne mer informasjon om dette programmet.

Fant du dette innlegget nyttig? Gi oss beskjed om hva du synes ved å bruke skjemaet nedenfor.