Vyhledávání na webu

Jak hostovat více linuxových terminálů pro prohlížení a spolupráci s Wemuxem


V předchozím článku jsme vysvětlili, jak používat tmux (Terminal MUltipleXer) pro přístup a ovládání několika terminálů (nebo oken) z jednoho terminálu.

Nyní vám představíme wemux (víceuživatelská verze tmux), která zahrnuje nejen funkce poskytované tmux, ale také umožňuje uživatelům hostovat prostředí s více terminály, kde se mohou klienti připojit v režimu prohlížení nebo spolupráce.

Jinými slovy, můžete uspořádat relaci, kde si ostatní mohou prohlédnout, co děláte v terminálu (například za účelem provedení demonstrace), nebo s nimi spolupracovat.

Abychom vám pomohli co nejlépe využít wemux, vřele doporučuji, abyste se před procházením tohoto článku podívali na předchozí příručku o tmux.

Instalace a konfigurace Wemux Multi-User Terminal

Před instalací wemux použijeme git ke klonování úložiště projektu do našeho místního systému. Pokud následující příkaz ukazuje, že git není ve vašem systému nalezen:

which git 

jak je uvedeno:

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

Než budete pokračovat, nainstalujte jej (použijte yum nebo aptitude v závislosti na vaší distribuci):

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

Pak,

1. Klonujte vzdálené úložiště.

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

2. Vytvořte symbolický odkaz na spustitelný soubor wemux v /usr/local/bin nebo v jiném adresáři ve vaší ` PATH proměnná.

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

3. Zkopírujte konfigurační ukázkový konfigurační soubor do /usr/local/etc.

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

A vložte následující řádek:

host_list=(user1 user2 user3) 

kde user1, user2 a user3 jsou uživatelé, kteří mohou spouštět servery wemux. Můžete přidat libovolný počet uživatelů oddělených mezerami. Ostatní uživatelé se budou moci připojit k běžícímu serveru wemux, ale nebudou moci jej spustit.

Představujeme wemux Multi-User Terminal

Pro zjednodušení mějte prosím na paměti, že wemux si můžete představit jako nástroj, který usnadňuje sledování konzole a vzájemnou spolupráci na stejné relaci tmux.

Jak bylo vysvětleno dříve, v konfiguračním souboru (/usr/local/etc/wemux.conf) musíte již uvést, kteří uživatelé budou moci spustit server wemux , nebo jinými slovy relaci tmux, ke které se budou moci připojit ostatní uživatelé. V této souvislosti se tito „uživatelé“ nazývají klienti.

Shrnout:

  1. Server Wemux: relace tmux.
  2. Klienti Wemux: uživatelé připojující se k relaci tmux popsané výše.

Toto jsou příkazy, které se používají ke správě serverů wemux:

  1. wemux nebo wemux start: spustí nový server wemux (pokud žádný neexistuje; jinak vytvoří nový) a vytvoří soket v /tmp/wemux-wemux, jehož oprávnění je třeba nastavit na 1777, aby se k němu mohli připojit nebo připojit další uživatelé:
  2. chmod 1777 /tmp/wemux-wemux 
    
  3. připojení wemux vás připojí k existujícímu serveru wemux.
  4. zastavení wemux ukončí server wemux a odstraní dříve vytvořený soket. Tento příkaz je třeba provést ze samostatného terminálu. Alternativně můžete použít vestavěný výstupní shell k zavření podoken a případně k návratu do běžné shellové relace.
  5. wemux kick username zbaví uživatele aktuálně přihlášeného přes SSH ze serveru wemux a odstraní jeho/její podvodné relace (více o tom za minutu). Tento příkaz vyžaduje, aby byl server wemux spuštěn jako root nebo s právy sudo.
  6. wemux config otevře konfigurační soubor v textovém editoru označeném proměnnou prostředí $EDITOR (pouze pokud je taková proměnná ve vašem systému nakonfigurována, což můžete ověřit pomocí echo $EDITOR ).

Všechny výše uvedené příkazy tmux jsou platné v rámci wemux, s výhodou, že se klient může připojit k serveru wemux v jednom ze tří režimů .

Chcete-li to provést, spusťte příkaz uvedený ve sloupci COMMAND níže v „potenciálním klientovi“, abych tak řekl (skutečným klientem se stane, jakmile se připojí k wemuxu 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

Podívejme se na následující screencast pro krátkou ukázku tří klientských režimů uvedených ve výše uvedené tabulce (ve stejném pořadí). Vezměte prosím na vědomí, že jsem použil Terminátora ke spuštění serveru (jako uživatel gacanepa) v levém panelu a připojení klienta (jako uživatelského testu) v pravém panelu.

Můžete tak snadno vidět, jak funguje server wemux při interakci s jedním klientem. Opakováním procesu, který klient používá k připojení k serveru wemux, můžete nechat více klientů udělat totéž současně.

Další vlastnosti terminálu wemux

Pokud vám výše uvedené odstavce neposkytly dostatek důvodů, abyste wemux vyzkoušeli, doufejme, že vás následující funkce přesvědčí.

Uživatelé, kteří mají povoleno spouštět servery wemux (podle direktivy host_list v souboru /usr/local/etc/wemux.conf), mohou hostovat více relací současně, pokud je direktiva allow_server_change nastavena na hodnotu true:

allow_server_change="true"

Chcete-li zahájit dvě relace s názvem la a emea, proveďte následující příkazy ve dvou různých terminálech:

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

Opět použijeme Terminátor k zobrazení dvou terminálů současně (toto je podobné tomu, co byste mohli očekávat přepnutím na různé konzole pomocí Ctrl+Alt+F1F7):

Po stisknutí klávesy Enter se obě relace spustí samostatně:

Poté můžete nechat klienta připojit se k jedné relaci s:

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

A konečně, chcete-li, aby se vzdálený uživatel (připojující se přes SSH) po přihlášení automaticky spustil na wemuxu a odpojil ho od serveru, když se odpojí, připojte k jeho souboru ~/.bash_profile následující stanzu:

wemux [mode]; exit

kde [režim] je jeden z výše uvedených klientských režimů.
Alternativně může klient přepnout z jednoho serveru na druhý pomocí:

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

souhrn

V tomto článku jsme si vysvětlili, jak pomocí wemux velmi snadno nastavit vzdálené prohlížení vašeho terminálu (a dokonce vzájemnou spolupráci). Wemux je vydán pod licencí MIT a je open source software a můžete si jej dále přizpůsobit podle svých potřeb.

Zdrojový kód se nachází ve wemux Github a je dostupný ve vašem systému v /usr/local/bin/wemux. Ve stejném úložišti Github můžete najít další informace o tomto programu.

Přišel vám tento příspěvek užitečný? Dejte nám prosím vědět, co si myslíte, pomocí formuláře níže.