Osnove pokretanja i rada Ekran. Konfiguriranje Linux uslužnog programa za ekran Prebacivanje između ekrana

Screen je vrlo zgodan program ako često radite u konzoli povezujući se na server preko SSH-a. U ovom slučaju ekran omogućava vam da držite nekoliko različitih ekrana u jednoj konzoli, lako se prebacujete između njih.

instalacija ekrana

Da biste ga instalirali, morate pokrenuti naredbu

$ sudo apt-get installscreen

Nakon toga, potrebno je pokrenuti ekran:

$screen

Nakon pokretanja, vidjet ćete prompt komandna linija, ili "ekran dobrodošlice" pritiskom na SPACE ili ENTER u kojem ćete također biti odvedeni na shell. U tom slučaju, sve komande će biti pokrenute već „unutar” ekrana.

Ako trebate stalno slušati log datoteku i prikazati ih na ekranu. Kreirajmo novu ekransku konzolu ovako:

Ekran -d -m -S rep-log rep -f /var/log/nginx/error.log

Da biste izašli iz ekrana (izlaz, a ne prekinuti vezu), dovoljno je izaći iz svih školjki otvorenih na njemu ili, alternativno, pritisnuti kombinaciju tipki Ctrl+A, i odgovorite sa "y" na pitanje "da li zaista želite da izađete".

Možete prekinuti vezu sa trenutnim ekranom bez zatvaranja ili završetka sesije koristeći kombinaciju Ctrl+A zatim d.

Povezivanje na ekran

Ako već postoji sesija ekrana koja je pokrenuta na mašini i želite da se povežete na nju, onda

  1. ako postoji samo jedna sesija, dovoljna je samo naredba: Ctrl+A pa x
  2. ako postoji nekoliko sesija, tada: možete vidjeti popis pokrenutih ekrana pomoću naredbe screen -ls: $ screen -ls Postoje ekrani na: 2762.pts-0.debian (odvojeni) 2743.pts-0.debian ( Odvojeno) 2 utičnice u /var/run/screen/S-diesel.

    Odaberemo ekran koji nam je potreban i pridružimo mu se:

    Screen -x 2762.pts-0.debian

    Nazivi sesija prema zadanim postavkama nisu baš informativni - samo brojevi procesa, ako želite pokrenuti i koristiti nekoliko sesija ekrana za različite zadatke, možete smisliti razumnija imena. Smišljamo ime, a zatim pokrećemo novi ekran ovako:

    $ ekran -S "posao1"

    gdje je posao1 ime naše "imenovane" sesije. Sada u -ls ćemo vidjeti mnogo jasnije:

    $ screen -ls Postoje ekrani na: 2762.pts-0.debian (odvojeni) 2795.job1 (odvojeni) 2743.pts-0.debian (odvojeni) 3 utičnice u /var/run/screen/S-diesel.

    i možemo se povezati sa sesijom job1 jednostavnim navođenjem njenog imena:

    $ ekran -x posao1

Prebacivanje između ekrana

Kao što ste već shvatili, sesije se čuvaju čak i kada ste isključeni sa servera, a sve što se u njima izvodi nastavlja da se izvršava. Međutim, mogućnosti ekrana nisu ograničene na ovo. Ponekad, kada radim preko ssh-a, zaista želim imati nekoliko otvorenih terminala odjednom. Ekran također može pomoći u ovome.

Ctrl+A onda?- prikazati sve dostupne komande i parametre, za izlaz iz razmaka ili Enter
Ctrl+A zatim c- kreirajte kreirajte prozor na ekranu
Ctrl+A pa str- strongvios prebaciti na prethodni prozor ekrana
Ctrl+A pa n- sljedeći prelazak na sljedeći prozor ekrana
Ctrl+A zatim d- isključena veza sa ekrana ostavljajući sesiju pokrenutom
Ctrl+A pa K- kill kill screen session
Ctrl+A pa x- zaključavanje ekrana, za otključavanje morate unijeti svoju lozinku za Linux.
Ctrl+A zatim w- lista prozora koji rade na ekranu
Ctrl+A pa A- potpišite nazive različitih prozora na ekranu
Ctrl+A zatim |- podijelite prozore okomito, nakon Ctrl+A vertikalne trake (ne mali L) ili upišite split -v
Ctrl+A pa S- horizontalno podijeliti prozore
Ctrl+A zatim Tab- prelaz između polovina
Ctrl+A Q- sakriti sve prozore i ostaviti samo trenutni
Ctrl+D- izađite iz sesije ekrana

Kopiranje teksta između prozora i pomicanje po ekranu

Ctrl+A zatim [- prebacuje ekran u način kopiranja, dok se po prozoru možete kretati pomoću tipki kursora, da biste odredili početak fragmenta teksta, pritisnite razmaknicu. Pomjerite kursor sa strelicama da označite kraj odabira i ponovo pritisnite razmaknicu. Sve, fragment je kopiran. U isti ili drugi prozor se ubacuje pritiskom ] .

Za izlazak iz ovog moda jednostavno pritisnite itd.

Praćenje izvršenja naredbi

Ako imate više otvorenih prozora, može biti korisno pratiti aktivnost u jednom od njih. Na primjer, ako ste pokrenuli naredbu i želite znati kada će se završiti. Idite na prozor sa ovom komandom, kliknite

Ctrl+A zatim m- i omogući praćenje aktivnosti prozora. Sada, ako se tekst prozora promijeni, ekran će se oglasiti zvučnim signalom, simbol “@” će se prikazati pored njegovog imena na listi prozora, a na dnu prozora će se pojaviti natpis “Aktivnost u prozoru #…”. na par sekundi!

Logging i print screen

Također je moguće pratiti sav izlaz teksta do prozora do posebne screenlog datoteke. gdje je N broj prozora.

Ctrl+A pa H

Sada će svi rezultati vašeg rada biti evidentirani i možete vidjeti povijest ne samo unosa, već i izlaza.

Također naredba za uklanjanje trenutnog prozora

Ctrl+A pa h

prenosi u štampanu datoteku. samo sadržaj trenutnog prozora, umjesto da stalno nadgleda I/O. Analogni print ekran.

konfiguraciju ekrana

Ekran se konfiguriše pomoću ~/.screenrc datoteke u vašem početnom direktoriju. Na primjer, tamo možete napisati:

Natpis uvijek "%(= 45)%(+b w)Ekran: %n | %h %=%t %c" hardstatus alwayslastline "%-Lw%(= BW)%50>%n%f* %t%( -)%+Lw%<"

Ovo će vam dati stalno vidljivu listu otvorenih prozora i druge korisne informacije na dnu ekrana.

Takođe, kada se Screen pokrene, podrazumevano se izvršavaju komande iz datoteke /etc/screenrc i .screenrc datoteke iz korisničkog početnog direktorijuma. Mnoge naredbe koje se mogu koristiti u konfiguracijskim datotekama razmotrene su u gornjim tabelama u polju "Text command". Ispod je primjer konfiguracije ekrana iz .screenrc datoteke:

# Onemogući prikaz informacija o licenci pri pokretanju. Isključena poruka o pokretanju. Dnevnici # Odaberite prvi prozor nakon pokretanja odaberite 0

Ova prilično jednostavna konfiguracijska datoteka otvara tri prozora pod nazivom Work, Configuration, Logs, odnosno u korisničkom kućnom direktoriju, u /etc direktoriju i u direktoriju /var/log. Nakon pokretanja, prvi prozor pod nazivom Work će biti na ekranu. Slika 1 pokazuje primjer kako Screen radi sa ovom konfiguracijskom datotekom.

Završni ekran

Ako iz nekog razloga sesija ekrana prestane da reaguje, možete je prekinuti. Da biste to učinili, potrebno je da se povežete na željenu sesiju, a zatim pritisnite Ctrl + A i upišite ":quit".

Više od godinu dana drugarica me je nagovarala da počnem koristiti ekran dok sam na poslu. Kako je vrijeme prolazilo, još uvijek nisam stigao do ove ruke. I uzalud...

Screen je upravitelj prozora preko cijelog ekrana koji vam omogućava da radite s nekoliko prozora odjednom iz jedne terminalske sesije. Drugim riječima, povezivanjem na udaljenu mašinu preko ssh-a, možete raditi sa nekoliko njegovih prozora odjednom unutar jedne sesije, kao što je pritiskanje ctrl + alt + f1, ctrl + alt + f2... Program ima jednu važnu karakteristiku: kada je veza prekinuta ili prekinuta sa "ekranom" procesi koji se u njemu odvijaju ne prestaju i možete im se vratiti u bilo koje vrijeme. Za ovo možete pronaći mnogo aplikacija. Na primjer, kada radite s udaljenim serverom, možete biti sigurni da će pokrenuta kompilacija programa doći do kraja, čak i ako se veza iznenada prekine.

Instalacija

Program se instalira kao i obično, na primjer, u Ubuntu ovako:

apt-get ekran za instalaciju

Takođe je vredno napomenuti da je na mom Ubuntu 10.04 desktopu ovaj paket već bio na sistemu.

Korišćenje ekrana

Pokretanje programa:

Nakon pokretanja programa, bit će prikazane kratke informacije o njemu. Da biste ga uklonili, pritisnite enter ili razmak. Možda mislite da se ništa nije dogodilo, međutim, to nije slučaj: nalazite se unutar terminala koji radi na ekranu. Nakon toga vidimo nam poznatu konzolu.

Za izdavanje naredbi na ekranu koristite kombinaciju tipki ctrl+a. Slijedi lista glavnih naredbi koje se koriste za kontrolu ljuske:

  • c - kreiranje novog prozora
  • n - prelazak na sljedeći prozor
  • p - prelazak na prethodni prozor
  • k - zatvori prozor
  • d - isključite se sa ekrana
  • » - lista prozora koji rade na ekranu

Na primjer, da biste kreirali novi prozor, pritisnite ctrl+a i pritisnite tipku c.

Kada se isključi sa ekrana, svi prozori i procesi koji se u njima pokreću nastavljaju da rade. Da vidite pokrenute snimke ekrana, koristite naredbu:

Izlaz naredbe će biti otprilike ovako:

Postoje ekrani na:
18388.pts-4.asid-ubuntu-vm (23.9.2010. 05:05:30) (odvojeno)
18272.pts-0.asid-ubuntu-vm (23.9.2010. 04:54:23) (odvojeno)
2 utičnice u /var/run/screen/S-root.

Da biste se povezali sa aktivnim ekranom, pokrenite komandu screen -r . Na primjer, ovako:

ekran -r 18388.pts-4.asid-ubuntu-vm

ili kraće:

Ako ste zaboravili da se isključite sa ekrana sa druge mašine (izlaz ekrana -ls će se prikazati prikačen pored njega), možete ga presresti pomoću opcije -rd:

ekran -rd 18388

Da biste se povezali na posljednji ekran, možete jednostavno:

Pa, izgleda da je to sve. Više o ovim i drugim komandama, kao i obično, u mani.

Screen je konzolna aplikacija koja vam omogućava korištenje više terminalnih sesija u jednom prozoru. Program djeluje unutar sesije ljuske i djeluje kao kontejner i upravitelj za druge terminalske sesije, slično kao što upravitelj prozora upravlja prozorima.

U mnogim slučajevima kreiranje više terminalskih prozora nije moguće. Možda ćete morati upravljati višestrukim sesijama konzole bez pokretanja X servera; možda ćete trebati brzo pristupiti nekoliko udaljenih servera u oblaku ili prikazati pokrenuti program dok radite na nekom drugom zadatku. Sve ove potrebe lako se zadovoljavaju pomoću Screen konzole.

Instalacija

Ovaj vodič koristi Ubuntu 12.04; na svakoj modernoj distribuciji, sve naredbe osim instalacije će biti iste.

Da biste instalirali konzolu na Ubuntu, koristite naredbu "apt-get":

sudo apt-get update
sudo apt-get installscreen

Osnove upotrebe

Da započnete sesiju ekrana, jednostavno pozovite naredbu "screen":

ekran
Verzija ekrana 4.00.03jw4 (FAU) 2-5-06
Copyright (c) 1993-2002 Juergen Weigert, Michael Schroeder
Autorsko pravo (c) 1987. Oliver Laumann
Ovaj program je besplatan softver; možete ga redistribuirati i/ili modificirati pod
uslove GNU Opće javne licence kako ih je objavio slobodni softver
temelj; bilo verziju 2, ili (po vašoj želji) bilo koju noviju verziju.
Ovaj program se distribuira u nadi da će biti koristan, ali BEZ
SVAKA GARANCIJA; čak i bez implicitne garancije o PRODAJNOSTI ili PRIKLADNOSTI
ZA ODREĐENU NAMENU. Pogledajte GNU Opću javnu licencu za više detalja.
Trebali ste dobiti kopiju GNU Opće javne licence zajedno sa
ovaj program (pogledajte datoteku KOPIRANJE); ako ne, pišite slobodnom softveru
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 SAD.
Pošaljite izvještaje o greškama, popravke, poboljšanja, majice, novac, pivo i pizzu na
[email protected]

Nakon pokretanja, pojavit će se stranica za licenciranje. Pritisnite "Return" ili "Enter" za nastavak.

Dalje radnje programa mogu biti neočekivane. Obezbeđena je redovna komandna linija i čini se da se ništa ne dešava. Možda je došlo do greške na ekranu? Da saznate, koristite prečicu na tastaturi. Pritisnite i držite kontrolnu tipku (Ctrl), pritisnite "a", zatim tipku "v":

Ova radnja pita ekran za informacije o verziji; prikazani rezultat pokazuje da konzola radi.

Sada se morate upoznati s upravljanjem konzole. Ekran se kontroliše prvenstveno prečicama na tastaturi. Svakoj takvoj kombinaciji mora prethoditi "Ctrl-a" (držite pritisnutu tipku "Ctrl" prije pritiskanja "a"). Ovaj niz pritisaka na tastere govori ekranu da obrati pažnju na sledeće pritisnute tastere.

Ovaj princip je već korišten kada se traže informacije o ekranu. Iskoristite ga ponovo za još korisnih informacija.

Ctrl-a ?
Vezi tastera na ekranu, stranica 1 od 2.
Komandni taster: ^A Doslovno ^A: a
break ^B b licenca, removebuf =
brisanje C zaključanog ekrana ^X x resetovanje Z
debelo crevo: log H ekran ^C c
kopiraj ^[ [ login L select "
odvoji ^D d meta a tišina _
digraf ^V monitor M split S
prikazuje * sljedeće ^@ ^N sp n obustavi ^Z z
dumptermcap . broj N vrijeme ^T t
odgovara samo F Q naslov A
protok ^F f ostalo ^A vbell ^G
fokus ^I pow_break B verzija v
štampana kopija h pow_detach D širina W
pomoć? prev ^H ^P p ^? prozori ^W w
historija ( ) quit \ wrap ^R r
info i readbuf< writebuf >
ubiti K k ponovno prikazati ^L l xoff ^S s
zadnja poruka ^M m ukloniti X xon ^Q q

Ovo je lista internih prečica. Vrijedno je zapamtiti naredbu da je pozovete, jer je ovo odličan način da brzo dobijete pomoć. Kao što možete vidjeti na dnu datoteke, da biste dobili više naredbi, morate pritisnuti razmaknicu.

Sada pozovite naredbu "top", koja daje informacije o procesima.

top
vrh - 16:08:07 gore 1:44, 1 korisnik, prosjek opterećenja: 0,00, 0,01, 0,05
Zadaci: ukupno 58, 1 trči, 57 spava, 0 zaustavljen, 0 zombi
Cpu(s): 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 507620k ukupno, 262920k korišteno, 244700k besplatno, 8720k bafera
Zamjena: ukupno 0k, korišteno 0k, besplatno 0k, keširano 224584k
PID KORISNIK PR NI VIRT RES SHR S %CPU %MEM VRIJEME+ KOMANDA
1 korijen 20 0 3384 1836 1288 S 0,0 0,4 0:00,70 init
2 korijen 20 0 0 0 0 S 0,0 0,0 0:00,00 kthreadd
3 root 20 0 0 0 0 S 0.0 0.0 0:00.11 ksoftirqd/0
5 root 20 0 0 0 0 S 0.0 0.0 0:00.12 kworker/u:0
6 root RT 0 0 0 0 S 0,0 0,0 0:00,00 migracija/0
7 root RT 0 0 0 0 S 0.0 0.0 0:00.07 watchdog/0
8 root 0 -20 0 0 0 S 0,0 0,0 0:00,00 cpuset
9 korijen 0 -20 0 0 0 S 0,0 0,0 0:00,00 khelper
10 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kdevtmpfs
11 korijen 0 -20 0 0 0 S 0.0 0.0 0:00.00 netns
12 root 20 0 0 0 0 S 0.0 0.0 0:00.03 sync_supers
13 root 20 0 0 0 0 S 0,0 0,0 0:00,00 bdi-default
14 korijen 0 -20 0 0 0 S 0,0 0,0 0:00,00 kintegrityd
15 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kblockd
16 korijen 0 -20 0 0 0 S 0,0 0,0 0:00,00 ata_sff
17 korijen 20 0 0 0 0 S 0,0 0,0 0:00,00 khubd
18 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 md

Sada možete vidjeti procese na VPS-u. Ali koje komande koristiti da biste dobili detaljnije informacije o pokrenutim programima? Ne možete izaći iz naredbe "top", već jednostavno kreirati novi prozor za pokretanje ovih naredbi.

Slijed "Ctrl-a c" kreira novi prozor. Sada možete pokrenuti bilo koju naredbu bez ometanja komandi koje se izvode u drugom prozoru (u ovom slučaju, nadzor procesa).

Gdje je nestao onaj drugi prozor? Na njega se možete vratiti naredbom:

Ova sekvenca prikazuje sljedeći pokrenuti prozor. Lista prozora je kružna, tako da ako nema drugih prozora iza trenutnog prozora, vraća prvi prozor.

Ova sekvenca prebacuje prozore na obrnutim redosledom. Ako su, na primjer, pokrenuta tri prozora, a treći je aktuelan, ova komanda će prikazati drugi prozor.

Prilikom stalnog prebacivanja između dva prozora, korisno je koristiti sljedeću prečicu na tipkovnici:

Ova sekvenca vodi korisnika do najčešće posjećenog prozora. U prethodnom primjeru, ponovo bi se pojavio treći prozor.

Sada, praćenje svih prozora koji su kreirani može izgledati nemoguće. Srećom, Screen konzola pruža nekoliko načina za upravljanje različitim sesijama. Za početak napravite tri nova prozora (ukupno 4 prozora), a zatim koristite jedan od najjednostavnijih alata za upravljanje prozorima - "Ctrl-a w".

Ctrl-a c
Ctrl-a c
Ctrl-a c
Ctrl-aw
0$bash 1$bash 2-$bash 3*$bash

Ova komanda daje korisne informacije - listu otvorenih prozora. U ovom slučaju su otvorena 4 prozora. Svaki prozor ima broj koji počinje od 0. Zvjezdica pored broja označava trenutni prozor.

Kao što vidite, trenutno je prozor #3 trenutni prozor (u stvari, on je četvrti, pošto numerisanje počinje od 0). Kako brzo preći na prozor broj 1?

Redni broj se može koristiti za direktan skok na željeni prozor. Ponovo otvorite listu prozora:

Ctrl-a w
0$bash 1*$bash 2$bash 3-$bash

Kao što vidite, prozor #1 je sada trenutni. Pokušajte na drugi način prebacivanja između prozora.

Ctrl-a"
Broj zastavice imena
bash $0
1 bash$
bash $2
3 bash$

Ovaj put se prikazuje navigacijski meni. Sada možete da se krećete pomoću strelica gore i dole ili tastera "j" i "k", kao što se radi u vi uređivaču teksta. Možete se prebaciti na odabrani prozor pritiskom na dugme "Return" ili "Enter".

Ovo je dovoljno korisno, ali trenutno se svi prozori zovu "bash". Ovo nije baš zgodno. Sada treba da imenujemo sesiju. Prebacite se na prozor koji želite da imenujete i koristite sekvencu "Ctrl-a A".

Ctrl-a 0
Ctrl-A
Postavite naslov prozora na: bash

Koristeći ovu sekvencu, sesiji možete dati ime. Koristite tipku backspace da izbrišete "bash" i unesete bilo koje novo ime. Na primjer, imenujte prozor #0 "monitoring" i pokrenite naredbu "top" u njemu.

Postavite naslov prozora na: praćenje
Ctrl-a"
Broj zastavice imena
0 monitoring$
1 bash$
bash $2
3 bash$

Prozor #0 ima zgodnije ime.

Sada možete kreirati i preimenovati prozore; ali kako se riješiti nepotrebnog prozora?

Koristite sekvencu "Ctrl-a k", što znači "ubiti":

Ctrl-a k
Zaista ubij ovaj prozor

Upravljanje sesijom ekrana

Da biste izašli iz ekrana i zatvorili sve prozore, koristite sljedeći niz naredbi:

Ctrl-a \
Zaista dajte otkaz i pobijte sve svoje prozore

Ovo će završiti sesiju ekrana. Svi kreirani prozori, kao i svi radovi u toku, bit će izgubljeni.

Upotreba ekrana ima jednu veliku prednost. Sesija se ne može izbrisati, već jednostavno ukloniti. Uklanjanje sesije omogućava programima koji se pokreću u Screen-u da nastave sa radom, a takođe daje pristup glavnoj sesiji konzole (onoj koja počinje da radi sa Screen-om). Ova sesija ekrana i dalje postoji, samo se upravlja u pozadini.

Ctrl-a d

Dakle, sesija je završena. Kako se vratiti na ovu sesiju?

Oznaka "-r" znači "ponovno spajanje" ili "vraćanje". Ali šta ako postoji više sesija ekrana? Šta ako je sesija ekrana kreirana i odbačena, a zatim kreirana nova sesija koja je takođe uklonjena?

ekran
Ctrl-a d
ekran
Ctrl-a d

Kako reći Screenu koju sesiju treba vratiti?

ekran -ls
Postoje ekrani na:
2171.pts-0.Blank (01.07.2013. 17:00:39) (odvojeno)
1835.pts-0.Blank (01.07.2013. 15:50:43) (odvojeno)
2 utičnice u /var/run/screen/S-justin.

Lista sesija je sada prikazana. Da biste vratili drugu sesiju, unesite njen identifikacioni broj iza oznake "-r".

ekran –r 1835

Šta ako trebate vratiti sesiju na dva udaljeni računari ili terminal windows? Koristite oznaku "-x" da podijelite sesiju.

Upravljanje terminalima na ekranu

Postoji niz naredbi koje vam omogućavaju da upravljate terminalskim sesijama koje se izvode na ekranu.

Za kopiranje teksta koristite sljedeći niz:

Ova sekvenca obezbeđuje kursor koji se može pomerati pomoću tastera sa strelicama ili tastera "h", "j", "k", "l" (kao u vi). Pomerite kursor na početak dela teksta koji želite da kopirate i pritisnite "Return" ili "Enter". Zatim pomaknite kursor na kraj fragmenta i ponovo pritisnite "Return" ili "Enter". Tekst će biti kopiran u međuspremnik.

Imajte na umu da je ovo također mehanizam za pomicanje konzole. Ako želite da vidite tekst koji nije na ekranu, otkucajte "Ctrl-a [" i pomerite se prema gore.

Kopirani tekst možete zalijepiti uglastom zagradom

Možda ćete želeti da vidite programe koji se pokreću u drugom prozoru ekrana.

Na primjer, neki podaci se sastavljaju u jednom prozoru i morate znati kada je procedura završena. Možete reći ekranu da nadgleda neaktivnost ovog prozora pomoću sekvence "Ctrl-a _", koja će vam reći ako se nijedan izlaz ne prikaže u roku od 30 sekundi.

Uzmimo jednostavniji primjer. Recite ekranskoj konzoli da vam kaže kada je prozor završio pingovanje Google-a 4 puta.

ping -c 4 www.google.com
Ctrl-a_
Prozor se sada prati 30 sekundi. tišina.

Sada možete raditi u drugom prozoru i čekati obavijest o završetku zadatka u prethodnom prozoru.

Ctrl-a 1
Prozor 2: tišina 30 sekundi

Možete i obrnuto, zatražiti obavještenje o aktivnosti određenog prozora. To se radi pomoću sekvence "Ctrl-a M".

spavanje 20 && echo “izlaz”
Ctrl-a M
Prozor 2 (bash) se sada prati za sve aktivnosti.

Obavijest će se sada pojaviti kada se podaci prikažu u ovom prozoru.

Ctrl-a 1
aktivnost u prozoru 2

Na primjer, potrebno je napraviti niz važnih promjena, a pritom morate dobiti dnevnik pokrenutih naredbi. Sesija se može snimiti pomoću:

Ctrl-a H
Kreiranje logfila "screenlog.1".

Područja ekrana

Ako trebate vidjeti nekoliko prozora odjednom, možete koristiti takozvana "područja". Nove regije se kreiraju kada se trenutni region podijeli. Da biste vodoravno podijelili trenutnu oblast, možete upisati:

Ovo će pomeriti trenutni prozor na vrh ekrana i otvoriti novo prazno područje ispod njega. Za prelazak na donji dio, koristite "tab":

Sada možete kreirati novi prozor u donjem dijelu ili se prebaciti na drugi prozor na normalan način.

Ako je potrebno, uništite trenutno područje, koristite sljedeći redoslijed:

Ovo uklanja regiju bez uništavanja trenutnog prozora. Odnosno, ako je naredba pokrenuta u ovoj oblasti, onda joj je i dalje moguće pristupiti kao normalnom prozoru, samo je odvojeno područje uništeno.

Ako trebate napraviti okomiti presjek, možete koristiti slijed:

Napomena: Ovo nije znak 1 (jedinice) ili L. To je znak u obliku crtice koji se nalazi na istoj tipki kao i znak "\" na većini tastatura. Kontrole za vertikalne oblasti su iste kao i za horizontalne oblasti. Ako trebate izbrisati nekoliko različitih područja i vratiti se u jedno područje, možete koristiti ovaj niz koji uništava sva područja osim trenutnog:

Koristeći Byobu

Veliko poboljšanje za Screen je program pod nazivom "byobu". Djeluje kao omot za Screen i pruža poboljšanu upotrebljivost. Na Ubuntu se može instalirati sa:

sudo apt-get install byobu

Prije nego što počnemo, trebamo reći byobu da koristi ekran kao izlazni bafer. Ovo se može uraditi naredbom:

byobu-select-backend
Odaberite pozadinu byobu:
1.tmux
2.screen
Odaberite 1-2:

Ovdje možete postaviti ekran kao zadani upravitelj terminala.

Sada možete upisati "byobu" umjesto "screen" da započnete sesiju.

byobu
Dobrodošli u Ubuntu 12.04 LTS (GNU/Linux 3.2.0-24-virtualni i686)
* Dokumentacija: https://help.ubuntu.com/
Dobrodošli u lagan, moćan, tekstualni menadžer prozora, Byobu.
Pokretanje Byobu-a možete isključiti prilikom prijave sa:
"byobu-onemogući" i "byobu-omogući"
Za savjete, trikove i više informacija pogledajte:
*http://bit.ly/byobu-help
[email protected]:~$
u? 12.04 0:* 118! 3h55m 2,00 2,0GHz 496M6% 2013-07-01 18:19:21

Kao što vidite, ekran je sada umotan u korisničko sučelje.

Ukucavanjem "Ctrl-a" po prvi put, morate reći byobu da prepozna ovu naredbu kao naredbu ekrana, a ne Emacs.

Ctrl-a
Konfigurišite Byobu ponašanje ctrl-a...
Kada pritisnete ctrl-a u Byobu, želite li da radi u:
(1) Način rada ekrana (zadana sekvenca izlaza GNU ekrana)
(2) Emacs način rada (idi na početak reda)
Zapiši to:
- F12 takođe funkcioniše kao bekstvo u Byobu
- Možete pritisnuti F9 i odabrati svoj izlazni znak
- Možete pokrenuti "byobu-ctrl-a" u bilo koje vrijeme da promijenite svoj odabir
Odaberite:

Odaberite 1 da biste normalno koristili byobu.

Interfejs pruža mnogo korisnih informacija, kao što je lista prozora i informacije o sistemu. Na Ubuntu-u, čak prijavljuje koliko paketa ima bezbednosna ažuriranja kao broj praćen znakom uzvika na crvenoj pozadini.

Jedina razlika između byobu-a i ekrana je u tome što byobu upravlja sesijama. Ako jednostavno ponovo upišete "byobu" nakon prekida veze, vratit će se prethodna sesija umjesto kreiranja nove.

Da kreirate novu sesiju, trebate upisati:

byobu -S ime sesije

Promijenite "sessionname" (ime sesije) po svom ukusu da biste pozvali novu sesiju. Spisak trenutnih sesija se može pogledati sa:

byobu –ls
Postoje ekrani na:
22961.new (07/01/2013 06:42:52 PM) (odvojeno)
22281.byobu (07/01/2013 06:37:18 PM) (odvojeno)
2 utičnice u /var/run/screen/S-root.

Ako postoji više sesija, tada će se nakon unosa "byobu" pojaviti meni u kojem možete odabrati na koju sesiju želite da se povežete.

byobu
Byobu sesije...
1.screen: 22961.new (07/01/2013 06:42:52 PM) (odvojen)
2.screen: 22281.byobu (07/01/2013 06:37:18 PM) (odvojen)
3. Kreirajte novu Byobu sesiju (ekran)
4. Pokrenite shell bez Byobu (/bin/bash)
Odaberite 1-4:

Možete odabrati bilo koju od postojećih sesija, kreirati novu byobu sesiju ili čak novu ljusku koja ne koristi byobu.

Jedna od vrlo korisnih funkcija za udaljeni cloud server je mogućnost automatskog pokretanja byobu-a svaki put kada se povežete na sesiju. To znači da kada se sesija prekine, posao neće biti izgubljen i da će se lako ponovo povezati na ovu sesiju.

Da biste omogućili da se byobu automatski pokreće svaki put kada se prijavite, unesite u terminal:

byobu-enable
Byobu menadžer prozora će se automatski pokrenuti pri svakoj tekstualnoj prijavi.
Da biste kasnije onemogućili ovo ponašanje, samo pokrenite:
byobu-onemogućiti
Pritisnite za nastavak...

Kao što je gore navedeno, da biste onemogućili ovu funkciju, jednostavno upišite:

Tada se neće automatski pokrenuti.

Tagovi: ,

Screen je vrlo korisna naredba koja nudi mogućnost korištenja više prozora ljuske (sesije) iz jednog . Kada se sesija prekine ili dođe do prekida mreže, proces koji se izvodi u sesiji ekrana će se i dalje pokrenuti, a možete se ponovo povezati na sesiju ekrana u bilo kom trenutku. Također je vrlo zgodno ako želite stalno pokrenuti dugotrajan proces ili se povezati na ljusku sesije sa više lokacija.

U ovom članku ćemo vam pokazati osnove instaliranja i korištenja ekrana na .

Kako instalirati ekran

Screen dolazi unaprijed instaliran na nekim od popularnih distribucija. Možete provjeriti da li je instaliran ili ne na serveru pomoću sljedeće naredbe

Screen -v Verzija ekrana 4.00.03 (FAU)

Ako nemate ekran za VPS, možete ga lako instalirati koristeći paket menadžer koji ste dobili uz paket operativni sistem.

/RedHat/Fedora

yum -y ekran za instalaciju

/

apt-get -y ekran za instalaciju

Kako započeti sesiju ekrana

Možete pokrenuti ekran upisivanjem riječi "screen" u komandnu liniju i nova sesija ekrana će biti pokrenuta koja izgleda isto kao na komandnoj liniji

Dobra je praksa da započnete zanimanja ekrana s opisnim imenima tako da možete lako zapamtiti koji proces se izvodi u sesiji. Za kreiranje nove sesije sa imenom sesije pokrenite sljedeću naredbu

Ekran -S ime

i zamijeni ' ime‘ sa prijateljskim imenom za vašu sesiju.

Odvojite ekran od sesije

Da biste prekinuli vezu sa trenutnom sesijom ekrana, možete pritisnuti ' Ctrl-A' i ' D' na tastaturi. Sve sesije ekrana će i dalje biti aktivne i možete se ponovo povezati s njima u bilo koje vrijeme kasnije.

Ponovo posjetite ekran sesije

Ako ste prekinuti vezu sa sesijom ili vaša veza iz nekog razloga ispadne, lako se možete ponovo povezati tako što ćete pokrenuti sljedeću naredbu:

Screen -r

Ako imate više sesija ekrana, možete ih navesti sa ‘’

Ekran -ls Postoje ekrani na: 7880.session (odvojeni) 7934.session2 (odvojeni) 7907.session1 (odvojeni) 3 utičnice u /var/run/screen/S-root.

U našem primjeru imamo tri aktivne sesije ekrana. Dakle, ako želite da vratite sesiju "session2", to možete učiniti

Ekran -r 7934

ili možete koristiti ekransko ime

Ekran -r -S sesija2

Završi sesiju ekrana

Postoji nekoliko načina da završite sesiju ekrana. To možete učiniti klikom na ‘ ctrl‘ + ‘ D‘ pomoću tastature ili komandne linije ‘ Izlaz‘.

Da vidite sva korisna svojstva komandnog ekrana, možete da proverite ekran man stranice.

Man screen NAME ekran - menadžer ekrana sa emulacijom VT100/ANSI terminala SINOPSIS ekran [ -opcije ] [ cmd [ args ] ] ekran -r ] ekran -r vlasnik sesije/]

Ulogovani ste na svoj udaljeni server preko ssh-a, veselo kuckate po tastaturi, radite neku vrstu administratorskog posla i ups! Znakovi su prestali da se štampaju i ispala je ista poruka, što, povremeno, izaziva neodoljivu želju da se tastatura razbije. veza zatvorena. Uobičajena situacija? Da, da, vaša sesija se upravo srušila i morat ćete sve ponoviti... Ovo se može izbjeći korištenjem ekrana. Ne samo da će vam omogućiti da vaša sesija bude sigurna i zdrava, već će vam omogućiti i da nekoliko sesija držite otvorenima u jednom prozoru terminala.

Šta je ekran?
Prvo, pogledajmo man stranicu: "Screen je upravitelj prozora preko cijelog ekrana koji vam omogućava da dijelite fizički terminal između nekoliko nezavisnih procesa (obično interaktivnih školjki)".
screen ima nekoliko funkcija koje mogu uvelike pomoći pri obavljanju zadataka na udaljenim serverima putem ssh-a. Govorit ću o tri funkcije koje najčešće koristim: multi-window, logging i sessions. Morat ćete se obratiti na man stranicu za više detalja.

instalacija ekrana
Najvjerovatnije je ekran već na vašem sistemu. Ovo možete provjeriti komandom

Ako ne uspije, instalirajte ekran sa menadžer paketa vaš sistem. Moji serveri su uglavnom CentOS i Debian, pa sam postavio ekran ovako:

# yum instalacijski ekran (za CentOS)
# apt-get ekran za instalaciju (za Debian)

Nailazi i na FreeBSD, u ovom slučaju koristim portove:

# cd /usr/ports/sysutils/screen
očistite instalaciju

Korišćenje ekrana
Ekran se pokreće iz komandne linije kao i svaka aplikacija :)

Možete ili ne morate dobiti poruku da je ekran pokrenut... Zavisi od vašeg sistema. Ako ne primite poruku, možda mislite da se ništa nije dogodilo. Međutim, nije. Vi već unutar terminala koji radi na ekranu. Ovo je normalna, potpuno funkcionalna ljuska, osim nekoliko posebnih naredbi. Screen koristi Ctrl+A prečicu na tastaturi za izdavanje komandi terminalima unutar sebe. Pokušajte pritisnuti Ctrl+A i onda?
Vidjet ćete nešto ovako:

Vezi tastera na ekranu, stranica 1 od 2.

Komandni taster: ^A Doslovno ^A: a

prekid ^B b zaključani ekran ^X x resetovanje Z
brisanje C log H ekran ^C c
dvotočka:login L odaberite"'
copy ^[ [ meta a tišina _
odvojiti ^D d monitor M podijeliti S
digraf ^V sljedeći ^@ ^N sp n obustaviti ^Z z
prikazuje * broj N vrijeme ^T t
odgovara samo F Q naslov A
protok ^F f ostalo ^A vbell ^G
fokus ^I pow_break B verzija v
pomoć? pow_detach D širina W
istorija ( ) prev ^P p ^? prozori ^W w
info i readbuf< wrap ^R r
kill K ponovo prikaži ^L l writebuf >
lastmsg ^M m ukloniti X xoff ^S s
licenca , removebuf = xon ^Q q

Ekran prihvata komandne prečice na tastaturi nakon pritiska Ctrl+A. Ovo ponašanje možete promijeniti pomoću konfiguracijske datoteke $HOME/.screenrc

Multiwindow
Ekran kao i većina menadžeri prozora, podržava više prozora. Ovo je vrlo zgodno za pokretanje paralelnih zadataka bez otvaranja novih ssh sesija. Na primjer, imam četiri ili pet otvorenih sesija stalno sa nekoliko zadataka u svakoj. Prije sam morao otvoriti 15-ak terminala, logina, sesija.. Zamorno, zar ne? Ove neugodnosti u potpunosti rješava ekran. Sada se sasvim snalazim sa jednim terminalom.

Novi prozor se otvara kombinacijom tipki “Ctrl+a c”. Nakon što kliknete, vidjet ćete novi terminal sa vašim promptom u istom prozoru. Istovremeno, prethodni prozori takođe nastavljaju da rade. Pokušajmo: pokrenite ekran i pokrenite ga

Mem: 506028K av, 500596K korišteno, 5432K besplatno,
0K shrd, 11752K buff
393660K keširano


6538 korijen 25 0 1892 1892 596 R 49,1 0,3
6614 korijen 16 0 1544 1544 668 S 28,3 0,3
7198 admin 15 0 1108 1104 828 R 5.6 0.2

Sada otvorite novi prozor pritiskom na “Ctrl+a c”

Vratite se pritiskom na Ctrl+a n

Mem: 506028K av, 500588K korišteno, 5440K besplatno,
0K shrd, 11960K buff
Zamjena: 1020116K av, 53320K korišteno, 966796K besplatno
392220K keširano

PID KORISNIK PRI NI VELIČINI RSS SHARE STAT %CPU %ME
6538 korijen 25 0 1892 1892 596 R 48,3 0,3
6614 korijen 15 0 1544 1544 668 S 30,7 0,3

vrh ostaje isti. Možete kreirati više prozora i prebacivati ​​se između njih koristeći Ctrl+a n za prebacivanje na sljedeći prozor i Ctrl+a p za prebacivanje na prethodni. U ovom slučaju, svaki pokrenuti proces će ostati u radnom stanju.

Prekidanje veze sa ekrana
Postoje dva načina da se odjavite sa ekrana: prvi je da se jednostavno odjavite. Možete koristiti prečicu na tastaturi Ctrl+a K ili jednostavno otkucati exit. Ova metoda će "ubiti" trenutni prozor ako imate više od jednog ili potpuno zaustaviti ekran.
Drugi način je da odred. Ova metoda ostavlja trenutni proces pokrenutim i jednostavno vas odvaja od terminala. Na primjer, ako pokrenete neki vrlo dug proces kroz ssh sesiju koja ne zahtijeva vašu pažnju, tada možete jednostavno prekinuti vezu sa ekrana pomoću Ctrl+a d. Ovo će vas vratiti na vašu originalnu školjku. Svi procesi započeti na ekranu ostaju pokrenuti i kasnije se možete povezati s njima.

Pridruživanje sesiji
Sastavljate veliki program udaljeni server koristeći ekran. I naravno, prema Marfijevim zakonima, veza se prekida iz razloga koji su van vaše kontrole. Bez panike, sve je sačuvano na ekranu :) Samo se ponovo povežite na server i pogledajte procese koji se odvijaju ispod ekrana

# ekran -ls
Postoje ekrani na:
31619.ttyp2.server (odvojeni)
4731.ttyp2.server (odvojeni)
2 utičnice u /tmp/screens/S-root.

U ovom primjeru izvode se dvije sesije ekrana. Da biste se povezali sa željenim, koristite naredbu

#screen -r 31619.ttyp2.server

Samo koristite ekran sa r zastavicom i imenom sesije za ponovno povezivanje. Veoma je udoban. Možete, na primjer, započeti neki dugi proces na poslu i, vrativši se kući, nastaviti pratiti njegovu provedbu.

Logging
Ponekad mi se čini veoma važnim da sačuvate kompletan dnevnik vaših radnji. Srećom, ekran to lako rješava. Samo aktivirajte evidentiranje pritiskom na Ctrl+a H. Ekran će nastaviti s evidentiranjem tokom cijelog procesa. Može biti vrlo korisno vratiti se i pogledati redoslijed potrebnih radnji.

I još malo…
Ekran može pratiti aktivnost prozora. Bilo da preuzimate nešto veliko, kompajlirate program ili samo pokrećete dugotrajan proces, možete završiti s praznim terminalom dugo vremena bez znakova aktivnosti. A proces, u međuvremenu, nastavlja da teče. Ili, naprotiv, pogledajte tok informacija za otklanjanje grešaka, čekajući kraj procesa. Da započnete nadgledanje, idite na terminal koji želite da nadgledate i pritisnite Ctrl+a M da nadgledate aktivnost (pokreće se kada postoje nove informacije) ili Ctrl+a _ da nadgledate neaktivnost (pokreće se kada terminal prestane da prima informacije). Tada se možete sigurno prebaciti na drugi prozor ili kreirati novi. Kada dođe do nekog događaja, ekran će vas o tome upozoriti porukom s brojem prozora u naslovu terminala. Da biste se brzo prebacili na ovaj prozor, koristite Ctrl+a ” (ovo je znak navodnika). Vidjet ćete listu svih trenutno aktivnih prozora. Možete koristiti strelice za navigaciju do željenog prozora ili jednostavno birati broj željenog prozora. Da biste zaustavili praćenje, idite na željeni prozor i otkažite praćenje istom komandom. Na primjer, da zaustavite praćenje aktivnosti, pritisnite Ctrl+a M

mob_info