Skip to content
 

On screen

Screen este o scula foarte utila atunci cand ai multe de facut si putine terminale la dispozitie. Practic screen este un multiplexor de terminal, cam cum e gnome terminal sau yakuake in varianta lor cu taburi, doar ca totul e facut direct in consola.

Pe langa multiplexarea mai sus amintita screen ofera si un feature foarte util. programul este imun la semnalele de tipul sighup. Mai pe romaneste screen ramane pornit pe masina chiar daca ai inchis conexiunea ssh/fizica cu terminalul in care lucra. Utilitatea chestiei asteia se dovedeste atunci cand ai de facut un task peste o legatura la internet foarte proasta. De regula procesele pornite din un shell au ca parinte respectivul shell. In clipa in care legatura peste ssh moare, moare si shellul si cu el procesele copil. Foarte urat. Porinite din screen procesele raman active chiar si dupa terminarea legaturii remote. Deja ne vin in minte utilizari foarte productive: client de torenti in screen, download masiv cu wget si prietenii, stat pe irc cu irssi (sau alt irc client in mod text) compilari fara sfarsit si multe altele.

Utilizarea lui screen necesita putina acomodare. Pornirea lui se face direct ruland screen.
Comenzile se activeaza folosind shortcuturi de tipul Ctrl+A urmate de o litera(case sensitive) /cifra/simbol. Ctrl+A este cunoscut ca escape sequence (cine a lucrat cu minicom stie).
Combinatia Ctrl+A urmata de ? afiseaza pe ecran toate comenzile suportate de screen.
Cateva combinatii utile:

Ctrl+A c –> creeaza un terminal nou

Ctrl+A “ –> afiseaza o lista cu toate terminalele

Ctrl+A <cifra> trece la terminalul cu id-ul respectiv

Ctrl+A d –> detasare de screen (practic un fel de exit)

Ctrl+A n –> next

Ctrl+A p –> previous

Ctrl+A ESC –> copy mode

Personal am renuntat la Ctrl+A pentru caracterul `. Avand in vedere ca folosesc rar caracterul (si doar cand e vorba de scripturi bash.

Reatasarea la screen se poate face ruland screen –r –d. Putem avea mai multe procese screen ce ruleaza si putem da ca parametru sesiunea la care vrem sa ne atasam.

Screen se poate customiza folosind fisierul .screenrc

Al meu arata asa:

escape ``
hardstatus alwayslastline "%{= KW}%-w%{= wk}%50>%n %t%{-}%+w%<"
hardstatus string '%{gk}[ %{G}%H %{g}][%= %{wk}%?%-Lw%?%{=b kR}(%{W}%n*%f %t%?(%u)%?%{=b kR})%{= kw}%?%+Lw%?%?%= %{g}][%{Y}%l%{g}]%{=b C}[ %m/%d %c ]%{W}'
startup_message off
vbell off
msgminwait 0
msgwait 10

Si rezultatul este asta

image

Se observa in partea de jos 5 terminale deschise, fiecare fiind denumit dupa procesul executat (ifstat, htop, links).

4 Comments

  1. Alex ROMANIA Windows Vista Mozilla Firefox 3.0.3 says:

    Bun articolul. Cosu, dacă vrei, te invit să scrii (un articol similar) pe încearcă.softwareliber.ro :)

  2. Cosu Windows 7 Google Chrome 1.0.154.46 says:

    merci de invitatie. cum procedez? exista undeva niste guidelines ?

  3. Alex ROMANIA Linux Epiphany 2.22 says:

    Ai primit mail-ul meu? Dacă nu, răspunsul e simplu: ai tot ce trebuie pe http://incearca.softwareliber.ro . Te așteptăm!

Leave a Reply