příkaz obrazovky je velmi běžný příkaz používaný v Linuxu ke spuštění a uspořádání více terminálových shellů v jednom jediném shellu.
Obrazovka se většinou používá ke dvěma účelům.
Lze jej použít buď k uspořádání více skořápek a snadno mezi nimi procházet.
Lze jej také použít pro dlouho běžící příkazy na vzdálených serverech .
Ve skutečnosti se obrazovka spustí, aby bylo zajištěno, že v případě náhlého výpadku sítě nepřijdete o žádnou vzdálenou práci.
V tomto tutoriálu budeme mít úplný přehled o tom, co je příkaz screen v Linuxu a jak jej lze efektivně používat.
Jste připraveni?
Předpoklady
Abyste mohli instalovat nové balíčky, musíte být uživatelem sudo .
Pokud potřebujete přidat uživatele do sudoers na Debianu, existuje pro to návod.
Existuje také jeden pro distribuce založené na Red Hatu.
Až budete připraveni, zadejte tento příkaz, abyste se ujistili, že máte práva sudo.
$ sudo -l
User user may run the following commands on localhost:
(ALL) ALL
Instalační obrazovka v systému Linux
Chcete-li nainstalovat obrazovku, budete muset spustit jeden z následujících příkazů.
V distribucích založených na Debianu , můžete spustit
$ sudo apt-get install screen
Pro distribuce založené na Red Hatu , budete muset spustit
$ sudo yum install -y screen
Až budete hotovi, můžete spustit tento příkaz a zkontrolovat aktuální verzi obrazovky.
$ screen -v
Screen version 4.06.02 (GNU) 23-Oct-17
Interakce s obrazovkou v systému Linux
Jak bylo popsáno dříve, obrazovka se používá ke spuštění interaktivního shellu, kde můžete přeskupit více shellů.
Chcete-li spustit první obrazovku, jednoduše zadejte následující příkaz.
Jak můžete vidět, neexistují žádné rozdíly s vaším předchozím shellem, kromě skutečnosti, že záhlaví píše
screen 0: [email protected]:~
Odtud to znamená, že interpret bash je spuštěn v jiném interpretu bash pomocí nástroje obrazovky.
Chcete-li spustit příkaz, jednoduše zadejte příkaz jako normálně.
Nápověda k obrazovce
Při interakci s příkazem screen budete muset spouštět zkratky na klávesnici pro provádění akcí v rámci relace obrazovky.
Ve výchozím nastavení Ctrl + A úhozy jsou navrženy tak, aby interagovaly s obrazovkou.
Zadejte například „Ctrl + A“ a poté „?“ abyste získali nápovědu k obrazovce.
Jak vidíte, máte mnoho různých možností interakce s obrazovkou.
Nejoblíbenější z nich jsou pravděpodobně následující :
- Ctrl + A pak „d “ :režim odpojení . Tuto možnost můžete použít k odpojení (což znamená návrat k původnímu prostředí) a nechat obrazovku běžet na pozadí. To je zvláště užitečné, když na svém hostiteli spouštíte dlouhé úkoly.
- Ctrl + A pak „x “ :uzamykací obrazovka . To se používá k ochraně vaší relace obrazovky před použitím jiným uživatelem. V důsledku toho je pro vaši relaci nastaveno heslo.
- Ctrl + A pak „c “ :příkaz obrazovky . Jeden z nejpoužívanějších příkazů, tyto vazby se používají k vytvoření nového okna v instanci obrazovky.
- Ctrl + A pak „| ” :vertikální rozdělení . Ve výchozím nastavení tento příkaz rozdělí vaše aktuální okno na dvě různé oblasti, se kterými můžete pracovat.
- Ctrl + A pak „S ” :horizontální rozdělení.
- Ctrl + A pak „n ” :používá se k navigaci mezi různými relacemi okna od toho s nejnižším indexem až po to s vyšším indexem.
- Ctrl + A poté „Tab ” :používá se k přesunutí vstupního kurzoru do jedné z různých oblastí na obrazovce.
Ve většině případů se jedná o příkazy, které budete používat s obrazovkou.
Rozdělení oblastí pomocí příkazu screen
Jako příklad vytvoříme následující rozložení pomocí příkazu screen na Linuxu.
Jak vidíte, rozdělíme terminál vertikálně i horizontálně.
Jedno okno bude použito pro provedení příkazu (jako je například dlouho běžící příkaz).
Druhé okno bude použito ke sledování výkonu systému pomocí příkazu top.
A konečně, další okno lze použít k úpravě souboru pomocí nano editoru.
Vytvoření okna obrazovky
Nejprve vytvořte relaci obrazovky provedením následujícího příkazu.
$ screen -S user-screen
Volba -S vytvoří pojmenovanou relaci pro prostředí vaší obrazovky.
Když na stejném systému pracuje více administrátorů, může být dobré mít pojmenované relace, aby se vaše relace odlišily od ostatních.
Dále, protože budete manipulovat se třemi relacemi shellu, budete potřebovat dvě další obrazovky.
Proveďte „vytvořit ” dvakrát („Ctrl + A“ a poté „c“ ). Měli byste skončit s následující obrazovkou.
Všimněte si, že záhlaví nebo shell vašeho terminálu zobrazuje „obrazovka 2“, protože pro vaši relaci jsou aktuálně aktivní tři obrazovky.
Vodorovné a svislé rozdělení oken na obrazovce
Dalším krokem bude vytvoření různých oblastí ve vašem aktuálním okně.
Chcete-li toho dosáhnout, nejprve rozdělte svou aktuální oblast svisle stisknutím Ctrl + A a poté "|"
Měli byste skončit s následujícím výstupem.
Dále rozdělte rozvržení vodorovně stisknutím „Ctrl + A“ a poté „S“.
Tohle byste měli dostat.
Přejděte do druhé oblasti stisknutím „Ctrl + A“ a poté „Tab“. Ve výchozím nastavení by měla být vaše oblast prázdná, takže můžete stisknout „Ctrl + A“ a poté „n“ a přejít na relaci obrazovky 0.
Odtud spusťte příkaz, který chcete spustit.
Opakujte předchozí kroky, abyste mohli provádět příkazy v ostatních oblastech.
Pamatujte, že když poprvé vstoupíte do rozdělené oblasti, musíte se pohybovat mezi okny obrazovky.
Úžasný! Vytvořili jste kompletní relaci vlastní obrazovky.
Odpojení od relace obrazovky
Chcete-li se odpojit od relace obrazovky , jednoduše stiskněte následující klávesy.
$ Ctrl + A then d
Vaše relace obrazovky stále probíhá na pozadí.
Toto je jeden z hlavních aspektů příkazu obrazovky.
Lze jej použít k vytvoření na vzdáleném hostiteli přes SSH, provedení některých akcí a ukončení, abyste se k nim mohli vrátit později.
Tímto způsobem nemusíte manipulovat s pozadím a popředím, které byste mohli ztratit uzavřením svého aktuálního terminálu.
Chcete-li ověřit, že relace obrazovky stále běží, spusťte následující příkaz
$ pstree | grep -A 2 -E "screen-"
Opětovné připojení k relaci obrazovky
Nejprve můžete spustit seznam oken obrazovky spuštěním následujícího příkazu.
$ screen -ls
Pokud jste svou relaci obrazovky pojmenovali, můžete jednoduše spustit následující příkaz
$ screen -r <session_name>
Ve výše uvedeném příkladu bych musel tento příkaz spustit, abych se mohl vrátit ke své relaci.
$ screen -r user-screen
Všimněte si, že se můžete také vrátit do své relace pomocí ID obrazovky zcela vlevo od příkazu ls.
$ screen -r 3600
Bohužel přijdete o všechny své vizuální změny a budete muset svá okna znovu rozdělit.
S dostatkem praxe se však o klávesových zkratkách můžete naučit velmi snadno.
Zamykání relace obrazovky
Někdy můžete chtít ostatním uživatelům zabránit v interakci s vaší relací obrazovky.
Chcete-li zamknout obrazovku, stiskněte Ctrl + A a poté x.
Chcete-li jej odemknout, musíte zadat heslo uživatele, který vlastní relaci obrazovky.
Závěr
V dnešním tutoriálu jste se naučili, jak můžete snadno manipulovat s příkazem screen v Linuxu, abyste vytvořili vlastní prostředí shellu v rámci společného shellu.
Zjistili jste, že jej lze použít na vzdálených serverech, abyste se ujistili, že můžete ukončit relaci a přesto uložit svou práci (pokud máte například dlouho spuštěné příkazy v popředí).
Pokud vás zajímá správa systému Linux, na webu máme kompletní sekci, která se jí věnuje.