GNU Screen je terminálový multiplexer, který umožňuje mít více terminálových relací uvnitř hlavního terminálu.
Proč tedy potřebujeme GNU Screen? – Někdy můžeme čelit některým problémům, jako je automatické ukončení vzdálených připojení ssh kvůli problémům se sítí. Může to být bolestivé, pokud úloha běží v produkčním prostředí. Pro řešení tohoto druhu problémů se tedy doporučuje samostatná relace obrazovky, která nekončí koncem relací terminálu.
V systémech Linux a Unix máme nástroj terminálového multiplexeru zvaný obrazovka, který se používá ke správě terminálových relací. V tomto článku se budeme zabývat tím, jak používat obrazovku GNU v Linuxu ke správě terminálových relací při práci na důležitém úkolu v produkčních systémech.
Instalace příkazu obrazovky GNU
Instalace balíčku obrazovky v systému Linux je jednoduchá a snadná. Některé z moderních operačních systémů jsou dodávány s předinstalovanými aplikacemi na obrazovce. Spuštěním následujícího příkazu ověřte dostupnost obrazovky.
$ screen --version
Výstup:
Screen version 4.08.00 (GNU) 05-Feb-20
Pokud získáte jiný výstup, nemáte v systému k dispozici nástroj obrazovky. Spuštěním následujícího příkazu nainstalujte balíček obrazovky.
Ubuntu/Debian
$ sudo apt-get install screen -y
RHEL/CentOS
$ sudo yum installs screen -y // RHEL 7 $ sudo dnf install screen -y // RHEL 8
Úvodní obrazovka v Linuxu
Jakmile je instalace dokončena, jednoduše spusťte příkazovou obrazovku pro zahájení relací obrazovky.
$ screen
Výstup:
Vytvořit relaci obrazovky s názvem
Pomocí příkazu screen následovaného volbou -S můžete vytvořit pojmenovanou relaci obrazovky. V tomto příkladu jsem jako název relace obrazovky použil screen-linuxtechi. Můžete si vybrat své preferované jméno.
$ screen -S screen-linuxtechi
Výpis parametrů obrazovky
Obrazovka poskytuje některé užitečné parametry a příkazy. Chcete-li zobrazit dostupné parametry, stiskněte ctrl-a a poté ? .
Poznámka: obrazovka používá jako předponu klávesu ctrl+a. Chcete-li například zobrazit seznam parametrů obrazovky, musíte současně stisknout ctrl a a, uvolnit klávesu a stisknout klávesu ? . Stejným způsobem můžete použít další parametry.
Výstup:
Seznam relací obrazovky
Pomocí následujícího příkazu zobrazíte seznam dostupných relací obrazovky.
$ screen -ls
Výstup
Odpojit relaci obrazovky Linux
Jednou z užitečných funkcí poskytovaných aplikací obrazovky je, že můžete relaci obrazovky odpojit a v případě potřeby ji znovu připojit. Chcete-li odpojit aktuální relaci obrazovky, stiskněte ctrl-a a následně d.
Znovu připojte relaci obrazovky Linux
Odpojenou relaci obrazovky lze znovu připojit pomocí příkazu screen s volbou -r následovanou názvem relace obrazovky. Vypište relaci oddělené obrazovky pomocí příkazu screen -ls , vyhledejte název relace obrazovky a připojte ji. V tomto příkladu jsem připojil relaci 25148.pts-0.LinuxTechi
$ screen -ls $ screen -r 25148.pts-0.LinuxTechi
Relace obrazovky lze znovu připojit pouze pomocí ID obrazovky nebo názvu obrazovky. Ve výše uvedeném příkladu je 25148 ID a pts-0.LinuxTechi je název obrazovky 25148.pts-0.LinuxTechi.
$ screen -r 25148 $ screen -r pts-0.LinuxTechi
Okna s rozdělenou obrazovkou systému Linux
Někdy může být nutné rozdělit okna na více obrazovek, abyste mohli provést několik úkolů. Dělení lze provádět vodorovně i svisle.
Vertikální
Chcete-li okna obrazovky Linuxu svisle rozdělit, klikněte na ctrl-a a poté | . Opakováním stejného procesu můžete rozdělit n čísel obrazovkových oken.
Horizontální
Horizontální rozdělení oken obrazovky lze provést kliknutím na ctrl-a následované S (velká písmena). Opakujte stejný postup pro vytvoření n počtu vertikálních oken.
Vytvořit nový terminál v rozdělené relaci
Ať už rozdělíte obrazovku vodorovně nebo svisle, nevytvoří se žádný nový terminál. Chcete-li vytvořit nový terminál na obrazovce, musíte se přepnout na nová okna rozdělené obrazovky pomocí ctrl-a a následně Tab. Nyní stisknutím ctrl-a a c (malá písmena) vytvořte terminál.
Okna s nerozdělenou obrazovkou
Chcete-li oddělit okna rozdělené obrazovky, můžete jednoduše použít ctrl-a s klávesou Q
Relace na obrazovce uzamčení
Pro ochranu před neoprávněným přístupem lze relace obrazovky zamknout bez uzamčení běžných uživatelů relací. Chcete-li zamknout terminál obrazovky, použijte příkaz ctrl-a následovaný klávesou x (malá písmena) . Budete vyzváni k nastavení hesla, použití ochranného hesla a to je vše.
Najděte vlastníky relací obrazovky
Obrazovka ukládá informace o relacích otevřené obrazovky v adresáři /var/run/screen. Vypište obsah uložený v adresáři a najděte vlastníka obrazovky.
$ ls -ltr /var/run/screen
Výstup:
Ukončit relace obrazovky
Jakmile je úkol dokončen, můžete zrušit relace obrazovky pomocí příkazu ctrl-a následovaného k . Budete vyzváni k potvrzení uživatele, zadejte y pro ukončení relace.
Přístup na stránku nápovědy obrazovky
Spuštěním následujícího příkazu otevřete stránku nápovědy obrazovky
$ screen --help
Spuštěním následujícího příkazu otevřete stránku uživatelské příručky obrazovky.
$ man screen
Některé užitečné parametry příkazu obrazovky
- Ctrl-a +c => Vytvořit nové okno obrazovky s terminálem
- Ctrl-a + ? => Seznam parametrů obrazovky
- Ctrl-a + A => Přejmenovat okno aktuální obrazovky
- Ctrl-a + tab => Přepnutí do dalšího okna
- Ctrl-a + S => Rozdělit okno vodorovně
- Ctrl-a + | => Rozdělte okno svisle
- Ctrl-a + d => Odpojit obrazovku
- Ctrl | d => Ukončit obrazovku
Závěr
V tomto článku jsme se naučili různé příkazy obrazovky gnu pro správu relací terminálu Linuxu. Pokud máte nějaké návrhy a zpětnou vazbu, zanechte prosím níže komentář.
Doporučená četba :Zjistěte, jak zaznamenat a přehrát aktivitu terminálových relací systému Linux