Kuinka käyttää tmux Linuxissa (ja miksi se on parempi kuin näyttö)
- Dave McKay
@TheGurkha
- May 14, 2020, 8: 00AM EDT
Linux tmux
– komento on pääte-multiplekseri, kuten screen
. Sen puolestapuhujia on monia ja äänekkäitä, joten päätimme vertailla näitä kahta. Onko tmux
oikeasti parempi, vai onko kyse vain siitä, että suositaan sitä, mitä osataan?
tmux vs. screen
sekä tmux
että GNU screen
– komennot ovat terminaalisia multipleksereitä. Niiden avulla voit olla useita ikkunoita yhden pääteikkunan sisällä, ja hyppiä edestakaisin niiden välillä. Ikkuna voidaan jakaa ruutuihin, joista jokainen antaa sinulle itsenäisen komentorivin.
voit myös irrottaa istunnon ja siitä tulee päättömäksi olio, joka pyörii taustalla-voit jopa sulkea sen käynnistäneen pääteikkunan. Kun olet valmis, voit avata uuden pääteikkunan ja liittää edelleen käynnissä olevan istunnon uudelleen. Voit myös tehdä tämän SSH-yhteyden kautta.
voit irrottaa istunnon yhdellä tietokoneella, mennä kotiin ja kirjautua etätietokoneeseen. Kun yhteys on muodostettu uudelleen, voit liittää taustaistunnon uudelleen ja käyttää sitä vuorovaikutteisesti uudelleen.
mikä on ruutukomento?
screen
– komento on myös terminaalikertoiminen, ja se on täynnä vaihtoehtoja. Saat lowdown kaikesta, mitä voit tehdä sen kanssa, tutustu syvälliseen artikkeliin.
tällä kertaa keskitytään tmux
. Matkan varrella kerrotaan, miten screen
käsittelee samaa ominaisuutta tai toimintoa.
vain yksi asia harmitti screen
. Käydään se sitten läpi ja katsotaan, josko tmux
pärjäisi yhtään paremmin.
liittyvät: Kuinka käyttää Linuxin screen-komentoa
asentamalla tmux
kun taas screen
on yleensä asennettu oletuksena suosittuihin Linux-jakeluihin, tmux
ei ole. asentaaksesi tmux
Ubuntuun, kirjoita seuraava:
sudo apt-get install tmux
Manjarossa voit käyttää pacman
:
sudo pacman -Sy tmux
Fedora 31: ssä tmux
on jo asennettu.
tmux-istunnon aloittaminen
aloittaa tmux
, kirjoita se ja paina Enteriä:
tmux
pääteikkunassa näkyy tilarivi, kun olet tmux
– istunnossa.
tilarivin oikeassa reunassa näkyy palvelimen nimi sekä aika ja päivämäärä. Vasemmalla puolella näkyy seuraavat istuntoon liittyvät tiedot:
- : tämä on istunnon nimi. Oletusarvoisesti ne on numeroitu, alkaen nollasta. Käsittelemme, miten voit antaa mielekkäitä nimiä istuntoihin alla.
- 0: bash*: 0 osoittaa, että tämä on tämän istunnon ensimmäinen ikkuna. Ainoa tässä istunnossa käynnissä oleva prosessi on
bash
. Jos suoritat ohjelman, sen nimi näkyy tässä. Tähti ( * ) tarkoittaa, että katselet tätä ikkunaa. Joka kerta kun luot uuden ikkunantmux
– istunnossa, sen ikkunanumero ja siinä käynnissä olevan ohjelman nimi lisätään tilariville.
screen
komento ei anna tilariviä. Täytyy lentää sokkona ja luottaa älyynsä, että tietää mitä tapahtuu, mikä vaatii hieman harjoittelua.
plussan puolella et menetä riviäkään pääteikkunakiinteistöjä. Tietenkin, voit yleensä laajentaa pääteikkunan tehdä käyttämällä terminaali multiplexer kannattavaa. Siinä tapauksessa, menetys yksi rivi tilarivin ei ole paljon ongelma. Olemme jättäneet pääteikkunoiden kuvat tähän oletuskokoon, jotta näet tiedot.
komennot annetaan tmux
näppäinpainalluksilla, ja tässä on kaksi osaa. Paina ensin Ctrl + B saadaksesi tmux
n huomion. Tämän jälkeen voit nopeasti painaa seuraavaa näppäintä lähettääksesi komennontmux
. Komentoja annetaan painamalla kirjaimia, numeroita, välimerkkejä tai nuolinäppäimiä.
se on sama screen
, paitsi että painat Ctrl + A saadaksesi sen huomion.
sulje ikkuna painamalla Ctrl + B ja painamalla sitten nopeasti X: ää. Sitten sinua pyydetään vahvistamaan, että haluat tappaa ikkunan.
paina Y sulkeaksesi ikkunan tai N, jos muutat mielesi. Sinun ei tarvitse painaa enteriä jälkeenpäin; Y tai N riittää rekisteröimään valintasi.
jos painat Y: tä, ikkuna sulkeutuu. Koska tämä on ainoa ikkuna tässä istunnossa, istunto lopetetaan.
tmux
istunto on päättynyt ja olet palannut komentoriville, jolta käynnistit tmux
. Näet ”” terminaalin ikkunassa.
tämä saattaa tuntua itsestäänselvyyden toteamiselta,mutta se on vahvistus siitä, että olet sulkenut istunnon etkä jättänyt sitä irralleen ja käynnissä. Keskustelemme irrottamisesta istunnoissa alla.
nimetyn tmux-Session aloittaminen
jos aloitat säännöllisesti useita tmux
sessioita, huomaat nopeasti toimivuuden antaa jokaiselle niistä mielekäs nimi. Istuntoja voi nimetä myös screen
, mutta ne eivät näy missään istuntoikkunoissa.
jos haluat aloittaa tmux
istunnon nimellä, käytä new
(uusi istunto) – komentoa ja -s
(istunnon nimi) – vaihtoehtoa. Istuntomme tulee olemaan nimeltään ”geek-1”, joten kirjoitamme seuraavat:
tmux new -s geek-1
kun tmux
– istunto latautuu, ”geek-1” näkyy ensimmäisenä merkintänä tilarivillä, äärimmäisenä vasemmalla.
lisäämällä lisää ikkunoita
luodaksesi uuden ikkunan nykyiseen istuntoon painamalla Ctrl+B ja sitten C. saat tyhjän pääteikkunan nykyiseen istuntoon. Joten meillä on jotain käynnissä tässä uudessa ikkunassa, aloitetaan dmesg
komento -w
(follow) – valinnalla:
dmesg -w
nyt istunnossa on kaksi ikkunaa; toinen on käynnissä top
ja toinen dmesg
. Voimme kuitenkin nähdä vain yhden kerrallaan (lisää siitä hetken kuluttua).
Katso tilarivin vasenta reunaa. Olemme edelleen ”geek-1” tmux
sessiossa. Window Zerossa top on käynnissä ja ykkösikkunassa dmesg
on käynnissä. Asteriski ( * ) dmesg
jälkeen kertoo, mikä ikkuna on näkyvissä.
hypätäksesi ikkunoiden väliin, paina Ctrl+B, ja sitten yksi seuraavista näppäimistä:
- N: Näytä seuraava ikkuna.
- p: Näytä edellinen ikkuna.
- 0-9: näytetään ikkuna, jonka numero on 0-9.
voit myös valita ikkunan luettelosta. Jos painat Ctrl+B ja sitten W, näkyviin tulee luettelo ikkunoista.
voit siirtää ruskeaa korostuspalkkia painamalla ylös-tai Alasnuolia, kotiin tai päätyyn. Näytön alaosassa näkyy esikatselukuva korostetun ikkunan sisällöstä.
paina Enter siirtyäksesi korostettuun ikkunaan tai poistuaksesi Ikkunaluettelosta ilman vaihtoa.
istuntojen irrottaminen ja liittäminen
jos painat Ctrl + B ja sitten D, istunto irtoaa. Se jatkaa käynnissä taustalla, mutta et voi nähdä tai vuorovaikutuksessa sen kanssa.
olemme aloittaneet top
sessiossa, joten meillä on käynnissä prosessi, jolla demonstroida. Sitten, painamme Ctrl + B, ja sitten D. istunto katoaa ja tulee Tausta istunto.
palaamme alkuperäiseen pääteikkunaan. tmux
viesti kertoo, että istunto on irrallinen. Se muistuttaa myös istunnolle antamastamme nimestä. Tämä on kätevä, koska se on mitä käytämme liittää Tausta istunto, ja sitten palauttaa sen interaktiivinen yksi.
erillisistunnon liittämiseen käytetään itsestään selvää attach-session
-komentoa -t
(kohdesessio) – valitsimella. Annamme myös sen istunnon nimen, jonka haluamme muistaa.
kirjoitamme seuraavat:
tmux attach-session -t geek-1
istuntomme palaa ja muuttuu jälleen näkyväksi, interaktiiviseksi istunnoksi.
kaikki pitkäkestoiset tai jatkuvat prosessit, jotka käynnistit ennen istunnon irrottamista, ovat edelleen käynnissä taustalla (elleivät ne ole päättyneet), kun liität istunnon.
screen
pystyy tähän, mutta ei yhtä intuitiivisesti.
useiden istuntojen käsittely
avataan toinen pääteikkuna ja aloitetaan uusi tmux
istunto nimeltä ”geek-2”:
tmux new -s geek-2
siinä istunnossa aloitamme dmesg
:
dmesg -w
now, we ’ ve got our our original ”geek-1” tmux
session, and a new one called ” geek-2.”
tilariviltä näkyy, että tämä istunto on nimeltään ”geek-2”, ja siinä on yksi ikkuna, joka on käynnissä dmesg
.
jos painamme Ctrl + B ja sitten D, irrotamme kyseisen istunnon.
Takaisin ”geek-1” tmux
sessiossa painamme Ctrl+B: tä ja sitten S: ää nähdäksemme listan tmux
sessioista.
selvyyden vuoksi tämä on luettelo sessioista. Aiemmin näkemämme vastaava näyttö oli luettelo ikkunoista yhdessä istunnossa.
voit liikuttaa meripihkaista korostuspalkkia painamalla ylös-ja Alasnuolia, kotiin ja päähän. Alaosa näyttää esikatselun korostetun istunnon sisällöstä.
jos painat oikeaa nuolta, korostetun istunnon ikkunat näkyvät.
paina Enter siirtyäksesi korostettuun istuntoon tai ikkunaan tai Esc poistuaksesi istuntoluettelosta muuttamatta istuntoja. Jos valitset uuden istunnon, nykyinen istuntosi irtoaa ja valitsemasi istunto liitetään.
irrotimme ”geek-2” – session ennen tätä. Voit kuitenkin tehdä tämän istunnoilla, jotka ovat edelleen kiinni alkuperäisissä pääteikkunoissaan. Kun teet niin, kaikki näytön muutokset näkyvät samanaikaisesti molemmissa tmux
istunnoissa.
screen
– komento voi tehdä tämänkin samankaltaisen komentojoukon kautta.
työskentely Ikkunaruuduilla
jos painat Ctrl+B ja sen jälkeen kaksinkertaiset lainausmerkit ( ”” ), ikkuna jaetaan vaakatasossa kahteen laitaan.
tämä vaikuttaa vain nykyiseen ikkunaan; muita istunnossa olevia ei muuteta. Olemme käyttäneet komentoa tmux ls
yläpaneelissa listataksemme tämän istunnon ikkunat. Niitä on kaksi, ja tilannerivi kertoo, että olemme ikkunassa yksi. Jos hyppäämme ikkunaan nolla painamalla Ctrl+B, ja sitten 0 (nolla), näemme sen olevan juuri niin kuin jätimme sen.
nämä ovat kaksi itsenäistä komentoriviä, eivät kahta näkymää yhdessä ikkunassa; ne ovat erillisiä ja erillisiä kuoria. Voimme näyttää tämän ajamalla eri komennon jokaisessa ruudussa.
kirjoitamme seuraavat:
uname -a
ls -hl
jos haluat siirtyä ruudusta toiseen, paina Ctrl + B ja sitten joko ylös -, Alas -, Vasen-tai oikea nuolinäppäintä.
jos painat Ctrl + B, ja sitten prosenttimerkki (%)
se jakaa nykyisen ruudun pystysuunnassa.
paina Ctrl+B ja sen jälkeen Q, jotta tmux
väläyttää lyhyesti kunkin ruudun numeroa.
näitä numeroita käytetään kehotteissa ja viesteissä tmux
. Sulje nykyinen paneeli painamalla Ctrl+B ja sitten X. Tilarivi muuttuu meripihkaan, ja sinua pyydetään vahvistamaan, että haluat sulkea kyseisen ruudun numeron. Paina Y poistaaksesi ruudun tai N jättääksesi asiat ennalleen.
jos painat Y: tä, ruutu poistetaan.
screen
komennossa on myös ruutuja, mutta ne ovat taas vähemmän intuitiivisia käyttää. Asia, joka harmittaa meitä screen
: ssä on se, että jos irrotat istunnon paneeleilla, ne katoavat, kun kiinnität sen uudelleen. Tämä vanhenee nopeasti.
a Ctrl + B lunttilappu
olemme sisällyttäneet lunttilapun eri komennoista, joita voit käyttää tmux
alla.
Session Commands
- s: List sessions.
- $: nimeä nykyinen istunto uudelleen.
- D:irrota nykyinen istunto.
- Ctrl+B, ja sitten ?: Näytä ohjesivu
tmux
.
ikkunan komennot
- C: Luo uusi ikkuna.
- ,: Nimeä nykyinen ikkuna uudelleen.
- W: listaa ikkunat.
- N: siirry seuraavaan ikkunaan.
- P: Siirry edelliseen ikkunaan.
- 0-9: Siirry annettuun ikkunanumeroon.
Pane-komennot
- %: luo vaakasuora jako.
- ”: luo pystysuora jako.
- H tai Vasen nuoli: siirry vasemmalla olevaan paneeliin.
- I tai Oikea nuoli: Siirry oikealla olevaan paneeliin.
- J tai Alanuoli: Siirry alla olevaan paneeliin.
- K tai YLÄNUOLI: siirry yllä olevaan paneeliin.
- Q: Näytä lyhyesti ruudun numerot.
- O: liikuta lasien läpi järjestyksessä. Jokainen painallus vie seuraavaan, kunnes käyt kaikki läpi.
- }: Vaihda nykyisen ruudun sijainti seuraavaan.
- {: Vaihda nykyisen ruudun sijainti edelliseen.
- X: Sulje nykyinen paneeli.
miten ne vertaavat
toiminnallisuudeltaan, screen
ja tmux
molemmat toimivat samalla tavalla ja tarjoavat samat pääpiirteet. Se, miten käytät näitä ominaisuuksia, on selvästi erilainen. tmux
tarjoaa liukkaampia, mukavampia tapoja päästä eri toimintoihin. Se ei kuitenkaan ole ainoa ero.
mahdollisuus nimetä istunnot ja ikkunat uudelleen tmux
on siisti, ja se, että se säilyttää ruudut, kun istunnon kiinnittää uudelleen, muuttaa pelin.
screen
, toisaalta, täysin menettää lasit, kun irrotat ja kiinnitä istunto uudelleen. Tämä on lähes ärsyttävää tarpeeksi, jotta voit välttää irtoaminen ensinnäkin.
tmux
on niin paljon muutakin, mukaan lukien sen uskomattoman joustavat skriptauskyvyt. Olet itsellesi velkaa sen, että tarkistat sen.
Dave McKay käytti ensimmäisen kerran tietokoneita, kun reikäpaperinauha oli muodissa, ja hän on ohjelmoinut siitä lähtien. Yli 30 vuotta IT-alalla työskenneltyään hän on nyt päätoiminen teknologiatoimittaja. Uransa aikana hän on työskennellyt freelance-ohjelmoijana, kansainvälisen ohjelmistokehitystiimin päällikkönä, IT-palveluiden projektipäällikkönä ja viimeksi tietosuojavastaavana. Dave on Linux-evankelista ja avoimen lähdekoodin puolestapuhuja.Lue Koko Bio ”