Linuxový terminál, něco co se snad nemusí nikdy a za žádných okolností představovat. Něco co zná snad každý, kdo někdy v Linuxu něco dělal.
Linuxový terminál, něco co se snad nemusí nikdy a za žádných okolností představovat. Něco co zná snad každý, kdo někdy v Linuxu něco dělal.
Terminál představuje snadný způsob ovládání počítače a nebo velmi pohodlný způsob připojení se ke vzdálenému stroji. A přesto se najde velké množství uživatelů, kteří jej denně používají a přesto o příkazu screen nikdy neslyšeli.
I já sám jsem ještě do nedávna příkaz screen neznal a v současné chvíli vůbec netuším, jak jsem bez něho mohl žít. Každý den se totiž přes SSH někam připojuji a spouštím náročné scripty kvůli kterým jsem nechával PC zapnutý a měl za to, že to jinak ani nejde. Až jednoho dne jsem začal hledat, zda by to nějak nešlo obejít a v tu chvíli screen vnesl trochu světla do jinak temného terminálu.
Screen je dostupný v repositářích a lze jej nainstalovat například v Debianu jednoduchým apt-get install screen. V ostatních distribucích je instalace velmi obdobná a celá instalace má sotva pár stovek kilobajtů. U popisu balíčku se dočteme:
„GNU Screen is a terminal multiplexer that runs several separate „screens“ on a single physical character-based terminal. Each virtual terminal emulates a DEC VT100 plus several ANSI X3.64 and ISO 2022 functions. Screen sessions can be detached and resumed later on a different terminal.
Screen also supports a whole slew of other features, including configurable input and output translation, serial port support, configurable logging, and multi-user support.“
V překladu to znamená, že screen dokáže vytvořit několik virtuálních obrazovek v jednom fyzickém terminálu a lze mezi jednotlivými obrazovkami přepínat. Asi to znáte, připojíte se na vzdálený server, pustíte nějaký script, který běží déle, než jste čekali. Najednou je večer, z práce se chce domu a script ne a ne doběhnout a je vám líto strávený čas zahodit. Pojďme se tedy podívat na to, jak screen použít tak, aby daný čas už nikdy nepřišel v niveč.
Vše začíná jednoduchým příkazem screen. Objeví se hlášení, které jednoduše odentrujete a vše se tváří, že se nic neděje. Nicméně v tento okamžik už pracujete ve screenu. Ty pozornější si všimnou, že nahoře v terminálu zůstává pořád to samé místo aktuální operace. Když jste ve screenu, pracujete s terminálem stejně, jako s klasickou příkazovou řádkou. Jen s tím drobným rozdílem, že v případě kdy zmáčknete kombinaci CTRL+A a poté klávesu D, dojde k odpojení. Najednou jste jen v terminálu a zcela mimo screen.
Ovládání je prosté, vždy když jste uvnitř screenu, stisknete kombinaci CTRL+A, která je následována nějakou další klávesou akorád bez CTRL. V případě D je to odpojení (v angličtině detach). Opětovné připojení z terminálu probíhá příkazem screen -r. V případě odpojení pouze jedno obrazovky se ihned připojíte zpět. V opačném případě, pokud máme více odpojených obrazovek zobrazíme všechny přes příkaz screen -ls. Zobrazí se seznam s čísly screenu. Připojení provedeme jako screen -r čislo. Toto je asi to nejdůležitější, co screen nabízí. Má samozřejmě mnoho dalších příkazů a parametrů, nicméně toto používám dá se říci pořád.