 
 Obrazovka nebo obrazovka GNU je terminálový multiplexer. Pomocí tohoto můžete spouštět libovolný počet aplikací založených na konzole, interaktivních příkazových shellů, aplikací založených na kurzech atd. Pomocí obrazovky můžete pokračovat v běhu programu poté, co omylem zavřete terminál, nebo dokonce po odhlášení a později pokračovat, ať jste kdekoli.
Praktickým příkladem je situace, kdy spouštíte úlohu na vzdáleném počítači s Linuxem, na kterém máte ssh relaci. Mnohokrát jste viděli, jak se tato ssh relace ukončuje a vy už nemůžete pracovat. Zde je nástroj obrazovky, který vám pomůže obnovit relace.
Jak funguje obrazovka?
Když se zavolá obrazovka, vytvoří se jediné okno s shellem (nebo zadaným příkazem) a pak vám ustoupí z cesty, abyste mohli program používat jako obvykle. Poté můžete kdykoli vytvořit nová (celoobrazovková) okna s dalšími programy v nich (včetně více shellů), zabíjet aktuální okno, zobrazit seznam aktivních oken, kopírovat text mezi okny, přepínat mezi okny atd. .
Obrazovka spravuje relaci skládající se z jednoho nebo více oken každý obsahuje shell nebo jiný program. Kromě toho může obrazovka rozdělit displej terminálu na více regionů , přičemž každý zobrazuje obsah okna. Všechna okna spouštějí své programy zcela nezávisle na sobě. Programy pokračují v běhu, když jejich okno aktuálně není vidět, a dokonce i když je celá relace obrazovky odpojena od uživatelského terminálu. To je praktické, aby se zabránilo nedobrovolné relaci časového limitu ssh.
Nyní se podívejme, jak používat tento nástroj v Linuxu.
1) Vyvolat nová okna
Pokud příkaz screen ve vašem systému ještě není, můžete jej nainstalovat pomocí příkazu níže.
V Debianu
# apt-get install screenNa Centos
# yum install screenObrazovku můžete spustit pouhým zadáním obrazovky do příkazového řádku. Tento příkaz obrazovky spustí nové okno na obrazovce.
# screenMůžete otevřít nové okno na obrazovce a také pojmenovat okno, například nahoře. Vytvoří relaci s identifikovanou tímto názvem. Název lze později použít k opětovnému připojení.
# screen -S aloftVšimněte si, že veškerou svou práci můžete dělat tak, jak jste v normálním prostředí CLI.
2) Seznam všech procesů obrazovky
Jelikož jsme schopni spouštět nová okna na obrazovce, je možné zobrazit aktuálně otevřené obrazovky včetně těch běžících na pozadí. Zobrazí seznam všech existujících relací obrazovky.
# screen -ls
There is a screen on:
 10437.aloft (Attached)
1 Socket in /var/run/screen/S-root.3) Hlavní příkaz obrazovky
S obrazovkou je možné pracovat pomocí některých příkazů. Níže uvádíme hlavní užitečnější příkazy.
- Ctrl-anásleduje- c:vytvořit nová okna
- Ctrl-anásleduje- w:zobrazí seznam všech aktuálně otevřených oken
- Ctrl-anásleduje- A:přejmenování aktuálních oken. Název se objeví, když vypíšete seznam oken otevřených pomocí- Ctrl-anásleduje- w.
- Ctrl-anásleduje- n:přejděte na další okna
- Ctrl-anásleduje- p:přejít na předchozí okna
- Ctrl-anásledovaný Ctrl-a:zpět na poslední použitá okna.
- Ctrl-anásledované číslem od 0 do X:přejděte do oken č. X.
- Ctrl-anásleduje- ":vyberte okna, do kterých chcete přejít.
- Ctrl-anásleduje- k:zavře aktuální okna (kill)
- Ctrl-anásleduje- S:rozdělit aktuální okna vodorovně. Pro přepínání mezi okny stiskněte- Ctrl-anásleduje- Tab.
- Ctrl-anásledovaný- |:vertikálně rozdělit aktuální okna
- Ctrl-anásleduje- d:odpojit relaci obrazovky bez jejího zastavení
- Ctrl-anásleduje- r:znovu připojte relaci oddělené obrazovky
- Ctrl-anásleduje- [:spuštění režimu kopírování
- Ctrl-anásledovaný- ]:vložte zkopírovaný text
4) Zobrazit parametr obrazovky
 Pro nápovědu si můžete vypsat všechny parametry obrazovky. Chcete-li to provést, zadejte Ctrl-a následovaný znakem ? . Zobrazí se seznam všech příkazů.
 
 5) Odpojení relace
Nejlepší výhodou příkazu screen je možnost odpojit relaci obrazovky. Můžete zahájit relaci obrazovky na jednom počítači v kanceláři, odpojit relaci od místního terminálu, jít domů, vzdáleně se přihlásit k našemu kancelářskému počítači a znovu připojit relaci obrazovky k terminálu našeho domácího počítače. Během této doby se všechny úlohy na vašem kancelářském počítači nadále vykonávaly. Tato funkce se používá, aby se zabránilo ztrátě dat, ke které náhle dojde během přerušení ssh připojení.
Abychom dobře pochopili, o čem mluvíme, uveďme si příklad. Spouštíme instalační proces.
 
 
 Nyní odpojíme obrazovku pomocí Ctrl-a následuje d . Můžeme to zkontrolovat pomocí příkazu níže.
# screen -ls
There is a screen on:
 12449.win (Detached)
1 Socket in /var/run/screen/S-root.
 Obrazovku je možné odpojit pomocí screen -d příkaz následovaný id obrazovky nebo jejím názvem. To znamená, že budete muset otevřít další okna nebo konzolu, abyste odpojili relaci, pokud na aktuální konzoli probíhá proces. Nejprve musíte vypsat aktuální připojenou obrazovku.
# screen -ls
There is a screen on:
 13686.win200 (Attached)
1 Socket in /var/run/screen/S-root.Nyní na novém terminálu zadejte příkaz níže.
# screen -d 13686nebo můžete použít jméno
# screen -d win200Budete mít výstup, jak je uvedeno níže, který označuje, že obrazovka byla odpojena.
[remote detached from 13686.win200]6) Znovu připojte relaci
Po odpojení obrazovky je možné ji znovu připojit pomocí příkazu. Normálně vaše relace obrazovky stále funguje, takže všechny vaše procesy nejsou zastaveny. Před opětovným připojením relace je třeba uvést relaci jako výše a poté vybrat relaci, kterou chcete znovu připojit.
# screen -r 13686nebo můžete použít
# screen -r win200 
 Můžete vidět, že po opětovném připojení relace okna ukazují konec procesu, který je dokončen. To znamená, že můžete pracovat na ssh a odpojit relaci, kterou znovu připojíte u vás doma, abyste mohli pokračovat ve svém pracovním procesu, aniž byste cokoli ztratili.
7) Vytvořte nový interaktivní shell
Pokud máte nějaké úkoly a nechcete o svou práci přijít, je možné vytvořit nový interaktivní shell. Některé interaktivní shelly (číslované od 0 do X) můžete snadno otevřít v jednom okně terminálu. Když zahájíte novou relaci, budete v shell 0 .
 Chcete-li to provést, musíte vytvořit nová okna ve stávajících oknech pomocí Ctrl-a následuje c . Budete mít něco jako níže.
 
 Můžete vidět obrazovka 3 v horní části snímku obrazovky, což znamená, že jsme na třetí obrazovce. V dolní části také vidíme 3
8) Přepínání mezi okny obrazovky
 Pokud jste otevřeli více než jedno okno obrazovky, můžete mezi jednotlivými okny přepínat stisknutím Control-a následuje space nebo číslo pláště. Chcete-li například přepnout na shell číslo 1, stiskněte Control-a pak 1 . Například se přesuneme na první obrazovku.
 
 Horní a spodní část snímku obrazovky ukazuje, že jsme na první obrazovce.
9) Rozdělit okna
 Chcete-li mít globální přehled o své práci, budete možná muset rozdělit okna místo toho, abyste měli více oken. Ctrl-a následuje S nebo | rozdělit obrazovku vodorovně nebo svisle. Operaci je možné opakovat bez omezení. Chcete-li přesunout další okna, použijte Ctrl-a následuje Tab .
 
 
 Když je kurzor na spodních oknech, můžete vytvořit nové okno (Ctrl-a následuje c ) nebo zavolejte existující okno (Ctrl-a následované číslem).
 
 
 Chcete-li zavřít rozdělená okna, použijte Ctrl-a následovaný X (Všimněte si, že se jedná o velké písmeno).
10) Znovu se připojte k odpojené relaci ssh
Když se poprvé přihlásíte,
- spuštěním obrazovky spustíte relaci obrazovky. Získáte další shell, spouštějte v něm příkazy.
# screen -S remote_session- Po dokončení odpojte relaci obrazovky a poté se odhlaste do ssh
[detached from 20995.remote_session]- Nejprve můžete uvést všechny relace obrazovky
# screen -ls
There are screens on:
 20995.remote_session (Detached)
 14331.daby (Attached)
 14134.mom (Detached)
3 Sockets in /var/run/screen/S-root.- Znovu se připojte k relaci obrazovky a pokračujte v práci
# screen -d -r remote_ressionPříkaz screen se nejvíce používá pro relaci ssh, protože pomáhá pokračovat v práci po odpojení bez ztráty aktuálně probíhajících procesů.
11) Posuňte se v oknech obrazovky nahoru
Protože obrazovka přebírá správu vašich vzdálených programů, nemůžete používat funkce posouvání emulátoru terminálu při spuštění obrazovky. Pro přístup k vyrovnávací paměti pro posun zpět musíte použít příkazy obrazovky.
- Použijte Ctrl-anásledujeescape
- Stiskněte UpaDownšipky neboPgUpaPgDnpro procházení předchozího výstupu.
 
 Na snímku obrazovky můžete vidět, kde je můj kurzor. Každý virtuální terminál má svůj vlastní scrollback buffer.
12) Podívejte se na vlastníka každé relace obrazovky
 screen -ls nebo screen -list příkazy vám zobrazují pouze vaše vlastní relace obrazovky, a to i pro uživatele root. Pokud vím, je to tak dobré, jak jen to může být pro obrazovku samotnou.
 Pokud chcete vidět, které relace obrazovky byly zahájeny, kteří uživatelé se podívají do adresáře jednotlivých uživatelů v /var/run/screen/ .
# ls -lR /var/run/screen
/var/run/screen:
total 0
drwx------ 2 patrick patrick 60 Jun 17 20:47 S-patrick
drwx------ 2 root root 100 Jun 17 19:39 S-root
/var/run/screen/S-patrick:
total 0
srwx------ 1 patrick patrick 0 Jun 17 20:47 21941.pat_session
/var/run/screen/S-root:
total 0
srw------- 1 root root 0 Jun 9 16:45 14134.mom
srwx------ 1 root root 0 Jun 9 01:07 14331.daby
srwx------ 1 root root 0 Jun 17 20:46 20995.remote_session13) Sdílení relace obrazovky s jedním účtem
Můžete mít dva lidi přihlášené ke stejnému účtu ze vzdálených míst. Mohou snadno sdílet relaci obrazovky (takže to, co jeden píše, vidí druhý a naopak). Chcete-li to provést:
- Vytvořte relaci pojmenované obrazovky:
# screen -d -m -S share_session- Připojte se k relaci obrazovky v okně terminálu
# screen -x share_session- Požádejte druhou osobu (přihlášenou do stejného účtu), aby se také připojila k relaci obrazovky
# screen -x share_sessionbudete mít přesně stejný výstup zobrazený na druhém místě. Vše, co se objeví na vašem terminálu, se objeví také na terminálu druhého uživatele.
14) Relace uzamčené obrazovky
 Je možné zamknout relaci obrazovky bez uzamčení vašeho běžného uživatele relace. To znamená, že můžete opustit počítač a mít jistotu, že nikdo nepřijde k neoprávněným operacím. K tomu použijte příkaz Ctrl-a  následuje x (Všimněte si, že se jedná o malé písmeno).
Screen used by root <root> on centos-01.
Password:15) Ukončete relaci obrazovky
 Až budete hotovi a budete chtít ukončit relaci obrazovky, můžete použít příkaz Ctrl-a následuje k . Budete vyzváni k potvrzení.
 
 Můžete také použít příkaz exit. Pokud chcete uložit probíhající proces, můžete před ukončením relace jednoduše odpojit relaci obrazovky.
Závěr
Obslužný program obrazovky může monitorovat aktivitu nebo nečinnost okna. To je skvělé, pokud stahujete velké soubory, kompilujete nebo čekáte na výstup. V případě potřeby můžete dokonce spustit nějaký proces z počítače pomocí příkazu obrazovky a po dokončení jej odpojit.