Giunsa ang Pag-host sa Daghang Mga Terminal sa Linux alang sa Pagtan-aw ug Kolaborasyon sa Wemux


Sa miaging artikulo, gipasabot namo kung unsaon paggamit ang tmux, (Terminal MUltipleXer), aron ma-access ug makontrol ang daghang mga terminal (o windows) gikan sa usa ka terminal.

Karon ipaila namo kanimo ang wemux (usa ka multi-user nga bersyon sa tmux), nga dili lamang naglakip sa mga feature nga gihatag sa tmux, apan nagtugot usab sa mga tiggamit sa pag-host sa usa ka multi-terminal nga palibot diin ang mga kliyente makaapil sa pagtan-aw o collaborative mode.

Sa laing pagkasulti, mahimo nimong i-host ang usa ka sesyon diin makita sa uban kung unsa ang imong gibuhat sa terminal (sa paghimo og demonstrasyon, pananglitan), o aron makigtambayayong kanila.

Aron matabangan ka nga makuha ang kadaghanan sa wemux, girekomenda ko nga imong tan-awon ang miaging giya bahin sa tmux sa wala pa moadto sa karon nga artikulo.

Pag-instalar ug Pag-configure sa Wemux Multi-User Terminal

Ingon usa ka kinahanglanon sa dili pa i-install ang wemux, gamiton namon ang git aron ma-clone ang repository sa proyekto sa among lokal nga sistema. Kung ang mosunod nga sugo nagpakita nga ang git dili makita sa imong sistema:

# which git 

sumala sa gipakita sa:

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

I-install kini sa dili pa magpadayon (gamita ang yum o aptitude depende sa imong pag-apod-apod):

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

unya,

1. I-clone ang hilit nga repositoryo.

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

2. Paghimo ug simbolikong sumpay sa wemux executable sulod /usr/local/bin o laing direktoryo sa imong PATH variable.

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

3. Kopyaha ang configuration sample configuration file ngadto sa /usr/local/etc.

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

Ug isulod ang mosunod nga linya:

host_list=(user1 user2 user3) 

diin ang user1, user2, ug user3 mao ang mga tiggamit nga gitugotan sa pagsugod sa mga server sa wemux. Mahimo nimong idugang ang daghang mga tiggamit kung gikinahanglan nga gibulag sa mga luna. Ang ubang mga tiggamit makahimo sa pagkonektar sa usa ka nagdagan nga wemux server apan dili tugotan sa pagsugod sa usa.

Gipaila ang wemux Multi-User Terminal

Aron mapasimple ang mga butang, palihug hinumdomi nga mahimo nimong hunahunaon ang wemux ingon usa ka himan nga nagpadali sa pagtan-aw sa console ug pagtinabangay sa parehas nga sesyon sa tmux.

Sama sa gipatin-aw sa sayo pa, sa configuration file (/usr/local/etc/wemux.conf), kinahanglan nga imo nang gipakita kung kinsa nga mga tiggamit ang tugutan nga magsugod sa usa ka wemux server, o sa laing pagkasulti, usa ka tmux session nga mahimo sa ubang mga tiggamit nga ma-attach sa. Niini nga konteksto, kini nga mga tiggamit gitawag nga mga kliyente.

Sa pag-summarize:

  1. Wemux server: usa ka tmux session.
  2. Mga kliyente sa Wemux: mga tiggamit nga miapil sa sesyon sa tmux nga gihulagway sa ibabaw.

Kini ang mga sugo nga gigamit sa pagdumala sa mga server sa wemux:

  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).

Ang tanan nga tmux commands nga gilista kaniadto balido sa sulod sa wemux, nga adunay bentaha nga ang kliyente mahimong maglakip sa usa ka wemux server sa usa sa tulo nga mga mode.

Aron mahimo kini, ipatuman ang command nga makita sa COMMAND column sa ubos sa usa ka prospective client, sa pagsulti (kini mahimong usa ka aktwal nga kliyente sa higayon nga kini miapil sa wemux server):

Atong tan-awon ang mosunod nga screencast alang sa usa ka mubo nga pasundayag sa tulo ka mga paagi sa kliyente nga gilatid sa ibabaw nga lamesa (sama nga han-ay). Palihug timan-i nga gigamit nako ang Terminator aron masugdan ang server (sama sa user gacanepa) sa wala nga pane ug magkonektar sa usa ka kliyente (ingon nga pagsulay sa tiggamit) sa tuo nga pane.

Sa ingon, dali nimo makita kung giunsa ang usa ka wemux server nagtrabaho samtang nakig-uban sa usa ka kliyente. Pinaagi sa pagsubli sa proseso nga gigamit sa usa ka kliyente sa pag-apil sa usa ka wemux server, mahimo nimo nga daghang mga kliyente ang magdungan sa pagbuhat sa parehas.

Ang ubang mga bahin sa wemux Terminal

Kung ang mga parapo sa ibabaw wala maghatag kanimo igo nga mga hinungdan aron sulayan ang wemux, hinaut nga ang mga mosunud nga mga bahin makapakombinsir kanimo.

Ang mga tiggamit nga gitugotan sa pagsugod sa mga wemux server (sumala sa host_list nga direktiba sa /usr/local/etc/wemux.conf file) mahimong mag-host sa daghang mga sesyon nga dungan kung ang allow_server_change nga direktiba gitakda sa tinuod:

allow_server_change="true"

Sa pagsugod sa duha ka sesyon nga ginganlan og la ug emea, ipatuman ang mosunod nga mga sugo sa duha ka lain-laing mga terminal:

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

Pag-usab, atong gamiton ang Terminator aron tan-awon ang duha ka mga terminal sa samang higayon (kini susama sa imong mapaabot pinaagi sa pagbalhin ngadto sa lain-laing mga console gamit ang Ctrl+Alt+F1 hangtod sa F7):

Human nimo pindota ang Enter, ang duha ka sesyon gisugdan nga gilain:

Unya mahimo nimong ipaapil ang usa ka kliyente sa bisan unsang sesyon nga adunay:

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

Sa katapusan, aron adunay usa ka hilit nga tiggamit (pagkonektar pinaagi sa SSH) nga awtomatiko nga magsugod sa wemux pagkahuman sa pag-logon ug idiskonekta sila gikan sa server kung sila magbulag, idugang ang gisundan nga stanza sa iyang ~/.bash_profile file:

wemux [mode]; exit

diin ang [mode] maoy usa sa mga client mode nga gilista sa sayo pa.
Sa laing paagi, ang usa ka kliyente mahimong mobalhin gikan sa usa ka server ngadto sa lain gamit ang:

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

Summary

Sa kini nga artikulo gipasabut namon kung giunsa ang paggamit sa wemux aron ma-set up ang layo nga pagtan-aw sa imong terminal (ug bisan ang pagtinabangay) nga dali ra. Gipagawas ubos sa lisensya sa MIT, ang wemux mao ang open source software ug mahimo nimo kining ipasibo sumala sa imong mga panginahanglan.

Ang source code makita sa wemux Github ug anaa sa imong sistema sa /usr/local/bin/wemux. Sa parehas nga Github repository makit-an nimo ang dugang nga kasayuran bahin sa kini nga programa.

Nakita ba nimo nga mapuslanon kini nga post? Palihug ipahibalo kanamo kung unsa ang imong gihunahuna gamit ang porma sa ubos.

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