Πώς να φιλοξενήσετε πολλά τερματικά Linux για προβολή και συνεργασία με το Wemux


Σε προηγούμενο άρθρο, εξηγήσαμε πώς να χρησιμοποιήσετε το tmux, (Terminal MUltipleXer), για πρόσβαση και έλεγχο ενός αριθμού τερματικών (ή παραθύρων) από ένα μόνο τερματικό.

Τώρα θα σας παρουσιάσουμε το wemux (μια έκδοση για πολλούς χρήστες του tmux), το οποίο όχι μόνο περιλαμβάνει τις δυνατότητες που παρέχονται από το tmux, αλλά και επιτρέπει στους χρήστες να φιλοξενούν ένα περιβάλλον πολλαπλών τερματικών όπου οι πελάτες μπορούν να συμμετέχουν σε λειτουργία προβολής ή συνεργασίας.

Με άλλα λόγια, μπορείτε να φιλοξενήσετε μια συνεδρία όπου οι άλλοι μπορούν να δουν τι κάνετε στο τερματικό (για να εκτελέσετε μια επίδειξη, για παράδειγμα) ή να συνεργαστούν μαζί τους.

Για να σας βοηθήσουμε να αξιοποιήσετε στο έπακρο το wemux, σας συνιστώ να ρίξετε μια ματιά στον προηγούμενο οδηγό σχετικά με το tmux πριν διαβάσετε το παρόν άρθρο.

Εγκατάσταση και διαμόρφωση του τερματικού πολλαπλών χρηστών Wemux

Ως προϋπόθεση πριν από την εγκατάσταση του wemux, θα χρησιμοποιήσουμε το git για να κλωνοποιήσουμε το αποθετήριο του έργου στο τοπικό μας σύστημα. Εάν η ακόλουθη εντολή δείχνει ότι το git δεν βρίσκεται στο σύστημά σας:

which git 

όπως υποδεικνύεται από:

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

Εγκαταστήστε το πριν συνεχίσετε (χρησιμοποιήστε yum ή aptitude ανάλογα με τη διανομή σας):

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

Επειτα,

1. Κλωνοποιήστε τον απομακρυσμένο χώρο αποθήκευσης.

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

2. Δημιουργήστε έναν συμβολικό σύνδεσμο προς το εκτελέσιμο αρχείο wemux μέσα στο /usr/local/bin ή σε άλλον κατάλογο στο ` PATH σας μεταβλητή.

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

3. Αντιγράψτε το αρχείο διαμόρφωσης δείγματος διαμόρφωσης στο /usr/local/etc.

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

Και εισάγετε την ακόλουθη γραμμή:

host_list=(user1 user2 user3) 

όπου οι user1, user2 και user3 είναι χρήστες που επιτρέπεται να ξεκινούν διακομιστές wemux. Μπορείτε να προσθέσετε όσους χρήστες χρειάζεται χωρισμένους με κενά. Άλλοι χρήστες θα μπορούν να συνδεθούν σε έναν διακομιστή wemux που λειτουργεί, αλλά δεν θα τους επιτρέπεται να ξεκινήσουν έναν.

Παρουσιάζουμε το wemux Multi-User Terminal

Για να απλοποιήσετε τα πράγματα, έχετε υπόψη σας ότι μπορείτε να σκεφτείτε το wemux ως ένα εργαλείο που διευκολύνει την προβολή της κονσόλας και την αμοιβαία συνεργασία στην ίδια περίοδο σύνδεσης tmux.

Όπως εξηγήθηκε προηγουμένως, στο αρχείο διαμόρφωσης (/usr/local/etc/wemux.conf), πρέπει να έχετε ήδη υποδείξει σε ποιους χρήστες θα επιτρέπεται να ξεκινήσουν έναν διακομιστή wemux , ή με άλλα λόγια, μια περίοδο σύνδεσης tmux στην οποία θα μπορούν να επισυνάψουν άλλοι χρήστες. Σε αυτό το πλαίσιο, αυτοί οι «χρήστες» ονομάζονται πελάτες.

Να συνοψίσουμε:

  1. Διακομιστής Wemux: μια περίοδος σύνδεσης tmux.
  2. Πελάτες Wemux: χρήστες που συμμετέχουν στην περίοδο λειτουργίας tmux που περιγράφεται παραπάνω.

Αυτές είναι οι εντολές που χρησιμοποιούνται για τη διαχείριση διακομιστών wemux:

  1. wemux ή wemux start: ξεκινά έναν νέο διακομιστή wemux (αν δεν υπάρχει, διαφορετικά δημιουργεί έναν νέο) και δημιουργεί μια υποδοχή στο /tmp/wemux-wemux τα δικαιώματα του οποίου πρέπει να οριστούν σε 1777 ώστε άλλοι χρήστες να μπορούν να συνδεθούν ή να συνδεθούν σε αυτό:
  2. chmod 1777 /tmp/wemux-wemux 
    
  3. Το wemux attach σας συνδέει με έναν υπάρχοντα διακομιστή wemux.
  4. Το wemux stop σκοτώνει τον διακομιστή wemux και αφαιρεί την υποδοχή που δημιουργήθηκε νωρίτερα. Αυτή η εντολή πρέπει να εκτελεστεί από ξεχωριστό τερματικό. Εναλλακτικά, μπορείτε να χρησιμοποιήσετε το ενσωματωμένο κέλυφος εξόδου για να κλείσετε τα παράθυρα και τελικά να επιστρέψετε στην κανονική περίοδο λειτουργίας του κελύφους.
  5. Το όνομα χρήστη wemux kick απαλλάσσει τον χρήστη που είναι συνδεδεμένος αυτήν τη στιγμή μέσω SSH από τον διακομιστή wemux και καταργεί τις παράνομες περιόδους λειτουργίας του (περισσότερα για αυτό σε ένα λεπτό). Αυτή η εντολή απαιτεί ο διακομιστής wemux να έχει ξεκινήσει ως root ή με δικαιώματα sudo.
  6. Το wemux config ανοίγει το αρχείο διαμόρφωσης στο πρόγραμμα επεξεργασίας κειμένου που υποδεικνύεται από τη μεταβλητή περιβάλλοντος $EDITOR (μόνο εάν αυτή η μεταβλητή έχει διαμορφωθεί στο σύστημά σας, την οποία μπορείτε να επαληθεύσετε με echo $EDITOR ).

Όλες οι εντολές tmux που αναφέρονται προηγουμένως είναι έγκυρες στο wemux, με το πλεονέκτημα ότι ο πελάτης μπορεί να επισυνάψει σε έναν διακομιστή wemux σε μία από τις τρεις λειτουργίες .

Για να το κάνετε αυτό, εκτελέστε την εντολή που βρίσκεται στη στήλη COMMAND παρακάτω σε έναν "υποψήφιο πελάτη", ας πούμε έτσι (θα γίνει πραγματικός πελάτης μόλις γίνει μέλος του wemux υπηρέτης):

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

Ας ρίξουμε μια ματιά στην παρακάτω εκπομπή οθόνης για μια σύντομη επίδειξη των τριών λειτουργιών πελάτη που περιγράφονται στον παραπάνω πίνακα (ίδια σειρά). Λάβετε υπόψη ότι χρησιμοποίησα το Terminator για να ξεκινήσω τον διακομιστή (ως χρήστης gacanepa) στο αριστερό παράθυρο και να συνδέσω έναν πελάτη (ως δοκιμή χρήστη) στο δεξιό παράθυρο.

Έτσι, μπορείτε εύκολα να δείτε πώς λειτουργεί ένας διακομιστής wemux ενώ αλληλεπιδράτε με έναν πελάτη. Επαναλαμβάνοντας τη διαδικασία που χρησιμοποιείται από έναν πελάτη για να συνδεθεί σε έναν διακομιστή wemux, μπορείτε να βάλετε πολλούς πελάτες να κάνουν το ίδιο ταυτόχρονα.

Άλλα χαρακτηριστικά του τερματικού wemux

Εάν οι παραπάνω παράγραφοι δεν σας έδωσαν αρκετούς λόγους για να δοκιμάσετε το wemux, ελπίζουμε ότι οι παρακάτω δυνατότητες θα σας πείσουν.

Οι χρήστες που επιτρέπεται να ξεκινούν διακομιστές wemux (σύμφωνα με την οδηγία host_list στο αρχείο /usr/local/etc/wemux.conf) μπορούν να φιλοξενήσουν πολλές συνεδρίες ταυτόχρονα, εάν η οδηγία allow_server_change έχει οριστεί σε true:

allow_server_change="true"

Για να ξεκινήσετε δύο περιόδους σύνδεσης με τα ονόματα la και emea, εκτελέστε τις ακόλουθες εντολές σε δύο διαφορετικά τερματικά:

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

Και πάλι, θα χρησιμοποιήσουμε το Terminator για να προβάλουμε τα δύο τερματικά ταυτόχρονα (αυτό είναι παρόμοιο με αυτό που θα μπορούσατε να περιμένετε μεταβαίνοντας σε διαφορετικές κονσόλες με Ctrl+Alt+F1 μέσω F7):

Αφού πατήσετε Enter, και οι δύο συνεδρίες ξεκινούν ξεχωριστά:

Στη συνέχεια, μπορείτε να βάλετε έναν πελάτη να συμμετάσχει σε οποιαδήποτε συνεδρία με:

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

Τέλος, για να ξεκινήσετε αυτόματα έναν απομακρυσμένο χρήστη (που συνδέεται μέσω SSH) στο wemux μετά τη σύνδεση και να τον αποσυνδέσετε από τον διακομιστή όταν αποσυνδεθεί, προσθέστε την ακόλουθη στροφή στο αρχείο ~/.bash_profile:

wemux [mode]; exit

όπου το [mode] είναι μία από τις λειτουργίες πελάτη που αναφέρθηκαν προηγουμένως.
Εναλλακτικά, ένας πελάτης μπορεί να αλλάξει από έναν διακομιστή σε άλλο χρησιμοποιώντας:

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

Περίληψη

Σε αυτό το άρθρο εξηγήσαμε πώς να χρησιμοποιήσετε το wemux για να ρυθμίσετε την απομακρυσμένη προβολή του τερματικού σας (ακόμα και την αμοιβαία συνεργασία) πολύ εύκολα. Το wemux, το οποίο κυκλοφορεί υπό την άδεια του MIT, είναι λογισμικό ανοιχτού κώδικα και μπορείτε να το προσαρμόσετε περαιτέρω ανάλογα με τις ανάγκες σας.

Ο πηγαίος κώδικας βρίσκεται στο wemux Github και είναι διαθέσιμος στο σύστημά σας στο /usr/local/bin/wemux. Στο ίδιο αποθετήριο Github μπορείτε να βρείτε περισσότερες πληροφορίες για αυτό το πρόγραμμα.

Σας φάνηκε χρήσιμη αυτή η ανάρτηση; Πείτε μας τη γνώμη σας χρησιμοποιώντας την παρακάτω φόρμα.