GNU Screen pro mě byl ze začátku něco jako je vim pro většinu lidí (vim je takový ten divný textový editor, se kterým si nikdo neví rady… až na mě!). O co vlastně ve screenu jde? Máte jeden fyzický, on je to ale vlastně virtuální… Jednoduše řečeno, máte otevřeno jedno okýnko s terminálem, spustíte v něm screen a zobrazí se vám uvítací obrazovka hlásající: „Jo, tak tohle je Screen.“
Vytváření nových terminálů
Nyní se dají dělat všelijaké blbosti, ale nejdůležitější je, že se v tom jednom okýnku dá pomocí ^a c (^a znamená stisk klávesy Ctrl společně s A, poté následuje C) otevřít více terminálů, resp. spustit více shellů, vedle sebe a jednoduše mezi nimi přepínat. (Shell se pak dá ukončit klasicky pomocí exit anebo ^d.)
Přepínání
Jak se přepíná? První možností je použít ^a ", což zobrazí hezký interaktivní seznam se všemi otevřenými shelly. Další, pro rychlé přepínání, je ^a ^a, což pendluje mezi předchozím otevřeným a současným shellem. Pak je tu taky přepínání pomocí čísel – tj. ^a 0-9 –, při kterém se může hodit neinteraktivní seznam shellů vyvolaný pomocí ^a w. (Osobně jsem poslední variantu s čísly zatím moc nevyužil.)
Pojmenování terminálu
screen mi vyřešil problém, kdy jsem měl při vývoji otevřen prohlížeč, IDE a kupu okýnek se shelly, v každém terminálu něco jiného a nedalo se v tom vyznat. Ve screenu se dají jednotlivé shelly pojmenovat pomocí ^a A (druhé A musí být velké, takže něco jako kombinace kláves Ctrl+A Shift+A). A tedy místo toho, abych měl šestkrát pod sebou bash, vidím krásně, co je adresář s NetBeansím projektem, co public_html, kde mám MySQL shell apod. A když chci něco jednorázově udělat (bůhvíkde), prostě si otevřu nový shell (^a c), přejdu do adresáře, co potřebuji, udělám tu neplechu, pak ^d a jsem zpátky, kde jsem byl před tím, než jsem si „odskočil“.
Detach
Ve screenu se všechno točí kolem attachování a detachování. Attach je připojení si sezenáí screenu k momentálnímu terminálu, detach naopak odpojení. Jednoduše jde detach udělat prostým zavřením okna (sezení screenu běží i nadále), jinak je na to kombinace ^a DD.
Pojmenování sezení
screen -ls dokáže vypsat zrovna běžící sezení screenu. Normálně je sezení pojmenované po TTY a hostu, na kterém bylo otevřeno. Nic moc užitečného. Lepší je si sezení pojmenvat podle sebe – to se dělá pomocí spuštění screenu s parametrem -S:
$ screen -S nazev_sezení
Když se screen spustí bez názvu sezení, i tak jde název zadat: ^a :sessionname nazev_sezení.
Připojení se k existujícímu pojmenovanému sezení (a pokud neexistuje vytvoření nového):
$ screen -dR nazev_sezení
Doposud žádný komentář
Přidat komentář