Jak Používat tmux na Linuxu (a Proč je To Lepší, Než Displej)

  • Dave McKay

    @TheGurkha

  • 14. Května 2020, v 8:00 EDT
fatmawati achmad zaenuri/

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

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.

reklama

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.

reklama

pouze jedna věc nás naštvala na screen. Pokryjeme to, až se k tomu dostaneme, a uvidíme, jestli tmux bude 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.

spuštění relace tmux

Chcete-li spustit tmux, zadejte ji a stiskněte klávesu Enter:

tmux

okno terminálu zobrazí stavový řádek, když jste v relaci tmux.

pravá strana stavového řádku zobrazuje název hostitele a čas a datum. Na levé straně jsou zobrazeny 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 relaci tmux se do stavového řádku přidá jeho číslo okna a název programu, který je v něm spuštěn.

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.

reklama

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í stisknutí kláves a jsou zde dvě části. Nejprve stisknutím kláves Ctrl + B získáte pozornost tmux. 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, kromě toho, že stisknete Ctrl+A, abyste získali 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.

reklama

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 tlačítko 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.

Výchozí Pojmenované tmux Relace

Pokud pravidelně začít více tmux relace, budete rychle ocení funkčnost, že každý z nich smysluplný název. Relace můžete pojmenovat také v screen, ale nezobrazují se nikde v oknech relací.

reklama

Chcete-li spustit tmux s názvem relace, použijte příkaz new (Nová relace) a volbu -s (název relace). 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í Více Oken

Chcete-li vytvořit nové okno v aktuální relaci, stiskněte Ctrl+B, a pak C. Budete mít prázdné okno terminálu v aktuální relaci. Takže budeme mít něco, co běží v této nové okno, začneme dmesg příkaz -w (následovat) možnost:

dmesg -w
Reklama

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 ( * ) za dmesg nám říká, 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.

reklama

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 přejdete 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.

v relaci jsme zahájili top, takže máme spuštěný proces, se kterým můžeme demonstrovat. Poté stiskneme Ctrl + B a poté d. relace zmizí a stane se relací na pozadí.

reklama

vracíme se do původního okna terminálu. Je tu 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áváme následující:

tmux attach-session -t geek-1

naše relace se vrací a stává se viditelnou, interaktivní relace znovu.

Nějaké 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 dokáže, ale ne tak intuitivně.

Zpracování Více Relací

Pojďme otevřít 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
Reklama

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.

Reklama

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.

jantarovou lištu 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.

reklama

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 stiskněte Ctrl+B, a pak uvozovky („“), můžete rozdělit okno vodorovně do dvou tabulí.

reklama

to se týká pouze aktuálního okna; ostatní v relaci se nezmění. Použili jsme příkaz tmux ls v horním podokně k seznamu oken v této relaci. 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, nikoli dva pohledy v jednom okně; jsou to odlišné a oddělené granáty. 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.

Reklama

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 tlačítko Y, panel se odstraní.

příkaz screen má také tabule, ale opět jsou méně intuitivní. Věc, která nás obtěžuje screen, je, že pokud odpojíte relaci s tabulkami, zmizí, když tuto relaci znovu připojíte. To velmi rychle zestárne.

a Ctrl + B Cheat Sheet

Zahrnuli jsme cheat sheet různých příkazů, které můžete použít v tmux níže.

příkazy relace

  • S: seznam relací.
  • $: přejmenovat aktuální relaci.
  • D: odpojit 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řesuňte se do dalšího okna.
  • P: přesun do předchozího okna.
  • 0 až 9: přesuňte se na zadané číslo okna.

podokenní příkazy

  • %: vytvořte horizontální 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: stručně 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 panelu za další.
  • {: zaměňte pozici aktuálního panelu za předchozí.
  • X: zavřete aktuální panel.

Jak Porovnat

z hlediska funkčnosti, screen a 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.

Reklama

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 druhou stranu, při odpojení a opětovném připojení relace zcela ztratí tabule. To je téměř dost nepříjemné, abyste se vyhnuli odpojení.

tmux je toho mnohem víc, včetně jeho neuvěřitelně flexibilních skriptovacích schopností. Dlužíš to sám sobě, abys to zkontroloval.

Dave McKay
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.Přečtěte Si Celý Životopis „