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


U prethodnom smo članku objasnili kako koristiti tmux, (Terminal MUltipleXer), za pristup i kontrolu više terminala (ili prozora) s jednog terminala.

Sada ćemo vam predstaviti wemux (višekorisnička verzija tmux), koja ne uključuje samo značajke koje nudi tmux, već također omogućuje korisnicima da ugoste okruženje s više terminala gdje se klijenti mogu pridružiti u načinu gledanja ili suradnje.

Drugim riječima, možete ugostiti sesiju u kojoj drugi mogu vidjeti što radite na terminalu (na primjer, izvesti demonstraciju) ili surađivati s njima.

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

Instaliranje i konfiguriranje Wemux višekorisničkog terminala

Kao preduvjet prije instaliranja wemuxa, koristit ćemo git za kloniranje repozitorija projekta u našem lokalnom sustavu. Ako sljedeća naredba pokaže da git nije pronađen u vašem sustavu:

which git 

kako je naznačeno sa:

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

Instalirajte ga prije nastavka (upotrijebite yum ili aptitude ovisno o distribuciji):

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

Zatim,

1. Klonirajte udaljeno spremište.

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

2. Napravite simboličku vezu na wemux izvršnu datoteku 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 konfiguracijsku datoteku uzorka konfiguracije u /usr/local/etc.

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

I umetnite sljedeći redak:

host_list=(user1 user2 user3) 

gdje su user1, user2 i user3 korisnici kojima je dopušteno pokretanje wemux poslužitelja. Možete dodati onoliko korisnika koliko je potrebno odvojenih razmacima. Ostali korisnici će se moći spojiti na pokrenuti wemux poslužitelj, ali neće im biti dopušteno pokrenuti ga.

Predstavljamo wemux višekorisnički terminal

Kako biste pojednostavili stvari, imajte na umu da wemux možete zamisliti kao alat koji olakšava gledanje konzole i međusobnu suradnju na istoj tmux sesiji.

Kao što je ranije objašnjeno, u konfiguracijskoj datoteci (/usr/local/etc/wemux.conf) morate već naznačiti koji će korisnici moći pokrenuti wemux poslužitelj , ili drugim riječima, tmux sesija kojoj će se drugi korisnici moći pridružiti. U ovom kontekstu, ti se “korisnici” nazivaju klijentima.

Sažeti:

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

Ovo su naredbe koje se koriste za upravljanje wemux poslužiteljima:

  1. wemux ili wemux start: pokreće novi wemux poslužitelj (ako nijedan ne postoji; inače stvara novi) i stvara utičnicu u /tmp/wemux-wemux čija dopuštenja moraju biti postavljena na 1777 kako bi se drugi korisnici mogli povezati ili priložiti na njega:
  2. chmod 1777 /tmp/wemux-wemux 
    
  3. wemux attach spaja vas na postojeći wemux poslužitelj.
  4. wemux stop ubija wemux poslužitelj i uklanja prethodno stvorenu utičnicu. Ovu naredbu potrebno je izvršiti s zasebnog terminala. Alternativno, možete upotrijebiti ugrađenu izlaznu ljusku za zatvaranje okna i na kraju za povratak na vašu uobičajenu sesiju ljuske.
  5. wemux kick korisničko ime rješava se korisnika koji je trenutno prijavljen putem SSH-a s wemux poslužitelja i uklanja njegove/njezine lažne sesije (više o tome za minutu). Ova naredba zahtijeva da wemux poslužitelj bude pokrenut kao root ili s sudo privilegijama.
  6. wemux config otvara konfiguracijsku datoteku u uređivaču teksta naznačenu varijablom okruženja $EDITOR (samo ako je takva varijabla konfigurirana u vašem sustavu, što možete provjeriti pomoću echo $EDITOR ).

Sve prethodno navedene naredbe tmux važeće su unutar wemux, s prednošću da se klijent može priključiti na wemux poslužitelj u jednom od tri načina .

Da biste to učinili, izvršite naredbu koja se nalazi u donjem stupcu COMMAND u “potencijalnom klijentu“, da tako kažemo (postat će stvarni klijent nakon što se pridruži wemuxu poslužitelj):

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 triju načina rada klijenta navedenih u gornjoj tablici (istim redoslijedom). Imajte na umu da sam koristio Terminator kako bih pokrenuo poslužitelj (kao korisnik gacanepa) u lijevom oknu i povezao klijenta (kao korisnički test) u desnom oknu.

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

Ostale značajke wemux terminala

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

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

allow_server_change="true"

Za pokretanje 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

Ponovno ćemo koristiti Terminator za prikaz dva terminala u isto vrijeme (ovo je slično onome što možete očekivati prebacivanjem na različite konzole pomoću Ctrl+Alt+F1 kroz F7):

Nakon što pritisnete Enter, obje sesije pokreću se odvojeno:

Tada se možete pridružiti klijentu bilo kojoj sesiji s:

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

Konačno, kako bi se udaljeni korisnik (koji se povezuje putem SSH-a) automatski pokrenuo na wemuxu nakon prijave i odspojio ga s poslužitelja kada se odvoji, dodajte sljedeću strofu njegovoj ~/.bash_profile datoteci:

wemux [mode]; exit

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

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

Sažetak

U ovom smo članku objasnili kako koristiti wemux za vrlo jednostavno postavljanje daljinskog pregleda vašeg terminala (pa čak i međusobne suradnje). Budući da je objavljen pod licencom MIT-a, wemux je softver otvorenog koda i možete ga dodatno prilagoditi svojim potrebama.

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

Je li vam ovaj post bio koristan? Recite nam što mislite koristeći donji obrazac.