Cum să utilizați comanda ecranului Linux

Cu comanda ecranului Linux, puteți împinge aplicațiile terminale care rulează în fundal și le puteți trage înainte când doriți să le vedeți. De asemenea, acceptă afișaje cu ecran divizat și funcționează prin conexiuni SSH, chiar și după ce vă deconectați și vă reconectați!

Ce este comanda ecranului?

Comanda ecranului este a multiplexor terminal, și este absolut plin de opțiuni. A spune că poate face multe este bunicul eufemării. Pagina de manual ajunge la peste 4.100 de linii.

Următoarele sunt cele mai frecvente cazuri în care ați folosi comanda ecranului și le vom acoperi în continuare în acest articol:

Operația standard este de a crea o nouă fereastră cu un shell în ea, de a rula o comandă și apoi de a împinge fereastra în fundal (numită „detașare”). Când doriți să vedeți cum merge procesul dvs., puteți trage din nou fereastra în prim-plan („reatașați”) și o puteți utiliza din nou. Acest lucru este excelent pentru procesele lungi pe care nu doriți să le terminați accidental prin închiderea ferestrei terminalului.
După ce rulați o sesiune de ecran, puteți crea ferestre noi și puteți rula alte procese în ele. Puteți sări cu ușurință între ferestre pentru a le monitoriza progresul. De asemenea, puteți împărți fereastra terminalului în regiuni verticale sau orizontale și puteți afișa diferitele ferestre ale ecranului într-o singură fereastră.
Vă puteți conecta la o mașină de la distanță, puteți începe o sesiune de ecran și puteți lansa un proces. Vă puteți deconecta de la gazda la distanță, vă puteți reconecta, iar procesul dvs. va fi în continuare rulat.
Puteți partaja o sesiune de ecran între două conexiuni SSH diferite, astfel încât două persoane să poată vedea același lucru, în timp real.

Ecran de instalare

Pentru a instala ecranul pe ubuntu, utilizați această comandă:

sudo apt-get install screen

The

Pentru a instala ecranul pe Manjaro, utilizați următoarea comandă:

sudo pacman -Sy screen

The

Pe Fedora, tastați următoarele:

sudo dnf install screen

The

Noțiuni introductive cu ecranul

Pentru a porni ecranul, pur și simplu tastați-l așa cum se arată mai jos și apăsați Enter:

screen

The

Veți vedea o pagină cu informații despre licență. Puteți apăsa pe bara de spațiu pentru a citi a doua pagină sau pe Enter pentru a reveni la promptul de comandă.

The

Ai rămas la promptul de comandă și nu pare să se fi întâmplat nimic mare. Cu toate acestea, acum rulați un shell în interiorul unui emulator de terminal multiplexat. De ce este acesta un lucru bun? Ei bine, haideți să începem un proces care va dura mult timp. Vom descărca codul sursă pentru cel mai recent kernel Linux și îl vom redirecționa într-un fișier numit latest_kernel.zip.

Pentru a face acest lucru, introducem următoarele:

curl https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.5.9.tar.xz > latest_kernel.zip

The latest_kernel.zip” într-o fereastră de terminal.’ width=”646″ height=”77″ onload=”pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);” onerror=”this.onerror=null;pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);”>

Descărcarea noastră începe, iar rezultatul curl ne arată progresul.

  Cum se schimbă numele de gazdă a computerului Linux

Ieșirea de la latest_kernel.zip” într-o fereastră de terminal.’ width=”646″ height=”247″ onload=”pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);” onerror=”this.onerror=null;pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);”>

Nu vă putem arăta o imagine a următorului bit, deoarece este o secvență de apăsare a tastei. Tastați Ctrl+A, eliberați acele taste și apoi apăsați d pentru a detașa ecranul.

Procesul de descărcare încă rulează, dar fereastra care arată descărcarea este eliminată. Ați revenit la fereastra terminalului din care ați lansat sesiunea de ecran. Un mesaj vă spune că o fereastră de ecran etichetată 23167.pts-0.wdzwdz a fost detașată.

Aveți nevoie de numărul de la începutul numelui ferestrei pentru a-l atașa din nou. Dacă o uitați, puteți utiliza întotdeauna opțiunea -ls (listă), așa cum se arată mai jos, pentru a obține o listă a ferestrelor detașate:

screen -ls

The

Când sunteți gata, puteți utiliza opțiunea -r (reatașare) și numărul sesiunii pentru ao reatașa, astfel:

screen -r 23167

The

Fereastra care a funcționat în fundal este acum adusă înapoi în fereastra terminalului, ca și cum nu ar fi plecat niciodată.

Dacă este un proces care va ajunge până la încheiere, în cele din urmă se va finaliza. Dacă este un proces continuu, în cele din urmă veți dori să îl încheiați. Oricum, când procesul se termină, puteți tasta exit pentru a ieși de pe ecran. Alternativ, puteți apăsa Ctrl+A și apoi K pentru a ucide forțat o fereastră.

Tastați următoarea comandă:

exit

The

Ați revenit la fereastra anterioară a terminalului, care va afișa în continuare comanda pe care ați folosit-o pentru a atașa din nou fereastra. Deoarece am închis singura noastră fereastră detașată, primim un mesaj că ecranul se încheie.

The

Utilizarea sesiunilor de ecran numite

Puteți utiliza opțiunea -S (numele sesiunii) pentru a denumi sesiunea dvs. de ecran. Dacă folosiți un nume memorabil mai degrabă decât identitatea numerică a sesiunii, este mai convenabil să vă reconectați la o sesiune. Introducem următoarele pentru a numi sesiunea noastră „bigfile”:

screen -S bigfile

The

Când ecranul lansează sesiunea noastră, vedem o fereastră goală cu un prompt de comandă. Vom descărca un fișier mare, astfel încât să putem folosi un proces de lungă durată ca exemplu.

Introducem următoarele:

curl http://ipv4.download.thinkbroadband.com/1GB.zip > bigfile.zip

The bigfile.zip” într-o fereastră de terminal.’ width=”646″ height=”77″ onload=”pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);” onerror=”this.onerror=null;pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);”>

Când începe descărcarea, apăsăm Ctrl+A, apoi apăsăm D pentru a detașa sesiunea. Introducem următoarele pentru a folosi opțiunea -ls (listă) cu ecran pentru a vedea detaliile sesiunii noastre detașate:

screen -ls

The

În spatele identificatorului numeric (23266), vedem numele sesiunii noastre (bigfile). Introducem următoarele, inclusiv numele sesiunii, pentru a o atașa din nou:

screen -r bigfile

The

Ne-am reconectat la fereastra noastră de descărcare și vedem că descărcarea lungă este încă în curs.

Când descărcarea este finalizată, tastăm exit pentru a închide fereastra sesiunii.

Utilizarea ecranului cu mai multe ferestre

Până acum, am folosit ecranul pentru a plasa un singur proces în fundal într-o fereastră detașată. Cu toate acestea, ecranul este capabil să facă mult mai mult decât atât. În continuare, vom rula câteva procese care ne permit să monitorizăm unele aspecte ale computerului nostru.

Introducem următoarele pentru a începe o sesiune de ecran numită „monitor”:

screen -S monitor

The

La promptul de comandă din noua noastră sesiune de fereastră, vom lansa dmesg și vom folosi opțiunile -H (lizibil de om) și -w (așteptați mesaje noi). Asta va afișează mesajele buffer-ului kernelului; mesajele noi vor apărea pe măsură ce apar.

  Cum se instalează actualizarea Linux 5.0 pe Ubuntu 18.04 LTS

Introducem următoarele:

dmesg -H -w

The

Apar mesajele existente. Nu ne întoarcem la promptul de comandă deoarece dmseg așteaptă mesaje noi și le va afișa pe măsură ce sosesc.

The

Dorim să rulăm o altă aplicație, așa că avem nevoie de o nouă fereastră de ecran. Apăsăm Ctrl+A, apoi C pentru a crea o fereastră nouă. Vom folosi ceasul pentru alerga în mod repetat vmstat, deci primim o actualizare frecventă afișarea utilizării memoriei virtuale pe computerul nostru.

La noul prompt de comandă, introducem următoarele:

watch vmstat

The

Ieșirea vmstat apare și se actualizează la fiecare două secunde.

The

Cele două procese ale noastre rulează acum. Pentru a trece între ferestrele ecranului, apăsați Ctrl+A și numărul ferestrei. Prima pe care am creat-o este fereastra zero (0), următoarea este fereastra 1 și așa mai departe. Pentru a trece la prima fereastră (cea dmesg), apăsăm Ctrl+A și 0.

Revenind la

Dacă apăsăm Ctrl+A și 1, ne duce înapoi la fereastra vmstat.

Revenind la

E destul de ingenios! Putem apăsa Ctrl+A, apoi D pentru a ne desprinde din această sesiune; putem reatasa mai tarziu. Ambele sesiuni vor continua. Din nou, pentru a comuta între ferestre, apăsăm Ctrl+A și numărul (0 sau 1) al ferestrei la care vrem să comutăm.

Să trecem la pasul următor și să vedem ambele ecrane într-o singură fereastră. Când faceți acest lucru, veți extinde fereastra terminalului la o dimensiune care face acest pas util. Exemplele noastre sunt limitate la dimensiunea capturilor de ecran, astfel încât ferestrele noastre vor părea puțin înghesuite.

Pentru a face acest lucru, apăsăm Ctrl+A, apoi Shift+S (este necesar un „S” majuscul).

Fereastra se împarte în două „regiuni”.

A

Regiunea de sus afișează în continuare vmstat, iar regiunea de jos este goală. Cursorul este evidențiat în captura de ecran de mai jos. Pentru a o muta în regiunea inferioară, apăsăm Ctrl+A, apoi Tab.

A

Cursorul se deplasează în regiunea inferioară, care de fapt este doar un spațiu gol. Nu este un shell, așa că nu putem introduce nimic în ea. Pentru a obține un afișaj util, apăsăm Ctrl+A, apoi apăsăm „0” pentru a afișa fereastra dmesg în această regiune.

The

Acest lucru ne oferă ambele ieșiri live într-o singură fereastră împărțită. Dacă apăsăm Ctrl+A și D pentru a detașa fereastra și apoi o reatașăm, vom pierde vizualizarea din panoul divizat. Cu toate acestea, îl putem restabili cu următoarele comenzi rapide de la tastatură:

Ctrl+A, S: Împărțiți fereastra pe orizontală.
Ctrl+A, Tab: Deplasați-vă în regiunea inferioară.
Ctrl+A, 0: Afișează fereastra zero în regiunea inferioară.

Putem duce lucrurile chiar și cu un pas mai departe. Acum vom împărți panoul inferior pe verticală și vom adăuga un al treilea proces pe afișaj. Cu cursorul în regiunea inferioară, apăsăm Ctrl+A și C pentru a crea o fereastră nouă cu un shell în ea. Regiunea inferioară afișează noua fereastră și ne oferă un prompt de comandă.

A

Apoi, rulăm comanda df la verificați utilizarea sistemului de fișiere:

df

A

Când vedem df rulând, apăsăm Ctrl+A și caracterul pipe (|). Aceasta împarte vertical regiunea inferioară. Apăsăm Ctrl+A și Tab pentru a trece la noua regiune. Apoi, apăsăm Ctrl+A și 0 pentru a afișa fereastra dmesg.

  Cum să joci Battlefield V pe Linux

A

De asemenea, puteți să vă mutați de la o regiune la alta și să adăugați mai multe diviziuni verticale sau orizontale. Iată câteva combinații de taste mai utile:

Ctrl+A: săriți înainte și înapoi între regiunea actuală și cea anterioară.
Ctrl+A, Q: Închideți toate regiunile, cu excepția celei curente.
Ctrl+A, X: Închideți regiunea curentă.

Utilizarea ecranului peste SSH

Cu ecran, puteți începe o sesiune fereastră, o puteți detașa astfel încât să ruleze în continuare în fundal, puteți să vă deconectați sau să vă reconectați și să reconectați sesiunea.

Să facem un SSH conexiune la computerul nostru dintr-unul diferit cu comanda ssh. Trebuie să furnizăm numele contului cu care ne vom conecta și adresa computerului de la distanță.

Pentru exemplul nostru, introducem următoarele:

ssh [email protected]

The

După ce ne autentificăm pe computerul de la distanță și ne logăm, introducem următoarele pentru a începe o sesiune de ecran numită „ssh-geek”:

screen -S ssh-geek

The

În scopuri demonstrative, vom rula sus în fereastra ecranului, dar puteți începe orice proces de lungă durată sau fără sfârșit.

Introducem următoarele:

top

The

Odată ce top rulează în fereastră, apăsăm Ctrl+A și apoi D pentru a detașa fereastra.

The

Am revenit la fereastra terminală originală, la distanță.

Dacă introducem exit, așa cum se arată mai jos, se deconectează sesiunea SSH și ne întoarcem pe computerul nostru local:

exit

The

Introducem următoarele pentru a vă reconecta:

ssh [email protected]

The

După ce ne-am reconectat și ne-am conectat, putem tasta următoarele pentru a atașa din nou sesiunea de ecran:

screen -r ssh-geek

The

Acum suntem reconectați la instanța noastră de top, care încă rulează.

The

Acest lucru este grozav dacă doriți să începeți un proces pe o mașină și apoi să continuați de unde ați rămas pe alta.

Partajarea unei sesiuni de ecran

De asemenea, puteți utiliza o sesiune de ecran pentru a permite două persoane să vadă și să interacționeze cu aceeași fereastră. Să presupunem că cineva care rulează Fedora pe computerul său dorește să se conecteze la serverul nostru Ubuntu.

El ar scrie următoarele:

ssh [email protected]

The

După ce se conectează, începe o sesiune de ecran numită „ssh-geek” folosind opțiunea -S (numele sesiunii). El folosește, de asemenea, opțiunile -d (detașare) și -m (creare forțată) pentru a crea o nouă sesiune de ecran care este deja detașată.

El scrie următoarele:

screen -d -m -S ssh-geek

The

El tastează următoarele, folosind opțiunea -X (mod multiecran) pentru a atașa sesiunea:

screen -X ssh-geek

The

Pe un computer Manjaro, o altă persoană se conectează la computerul Ubuntu cu aceleași acreditări de cont, după cum se arată mai jos:

ssh [email protected]

The

Odată ce este conectată, ea tastează comanda ecran și folosește opțiunea -X (mod multiecran) pentru a se alătura aceleiași sesiuni de fereastră, astfel:

screen -X ssh-geek

The

Acum, orice tip de fiecare persoană, cealaltă va vedea. De exemplu, când o persoană lansează comanda data, amândoi o văd așa cum este introdusă, precum și rezultatul acesteia.

The

Ieșire din

Ambele persoane partajează acum o sesiune de ecran care rulează pe un computer Ubuntu la distanță.

Pentru o bucată de software care a văzut pentru prima dată lumina zilei în 1987, ecranul încă oferă o productivitate bună. Familiarizarea cu el va fi timp bine petrecut!