Sådan hostes flere Linux-terminaler til visning og samarbejde med Wemux


I en tidligere artikel forklarede vi, hvordan man bruger tmux, (Terminal MUltipleXer), til at få adgang til og styre et antal terminaler (eller windows) fra en enkelt terminal.

Nu vil vi introducere dig til wemux (en flerbrugerversion af tmux), som ikke kun inkluderer de funktioner, der leveres af tmux, men også giver brugerne mulighed for at være vært for et multiterminalmiljø, hvor klienter kan deltage i visning eller samarbejdstilstand.

Med andre ord kan du være vært for en session, hvor andre kan se, hvad du laver i terminalen (for eksempel for at udføre en demonstration) eller for at samarbejde med dem.

For at hjælpe dig med at få mest muligt ud af wemux anbefaler jeg stærkt, at du kigger på den tidligere vejledning om tmux, inden du går igennem denne artikel.

Installation og konfiguration af Wemux Multi-User Terminal

Som en forudsætning inden installation af wemux bruger vi git til at klone projektets lager i vores lokale system. Hvis følgende kommando viser, at git ikke findes i dit system:

# which git 

som angivet af:

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

Installer det, før du fortsætter (brug yum eller aptitude afhængigt af din distribution):

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

Derefter,

1. Klon fjernlageret.

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

2. Opret et symbolsk link til wemux-eksekverbarheden i /usr/local/bin eller en anden mappe i din $ PATH-variabel.

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

3. Kopier konfigurationseksempelkonfigurationsfilen til /usr/local/etc .

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

Og indsæt følgende linje:

host_list=(user1 user2 user3) 

hvor bruger1 , user2 og user3 er brugere, der har tilladelse til at starte wemux-servere. Du kan tilføje så mange brugere som nødvendigt adskilt af mellemrum. Andre brugere kan oprette forbindelse til en kørende wemux-server, men har ikke tilladelse til at starte en.

Introduktion til wemux Multi-User Terminal

For at forenkle ting skal du huske på, at du kan tænke på wemux som et værktøj, der letter konsollvisning og gensidigt samarbejde om den samme tmux-session.

Som forklaret tidligere skal du i konfigurationsfilen ( /usr/local/etc/wemux.conf ) allerede have angivet, hvilke brugere der har tilladelse til at starte en wemux-server eller med andre ord en tmux-session, som andre brugere kan knytte til. I denne sammenhæng kaldes disse “brugere” klienter.

At opsummere:

  1. Wemux-server: en tmux-session.
  2. Wemux-klienter: brugere, der deltager i tmux-sessionen beskrevet ovenfor.

Dette er de kommandoer, der bruges til at administrere wemux-servere:

  1. wemux or wemux start: starts a new wemux server (if none exists; otherwise creates a new one) and creates a socket in /tmp/wemux-wemux whose permissions need to be set to 1777 so that other users may connect or attach to it:
  2. # chmod 1777 /tmp/wemux-wemux 
    
  3. wemux attach hooks you up to an existing wemux server.
  4. wemux stop kills the wemux server and removes the socket created earlier. This command needs to be executed from a separate terminal. Alternatively, you can use the exit shell builtin to close panes and eventually to return to your regular shell session.
  5. wemux kick username gets rid of the user currently logged on via SSH from the wemux server and removes his / her rogue sessions (more on this in a minute). This command requires that the wemux server has been started as root or with sudo privileges.
  6. wemux config opens the configuration file in the text editor indicated by the environment variable $EDITOR (only if such variable is configured in your system, which you can verify with echo $EDITOR).

Alle tmux-kommandoer, der er anført tidligere, er gyldige inden for wemux, med den fordel, at klienten kan knytte til en wemux-server i en af tre tilstande.

For at gøre det skal du udføre kommandoen i kolonnen COMMAND nedenfor i en "potentiel klient", for at sige det (det bliver en faktisk klient, når den er tilsluttet wemux-serveren):

Lad os se på følgende screencast for en kort demonstration af de tre klienttilstande skitseret i ovenstående tabel (samme rækkefølge). Bemærk, at jeg brugte Terminator for at starte serveren (som bruger gacanepa) i venstre rude og oprette forbindelse til en klient (som brugertest) i højre rude.

Således kan du nemt se, hvordan en wemux-server fungerer, mens du interagerer med en klient. Ved at gentage processen, der bruges af en klient til at slutte sig til en wemux-server, kan du få flere klienter til at gøre det samme samtidigt.

Andre funktioner i wemux Terminal

Hvis ovenstående afsnit ikke gav dig nok grunde til at prøve wemux, forhåbentlig vil følgende funktioner overbevise dig.

Brugere, der har tilladelse til at starte wemux-servere (som beskrevet i host_list-direktivet i /usr/local/etc/wemux.conf -filen), kan være vært for flere sessioner samtidigt, hvis direktivet allow_server_change er sat til true:

allow_server_change="true"

For at starte to sessioner med navnet la og emea skal du udføre følgende kommandoer i to forskellige terminaler:

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

Igen vil vi bruge Terminator til at se de to terminaler på samme tid (dette svarer til hvad du kunne forvente ved at skifte til forskellige konsoller med Ctrl + Alt + F1 til F7):

Når du har trykket på Enter, startes begge sessioner separat:

Derefter kan du få en klient til at deltage i begge sessioner med:

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

Endelig, for at få en fjernbruger (tilslutning via SSH) til at starte automatisk på wemux efter logon og afbryde dem fra serveren, når de løsnes, skal du tilføje følgende strofe til dets ~/.bash_profile -fil:

wemux [mode]; exit

hvor [mode] er en af de klienttilstande, der er anført tidligere.
Alternativt kan en klient skifte fra en server til en anden ved hjælp af:

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

Resumé

I denne artikel har vi forklaret, hvordan du bruger wemux til at opsætte fjernvisning af din terminal (og endda gensidigt samarbejde) meget let. At blive frigivet under MIT-licensen, wemux er open source-software, og du kan yderligere tilpasse det efter dine behov.

Kildekoden findes i wemux Github og tilgængelig i dit system i/usr/local/bin/wemux. I det samme Github-arkiv kan du finde flere oplysninger om dette program.

Fandt du dette indlæg nyttigt? Fortæl os hvad du synes ved hjælp af nedenstående formular.

Reference: https://github.com/zolrath/wemux