Kako hostirati više Linux terminala za pregled i suradnju s Wemuxom


U prethodnom članku smo objasnili kako koristiti tmux, (Terminal MUltipleXer), za pristup i kontrolu brojnih terminala (ili prozora) sa jednog terminala.

Sada ćemo vam predstaviti wemux (višekorisničku verziju tmux), koji ne uključuje samo funkcije koje pruža tmux, već i omogućava korisnicima da hostuju okruženje sa više terminala gde se klijenti mogu pridružiti u režimu pregleda ili saradnje.

Drugim riječima, možete ugostiti sesiju u kojoj drugi mogu vidjeti šta radite na terminalu (na primjer da izvedu demonstraciju) ili da sarađuju s njima.

Kako bih vam pomogao da maksimalno iskoristite wemux, toplo preporučujem da pogledate prethodni vodič o tmuxu prije nego što prođete kroz ovaj članak.

Instalacija i konfiguracija Wemux višekorisničkog terminala

Kao preduvjet prije instaliranja wemuxa, koristit ćemo git za kloniranje repozitorija projekta u našem lokalnom sistemu. Ako sljedeća komanda pokazuje da git nije pronađen u vašem sistemu:

which git 

kako ukazuje:

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

Instalirajte ga prije nego što nastavite (koristite yum ili aptitude ovisno o vašoj distribuciji):

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

onda,

1. Klonirajte udaljeno spremište.

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

2. Kreirajte simboličku vezu do wemux izvršne datoteke unutar /usr/local/bin ili drugog direktorija u vašem ` PATH varijabla.

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

3. Kopirajte konfiguracijski uzorak konfiguracijskog fajla u /usr/local/etc.

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

I ubacite sljedeći red:

host_list=(user1 user2 user3) 

gdje su user1, user2 i user3 korisnici kojima je dozvoljeno pokretanje wemux servera. Možete dodati koliko god je potrebno korisnika odvojenih razmacima. Drugi korisnici će moći da se povežu na pokrenuti wemux server, ali neće im biti dozvoljeno da ga pokrenu.

Predstavljamo wemux višekorisnički terminal

Da biste pojednostavili stvari, imajte na umu da o wemux možete razmišljati kao o alatu koji olakšava gledanje na konzoli i međusobnu saradnju na istoj tmux sesiji.

Kao što je ranije objašnjeno, u konfiguracijskoj datoteci (/usr/local/etc/wemux.conf), morate već naznačiti kojim korisnicima će biti dozvoljeno pokretanje wemux servera , ili drugim riječima, tmux sesija kojoj će drugi korisnici moći priložiti. U ovom kontekstu, ovi “korisnici” se nazivaju klijentima.

Da rezimiramo:

  1. Wemux server: tmux sesija.
  2. Wemux klijenti: korisnici koji se pridružuju gore opisanoj tmux sesiji.

Ovo su naredbe koje se koriste za upravljanje wemux serverima:

  1. wemux ili wemux start: pokreće novi wemux server (ako ne postoji; u suprotnom kreira novi) i kreira utičnicu u /tmp/wemux-wemux čije dozvole treba postaviti na 1777 kako bi se drugi korisnici mogli povezati ili priključiti na njega:
  2. chmod 1777 /tmp/wemux-wemux 
    
  3. wemux attach povezuje vas na postojeći wemux server.
  4. wemux stop ubija wemux server i uklanja prethodno kreiranu utičnicu. Ovu naredbu treba izvršiti sa posebnog terminala. Alternativno, možete koristiti ugrađenu izlaznu ljusku da zatvorite okna i na kraju da se vratite na svoju redovnu sesiju ljuske.
  5. wemux kick korisničko ime uklanja korisnika koji je trenutno prijavljen preko SSH sa wemux servera i uklanja njegove/njene lažne sesije (više o tome za minut). Ova komanda zahtijeva da je wemux server pokrenut kao root ili sa sudo privilegijama.
  6. wemux config otvara konfiguracijsku datoteku u uređivaču teksta označenu varijablom okruženja $EDITOR (samo ako je takva varijabla konfigurirana u vašem sistemu, što možete provjeriti pomoću echo $EDITOR ).

Sve naredbe tmux koje su prethodno navedene su važeće unutar wemux, uz prednost što se klijent može priključiti na wemux server u jednom od tri načina .

Da biste to učinili, izvršite naredbu koja se nalazi u COMMAND koloni ispod u "potencijalnom klijentu", da tako kažemo (postat će stvarni klijent nakon što se pridruži wemux-u 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

Pogledajmo sljedeći screencast za kratku demonstraciju tri klijentska načina rada navedena u gornjoj tabeli (isti red). Imajte na umu da sam koristio Terminator da bih pokrenuo server (kao korisnik gacanepa) u lijevom oknu i povezao klijenta (kao korisnički test) u desnom oknu.

Stoga možete lako vidjeti kako wemux server radi dok komunicirate s jednim klijentom. Ponavljanjem procesa koji koristi klijent za pridruživanje wemux serveru, možete imati više klijenata da rade isto istovremeno.

Ostale karakteristike wemux terminala

Ako vam gornji paragrafi nisu dali dovoljno razloga da isprobate wemux, nadamo se da će vas sljedeće karakteristike uvjeriti.

Korisnici kojima je dozvoljeno pokretanje wemux servera (prema host_list direktivi u datoteci /usr/local/etc/wemux.conf) mogu hostirati više sesija istovremeno ako je allow_server_change direktiva postavljena na true:

allow_server_change="true"

Da započnete dvije sesije pod nazivom la i emea, izvršite sljedeće naredbe u dva različita terminala:

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

Opet ćemo koristiti Terminator da vidimo dva terminala u isto vrijeme (ovo je slično onome što biste mogli očekivati prelaskom na različite konzole pomoću Ctrl+Alt+F1 do F7):

Nakon što pritisnete Enter, obje sesije počinju odvojeno:

Tada možete natjerati klijenta da se pridruži bilo kojoj sesiji sa:

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

Konačno, da bi se udaljeni korisnik (koji se povezuje preko SSH-a) automatski pokrenuo na wemux-u nakon prijave i prekinuo vezu sa serverom kada se odvoji, dodajte sljedeću strofu njegovoj ~/.bash_profile datoteci:

wemux [mode]; exit

gdje je [mode] jedan od klijentskih načina rada navedenih ranije.
Alternativno, klijent se može prebaciti s jednog servera na drugi koristeći:

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

Sažetak

U ovom članku smo objasnili kako koristiti wemux za postavljanje daljinskog pregleda vašeg terminala (pa čak i međusobnu suradnju) vrlo jednostavno. Izdan pod MIT licencom, wemux je softver otvorenog koda i možete ga dodatno prilagoditi svojim potrebama.

Izvorni kod se nalazi u wemux Githubu i dostupan u vašem sistemu u /usr/local/bin/wemux. U istom Github repozitorijumu možete pronaći više informacija o ovom programu.

Da li vam je ovaj post bio koristan? Recite nam šta mislite koristeći formu ispod.