Už jste se někdy setkali se situací, kdy na vzdáleném počítači provádíte dlouhotrvající úlohu a najednou se vám přeruší připojení, ukončí se relace SSH a vaše práce se ztratí. No, každému z nás se to někdy stalo, ne? Naštěstí existuje nástroj nazvaný screen
což nám umožňuje pokračovat v relacích.
Úvod #
Screen nebo GNU Screen je terminálový multiplexer. Jinými slovy to znamená, že můžete spustit relaci obrazovky a poté v této relaci otevřít libovolný počet oken (virtuálních terminálů). Procesy běžící na obrazovce budou pokračovat, když jejich okno nebude viditelné, i když budete odpojeni.
Install Linux GNU Screen #
Balíček obrazovky je dnes předinstalován na většině linuxových distribucí. Můžete zkontrolovat, zda je nainstalován ve vašem systému, zadáním:
screen --version
Screen version 4.06.02 (GNU) 23-Oct-17
Pokud v systému nemáte nainstalovanou obrazovku, můžete ji snadno nainstalovat pomocí správce balíčků vašeho distribuce.
Instalovat obrazovku Linux na Ubuntu a Debian #
sudo apt update
sudo apt install screen
Instalovat obrazovku Linux na CentOS a Fedoru #
sudo yum install screen
Startovací obrazovka Linuxu #
Chcete-li zahájit relaci obrazovky, jednoduše zadejte screen
ve vaší konzoli:
screen
Tím se otevře obrazovka, vytvoří se nové okno a v tomto okně se spustí shell.
Nyní, když jste otevřeli relaci obrazovky, můžete získat seznam příkazů zadáním:
Ctrl+a
?
Zahájení pojmenované relace #
Pojmenované relace jsou užitečné, když spouštíte více obrazovkových relací. Chcete-li vytvořit pojmenovanou relaci, spusťte příkaz screen s následujícími argumenty:
screen -S session_name
Vždy je dobré zvolit popisný název relace.
Práce se systémem Linux Screen Windows #
Když spustíte novou relaci obrazovky, vytvoří se jediné okno s shellem.
V relaci obrazovky můžete mít více oken.
Chcete-li vytvořit nové okno s shell, zadejte Ctrl+a
c
, první dostupné číslo z rozsahu 0...9
bude mu přiřazen.
Níže jsou uvedeny některé nejběžnější příkazy pro správu systému Linux Screen Windows:
Ctrl+a
c
Vytvořte nové okno (s shellem).Ctrl+a
"
Vypsat všechna okna.Ctrl+a
0
Přepněte do okna 0 (podle čísla).Ctrl+a
A
Přejmenujte aktuální okno.Ctrl+a
S
Rozdělit aktuální oblast vodorovně na dvě oblasti.Ctrl+a
|
Rozdělte aktuální oblast vertikálně na dvě oblasti.Ctrl+a
tab
Přepněte vstupní fokus na další oblast.Ctrl+a
Ctrl+a
Přepínání mezi aktuálním a předchozím oknemCtrl+a
Q
Zavřete všechny oblasti kromě aktuální.Ctrl+a
X
Zavřete aktuální oblast.
Odpojit od linuxové obrazovky #
Z relace obrazovky se můžete kdykoli odpojit zadáním:
Ctrl+a
d
Program spuštěný v relaci obrazovky bude pokračovat i po odpojení od relace.
Opětovné připojení k obrazovce systému Linux #
Chcete-li obnovit relaci obrazovky, použijte následující příkaz:
screen -r
V případě, že na vašem počítači běží více relací obrazovky, budete muset za r
připojit ID relace obrazovky přepínač.
Chcete-li najít ID relace, uveďte aktuální spuštěné relace obrazovky pomocí:
screen -ls
There are screens on:
10835.pts-0.linuxize-desktop (Detached)
10366.pts-0.linuxize-desktop (Detached)
2 Sockets in /run/screens/S-linuxize.
Pokud chcete obnovit obrazovku 10835.pts-0, zadejte následující příkaz:
screen -r 10835
Přizpůsobit obrazovku Linuxu #
Když screen
je spuštěn, načte své konfigurační parametry z /etc/screenrc
a ~/.screenrc
pokud je soubor přítomen. Výchozí nastavení obrazovky můžeme upravit podle našich preferencí pomocí .screenrc
soubor.
Zde je ukázka ~/.screenrc
konfigurace s přizpůsobeným stavovým řádkem a několika dalšími možnostmi:
# Turn off the welcome message
startup_message off
# Disable visual bell
vbell off
# Set scrollback buffer to 10000
defscrollback 10000
# Customize the status line
hardstatus alwayslastline
hardstatus string '%{= kG}[ %{G}%H %{g}][%= %{= kw}%?%-Lw%?%{r}(%{W}%n*%f%t%?(%u)%?%{r})%{w}%?%+Lw%?%?%= %{g}][%{B} %m-%d %{W}%c %{g}]'
Základní použití obrazovky Linuxu #
Níže jsou uvedeny nejzákladnější kroky, jak začít s obrazovkou:
- Na příkazovém řádku zadejte
screen
. - Spusťte požadovaný program.
- Použijte posloupnost kláves
Ctrl-a
+Ctrl-d
odpojit se od relace obrazovky. - Znovu se připojte k relaci obrazovky zadáním
screen -r
.
Závěr č.
V tomto tutoriálu jste se naučili používat Gnu Screen. Nyní můžete začít používat obslužný program Screen a vytvořit více oken obrazovky z jedné relace, procházet mezi okny, odpojit a obnovit relace obrazovky a přizpůsobit si terminál obrazovky pomocí .screenrc
soubor.
Na stránce Uživatelské příručky obrazovky se můžete o Gnu Screen dozvědět mnohem více.
Pokud máte nějaké dotazy nebo zpětnou vazbu, neváhejte zanechat komentář.