Skip to content
Kruno Golubić
Go back

Screen – virtualni terminali za Unix/Linux

Kruno Golubić

Napomena: Ovaj članak izvorno je objavljen na portalu Sistemac dana 16. kolovoza 2010.

Ako ste imali prilike (ili ste morali) raditi na Unix/Linux sustavu putem nekog “glupog terminala” (Dumb Terminal) spojenog putem terminal servera, sigurno ste se susreli s ograničenjem da u prvom planu možete imati samo jednu ljusku/proces. Pojedine procese mogli ste poslati u pozadinu pomoću naredbe bg ili dodavanjem znaka & na kraj naredbe. Problem s procesima koji se izvršavaju u pozadini je nemogućnost nadzora i trenutnog dobivanja povratnih informacija.

Da biste mogli pratiti i raditi u više ljuski paralelno, potreban vam je neki od programa koji omogućavaju emulaciju više paralelnih terminala. Primjeri takvih programa su Screen i tmux.

Možda vam se čini da, ukoliko za spajanje na Unix/Linux računala već koristite programe poput PuTTY-ja, nema potrebe za programima poput Screena. Jednostavno pokrenete dvije instance PuTTY-ja i možete paralelno raditi. No Screen ne omogućava samo paralelno pokretanje više ljuski – uz njegovu pomoć moguće je zaključati terminal, napraviti detach sesije te joj se kasnije vratiti, kopirati tekst između prozora, podijeliti jedan prozor na više regija i sl.

Pokretanje i konfiguracija

Prilikom pokretanja naredbe screen prikazat će vam se pozdravni ekran. Ukoliko želite isključiti prikazivanje tog ekrana, potrebno je u datoteku .screenrc koja je smještena u korisnikovom home direktoriju upisati:

startup_message off

Ukoliko imate više paralelnih prozora, poželjno je dodati oznaku prozora u prompt radi lakšeg snalaženja. Da bi se ispisivao broj prozora koji je trenutno prikazan, potrebno je urediti varijablu koja kontrolira izgled prompta. Za primjer uzimamo bash ljusku. Ako prompt trenutno izgleda ovako:

root@hostname:~#

dodjeljivanjem parametra [$WINDOW] varijabli PS1, prompt će ubuduće izgledati ovako:

root@hostname:~[0]#

Jednokratnu promjenu izgleda prompta možemo napraviti:

root@hostname:~# PS1="\u@\h:\w[$WINDOW]\$"

Da biste izbjegli potrebu konstantnog definiranja varijable, vrijednost možete upisati u datoteku .bashrc:

PS1="\u@\h:\w[$WINDOW]\$"

Tipkovničke prečice

Tipkovničke kratice uvelike olakšavaju rad sa Screenom i bez njih rad praktički nema smisla. Sve prečice započinju kombinacijom CTRL+a nakon čega slijedi slovo za pojedinu komandu. Unosi su osjetljivi na velika i mala slova. Izdvajamo neke od njih:

PrečicaFunkcija
CTRL+a+?prikaz komandi
CTRL+a+cstvaranje novog prozora
CTRL+a+kuništavanje (zatvaranje) trenutnog prozora (potrebno potvrditi s y)
CTRL+a+space ili CTRL+a+nprelazak na idući prozor
CTRL+a+backspace ili CTRL+a+pprelazak na prethodni prozor
CTRL+a+0...9prelazak na prozor zadanog broja
CTRL+a+'unos broja prozora na koji se želi preći
CTRL+a+xzaključava trenutnu sesiju; za otključavanje potrebna lozinka korisnika
CTRL+a+ddetach sesije
CTRL+a+Spodjela terminala na dvije vodoravne regije
CTRL+a+TABkretanje između regija
CTRL+a+Xbrisanje regije

Detach i ponovni pristup sesiji

Kad napravite detach (CTRL+a+d), sesija ostaje aktivna u pozadini. Kada se želite vratiti na prethodnu sesiju, pokrenite:

screen -r

Dijeljenje terminala na regije

Ako ste stvorili više regija, pri prelasku u praznu regiju trebate unutar nje stvoriti novi prozor kombinacijom CTRL+a+c.

Prikaz podijeljeног terminala na dvije regije u GNU Screenu

Dijeljenje sesije s više korisnika

Screen dozvoljava da se istom terminalu pristupa s više lokacija, a može i ograničiti pristup korisnicima u tzv. read-only modu. Postupak za ovo opisan je na stranici Remote terminal session management using screen.

Kompletan popis kratica, kao i mogućnosti prilagodbe možete pronaći u opširnoj dokumentaciji dostupnoj na stranici Screen User’s Manual.


Share this post on:

Previous Post
Korisni alati, programi i on-line usluge za web dizajnere (1. dio)
Next Post
Office 2010 – novosti i promjene u sučelju (1. dio)