Jak Používat tmux na Linuxu (a Proč je To Lepší, Než Displej)
- Dave McKay
@TheGurkha
- 14. Května 2020, 8:00 EDT
Linux tmux
příkaz je terminálový multiplexer, jako screen
. Jeho zastánců je mnoho a hlasitých, a tak jsme se rozhodli tyto dva porovnat. Je tmux
opravdu lepší, nebo je to jen případ preferování toho, co víte?
tmux vs.
oba příkazy tmux
a GNU screen
Jsou terminálové multiplexery. Umožňují vám mít více oken v jednom okně terminálu a skákat mezi nimi tam a zpět. Okno lze rozdělit na tabule, z nichž každá vám dává nezávislý příkazový řádek.
můžete také odpojit relaci, a to se stává bezhlavé jednotka běží na pozadí—můžete dokonce zavřít okno terminálu, která zahájila. Až budete připraveni, můžete otevřít nové okno terminálu a znovu připojit stále běžící relaci. Můžete to také provést přes připojení SSH.
můžete odpojit relaci na jednom počítači, jít domů a přihlásit se ke vzdálenému počítači. Po opětovném připojení můžete znovu připojit relaci pozadí a znovu ji použít interaktivně.
jaký je příkaz obrazovky?
příkaz screen
je také terminálový multiplexer a je nabitý možnostmi. Pro snížení všeho, co s tím můžete dělat, podívejte se na náš podrobný článek.
tentokrát se zaměříme na tmux
. Jak jdeme dál, zmíníme, jak screen
zpracovává stejnou funkci nebo funkci.
pouze jedna věc nás naštvala na screen
. Pokryjeme to, až se k tomu dostaneme, a uvidíme, jestli tmux
jízdné je lepší.
SOUVISEJÍCÍ: Jak Používat Linux obrazovce Příkazu
Instalace tmux
Zatímco screen
je obvykle nainstalován ve výchozím nastavení na populárních Linuxových distribucí, tmux
není. K instalaci tmux
na Ubuntu, zadejte následující:
sudo apt-get install tmux
Na Manjaro můžete použít pacman
:
sudo pacman -Sy tmux
Na Fedora 31, tmux
je již nainstalován.
Počáteční tmux Relace
začít tmux
, jen zadejte jej a stiskněte klávesu Enter:
tmux
V okně terminálu se zobrazí stavový řádek, když jste v tmux
relace.
pravá strana stavového řádku zobrazuje název hostitele a čas a datum. Na levé straně jsou uvedeny následující informace týkající se relace:
- : Toto je název relace. Ve výchozím nastavení jsou očíslovány, počínaje nulou. Zabýváme se tím, jak můžete relacím dát smysluplná jména níže.
- 0: bash*: 0 označuje, že toto je první okno v této relaci. Jediný proces spuštěný v této relaci je
bash
. Pokud spustíte program, zobrazí se zde jeho název. Hvězdička ( * ) znamená, že toto je okno, na které se díváte. Při každém vytvoření nového okna v relacitmux
se do stavového řádku přidá číslo okna a název programu, který v něm běží.
příkaz screen
vám nedává stavový řádek. Musíte létat naslepo a spoléhat se na svůj důvtip, abyste věděli, co se děje, což vyžaduje trochu praxe.
na straně plus, neztratíte řadu terminálových oken nemovitostí. Samozřejmě byste normálně rozšířili okno terminálu, aby se používání terminálového multiplexeru vyplatilo. V takovém případě ztráta jednoho řádku pro stavový řádek není velký problém. Nechali jsme zde obrázky oken terminálu ve výchozí velikosti, abyste mohli vidět informace.
příkazy jsou dány tmux
pomocí stisky kláves, a existují dvě části. Nejprve stisknutím kláves Ctrl + B získáte tmux
pozornost. Poté rychle stisknutím tlačítka Další odešlete příkaz natmux
. Příkazy jsou dány stisknutím písmen, čísel, interpunkčních znamének nebo kláves se šipkami.
je To stejné v screen
, s výjimkou stisknutí kombinace kláves Ctrl+A získat jeho pozornost.
Chcete-li okno zavřít, stiskněte Ctrl + B a poté rychle stiskněte X. stavový řádek se změní na jantar. Poté budete vyzváni k potvrzení, že chcete okno zabít.
stisknutím tlačítka Y zavřete okno nebo N, pokud změníte názor. Poté nemusíte stisknout klávesu Enter; Y nebo N stačí k registraci vašeho výběru.
Pokud stisknete Y, okno se zavře. Protože toto je jediné okno v této relaci, relace je ukončena.
relace tmux
je uzavřena a jste vráceni na příkazový řádek, ze kterého jste spustili tmux
. V okně terminálu uvidíte „“.
To se může zdát jako to je evidentní, ale je to potvrzení, že jste uzavřel zasedání a ne vlevo je samostatně stojící a běží. Níže budeme diskutovat o oddělovacích relacích.
Počáteční Pojmenované tmux Relace
Pokud pravidelně začít více tmux
relace, budete rychle ocení funkčnost, že každý z nich smysluplný název. Můžete pojmenovat relace v screen
, ale nejsou zobrazeny nikde v oknech relace.
začít tmux
s název relace, použijte new
(nová relace) příkaz, a -s
(název relace) možnost. Naše zasedání se bude jmenovat „geek-1,“ tak jsme zadejte následující:
tmux new -s geek-1
Když tmux
relace zatížení, „geek-1“ se zobrazí jako první položka ve stavovém řádku, na daleko vlevo.
přidání dalších oken
Chcete-li vytvořit nové okno v aktuální relaci, stiskněte Ctrl + B a poté C. V aktuální relaci získáte prázdné okno terminálu. Takže budeme mít něco, co běží v této nové okno, začneme dmesg
příkaz -w
(následovat) možnosti:
dmesg -w
Teď máme dvě okna v relaci, jeden je běh top
, a další dmesg
. Můžeme však vidět pouze jeden po druhém (více o tom za chvíli).
podívejte se na levou stranu stavového řádku. Jsme stále v relaci“ geek-1″tmux
. V okně nula je spuštěn top a v okně jedna je spuštěn dmesg
. Hvězdička ( * ) po dmesg
nám řekne, které okno je viditelné.
Chcete-li přejít mezi okny, stiskněte Ctrl+B a poté jednu z následujících kláves:
- N: zobrazí další okno.
- P: zobrazí předchozí okno.
- 0 až 9: Zobrazí okno číslované 0 až 9.
můžete také vybrat okno ze seznamu. Pokud stisknete klávesy Ctrl+B a poté W, zobrazí se seznam oken.
Chcete-li přesunout Zvýrazňovací lištu jantaru, stiskněte šipky nahoru nebo dolů, domů nebo konec. Spodní část displeje zobrazuje náhled obsahu ve zvýrazněném okně.
stisknutím klávesy Enter se přesunete do zvýrazněného okna nebo Esc opustíte seznam oken bez přepínání.
odpojení a připojení relací
Pokud stisknete Ctrl + B a poté D, relaci odpojíte. Bude pokračovat v běhu na pozadí, ale nebudete s ním moci vidět ani s ním komunikovat.
Jsme začali top
v relaci tak máme běžící proces prokázat. Poté stiskneme Ctrl + B a poté d. relace zmizí a stane se relací na pozadí.
vracíme se do původního okna terminálu. Je zde zpráva z tmux
, která nám říká, že relace je odpojena. Také nám připomíná jméno, které jsme dali relaci. To je užitečné, protože to je to, co používáme k připojení k relaci na pozadí a poté ji obnovíme na interaktivní.
pro připojení oddělené relace použijeme samovysvětlující příkaz attach-session
s volbou -t
(Cílová relace). Poskytneme také název relace, kterou chceme připomenout.
zadáme následující:
tmux attach-session -t geek-1
naše relace se vrátí a znovu se stane viditelnou interaktivní relací.
Jakékoli dlouhodobé nebo kontinuální procesy zahájeny před odpojení relace bude stále běží na pozadí (pokud už hotová) při připojení relace.
screen
to může udělat, ale ne tak intuitivně.
Zpracování Více Relací
otevři další okno terminálu, a začít nový tmux
zasedání s názvem „geek-2“:
tmux new -s geek-2
V této relaci, začneme dmesg
:
dmesg -w
máme naše původní „geek-1“ tmux
sezení, a novou s názvem „geek-2.“
stavový řádek nám ukazuje, že tato relace se nazývá „geek-2“ a má jedno okno, které běží dmesg
.
Pokud stiskneme Ctrl+B a potom D, odpojíme tuto relaci.
Zpět na „geek-1“ tmux
relace, stiskneme Ctrl+B, a pak je vidět seznam tmux
relace.
aby bylo jasno, toto je seznam relací. Podobný displej, který jsme viděli dříve, byl seznam oken v jedné relaci.
panel zvýraznění jantaru můžete přesunout stisknutím šipek nahoru a dolů, domů a konec. Spodní část zobrazuje náhled obsahu ve zvýrazněné relaci.
Pokud stisknete šipku vpravo, zobrazí se okna pro zvýrazněnou relaci.
stisknutím klávesy Enter se přesunete do zvýrazněné relace nebo okna nebo Esc opustíte seznam relací bez změny relací. Pokud vyberete novou relaci, vaše aktuální se odpojí a ta, kterou jste vybrali, je připojena.
předtím, než jsme to udělali, jsme odpojili relaci „geek-2“. Můžete to však provést pomocí relací, které jsou stále připojeny k původním oknům terminálu. Pokud tak učiníte, všechny změny obrazovky se objeví současně v obou relacích tmux
.
příkaz screen
to může provést také pomocí podobné sady příkazů.
Práce s Okenní Tabule
Pokud stisknete Ctrl+B, a pak uvozovky („“), můžete rozdělit okno vodorovně do dvou tabulí.
to se týká pouze aktuálního okna; ostatní v relaci se nezmění. Pro seznam oken v této relaci jsme použili příkaz tmux ls
v horním podokně. Jsou dva a stavový řádek nám říká, že jsme v okně jedna. Pokud přejdeme do okna nula stisknutím kláves Ctrl + B a pak 0 (nula), vidíme, že je to tak, jak jsme to opustili.
jedná se o dva nezávislé příkazové řádky, ne dva pohledy v jednom okně; jsou odlišné a oddělené skořápky. Můžeme to ukázat spuštěním jiného příkazu v každém podokně.
zadejte následující:
uname -a
ls -hl
přesunout z jednoho panelu do druhého, stiskněte Ctrl+B, a pak buď Nahoru, Dolů, Vlevo nebo Šipka Vpravo.
Pokud stisknete Ctrl + B a potom znaménko procenta (%)
rozdělí aktuální panel svisle.
Stiskněte Ctrl+B, a pak Q tmux
krátce blikat číslo každého panelu.
tato čísla se používají ve výzvách a zprávách z tmux
. Stisknutím kláves Ctrl+B a potom X zavřete aktuální podokno. Stavový řádek se změní na jantar a budete vyzváni k potvrzení, že chcete toto číslo panelu zavřít. Stisknutím tlačítka Y odstraníte panel nebo N necháte věci tak, jak jsou.
Pokud stisknete Y, panel se odstraní.
příkaz screen
má také tabule, ale opět jsou méně intuitivní. Věc, která nás obtěžuje o screen
je, že pokud odpojíte relaci s tabulkami, zmizí, když tuto relaci znovu připojíte. To velmi rychle zestárne.
Ctrl+B Cheat Sheet
Jsme součástí tahák různých příkazů, můžete použít v tmux
níže.
příkazy relace
- s: seznam relací.
- $: přejmenovat aktuální relaci.
- D: Odpojte aktuální relaci.
- Ctrl+B, a pak ?: Zobrazit stránku nápovědy v
tmux
.
příkazy okna
- C: vytvoření nového okna.
- ,: přejmenujte aktuální okno.
- W: seznam oken.
- N: přesun do dalšího okna.
- P: přesun do předchozího okna.
- 0 až 9: přesuňte se na zadané číslo okna.
příkazy podokna
- %: vytvoření horizontálního rozdělení.
- „: vytvoření vertikálního rozdělení.
- H nebo šipka vlevo: přesuňte se do podokna vlevo.
- I nebo šipka vpravo: Přesuňte se do podokna vpravo.
- J nebo šipka dolů: přesuňte se do podokna níže.
- k nebo šipka nahoru: přesuňte se na panel výše.
- Q: krátce zobrazit čísla podokna.
- O: pohybujte tabulkami v pořadí. Každé stisknutí vás přenese na další, dokud se přes všechny z nich.
- }: zaměňte pozici aktuálního podokna za další.
- {: zaměňte pozici aktuálního podokna za předchozí.
- X: zavřete aktuální panel.
Jak Porovnat
z hlediska funkčnosti, screen
tmux
jak provést podobně a nabízejí stejné hlavní rysy. Je to způsob, jakým přistupujete k těmto funkcím, které se výrazně liší. tmux
nabízí úhlednější, pohodlnější způsoby, jak se dostat k různým funkcím. To však není jediný rozdíl.
schopnost přejmenování relací a windows v tmux
je čistý, a skutečnost, že zachovává tabulí, když se připojíte k relaci je hra měnič.
screen
na druhé straně při odpojení a opětovném připojení relace zcela ztratí tabule. To je téměř dost nepříjemné, abyste se vyhnuli odpojení.
je toho mnohem víc tmux
, včetně jeho neuvěřitelně flexibilních skriptovacích schopností. Dlužíš to sám sobě, abys to zkontroloval.
Dave McKay poprvé použity počítače, když děrované papírové pásky bylo v módě, a on byl programovací od té doby. Po více než 30 letech v IT průmyslu je nyní technologickým novinářem na plný úvazek. Během své kariéry pracoval jako programátor na volné noze, manažer mezinárodního týmu pro vývoj softwaru, projektový manažer IT služeb a naposledy jako Pověřenec pro ochranu osobních údajů. Dave je Evangelista Linuxu a obhájce open source.Číst celé Bio “