Screens
Petr Šnajdr snajdr@cpress.cz
Na další stranuNávrat na titulní stranuVyhledávání informacíNa další stranu

Jistě se vám již stalo, že uprostřed práce zazvonil telefon, přišel váš kolega nebo se stala jakákoli jiná neodkladná záležitost. Pokud jste byli právě někde uprostřed práce je několik způsobů jak ji přerušit. Od těch zcela až po ty méně destruktivní. Jednou z možností je uložit výsledky, ukončit program a dobře si pamatovat kde jste skončili. Samozřejmě pokud to ovšem program umožní. Do stejné situace se dostávají i ti kdo chtějí pouze práci přerušit za účelem přechodu k jinému počítači. To vše je jen k zlosti a zvláště pokud uvážíme, že programy například běží na vzdáleném počítači. Stačilo by pouhé "přepnutí" na jiný terminál a bylo by vyhráno.

Takové "přepnutí" by šlo velice výhodně využít při správě serveru, kontrole výsledků programů, které běží delší dobu než může správce z časových důvodů čekat a rád by kontroloval pouze průběžně výsledky na obrazovce například ze služební cesty. Je pravdou, že mnoho programů umožňuje přesměrovat výstup do souboru a stejně tak číst vstup ze souboru. Bohužel to neumí všechny programy. Jaké je řešení ? Kupodivu jednoduché a dokonce i standardně přítomné v mnoha distribucích Unixu. Jeho jméno je "screen".

Screen je malý program, který umí přesně výše popisovaná "kouzla". V principu je to jednoduché. Pomocí screen vytvoříte několik virtuálních terminálů. Pokud váš terminál neumí podobné triky jako Linuxový s přepínáním mezi virtuálními terminály, je právě screen programem, který tento nedostatek odstraní. Zdá se, že to není nic světoborného, ale screen dovádí práci s více virtuálními terminály k dokonalosti. Proberme možnosti jeho použití při správě serveru v několika praktických bodech:

Jednoduché, ale velice zajímavě využitelné. Je totiž naprosto jedno odkud se připojíte ( musíte mít samozřejmě možnost se přihlásit do systému odjinud ) a jak dlouhý časový interval mezi odpojením a novým připojením proběhne. Představme si situaci, že pracujete a když jste právě v půli zavoní telefon a vy musíte domů. Odpojíte se od terminálu, odhlásíte se od systému a vydáte na cestu. Program v němž jste pracovali ovšem zůstává stále v paměti počítače. Pokud pracoval a produkoval nějaký výstup, program screen si tento výstup ukládá do vyrovnávací paměti. Ani v nejmenším netuší, že ve skutečnosti žádný terminál neexistuje. Vy zatím vyřídíte neodkladné záležitosti, ale jelikož je po pracovní době a vaše zaměstnání daleko usednete k počítači a pouze se připojíte přes modem. Přihlásíte se do systému, připojíte si terminál, který jste tak narychlo opustili a ejhle - program na vás čeká přesně v tom bodě v kterém jste ho opustili nebo pokud vykonával nějakou činnost samostatně v bodě kam až se dopracoval. Vše se pouze jaksi "přepnulo" a vy se můžete dát klidně do práce bez přemýšlení " kde jsem to jen skončil". Ještě lepším využitím je možnost občasné kontroly např. ze služební cesty po okolních podnikových pobočkách. Stačí pouze připojit a odpojit terminál a vidíte kam se až onen důležitý program dostal.Nemusíte luštit sáhodlouhé logy, pokoušet se o předem prohrané pokusy s běžícím programem na vašem laptopu nebo používat jiné, v každém případě méně účinné metody.

Screen je možno použít pod snad téměř všemi Unixovými OS. Je již standardní součástí archivů GNU a tak je nejenom zdarma, ale včetně zdrojových kódů. Hledat ho tedy můžete přímo na http://www.gnu.org nebo kterémkoliv zrcadle u nás.


Na další stranuNávrat na titulní stranuVyhledávání informacíNa další stranu
Copyright Computer Press s.r.o. 1998
reprinted and translated with
the author's permission
Connect!
Srpen 1997 str.48