A Linux képernyőparancsának használata

A Linux képernyőparancsával a futó terminálalkalmazásokat a háttérbe tolhatja, és előrehúzhatja őket, amikor látni szeretné őket. Támogatja az osztott képernyős megjelenítéseket is, és SSH-kapcsolaton keresztül működik, még a leválasztás és újracsatlakozás után is!

Mi az a képernyőparancs?

A képernyőparancs a terminál multiplexer, és teljesen tele van lehetőségekkel. Azt mondani, hogy sok mindenre képes, az az alulmondások nagypapája. A man oldal több mint 4100 sorig fut.

Az alábbiakban felsoroljuk azokat a leggyakoribb eseteket, amikor a képernyő parancsot használja, és ezekkel a cikkben részletesebben foglalkozunk:

A szokásos művelet egy új ablak létrehozása egy parancsértelmezővel, parancs futtatása, majd az ablak háttérbe tolása (az úgynevezett „leválasztás”). Ha látni szeretné, hogyan áll a folyamat, újra előtérbe húzhatja az ablakot („újracsatolás”), és újra használhatja. Ez nagyszerű olyan hosszú folyamatokhoz, amelyeket nem szeretne véletlenül leállítani a terminálablak bezárásával.
Miután lefutott egy képernyő-munkamenet, új ablakokat hozhat létre, és más folyamatokat futtathat bennük. Könnyedén ugrálhat az ablakok között, hogy figyelemmel kísérhesse azok fejlődését. A terminálablakot függőleges vagy vízszintes régiókra is feloszthatja, és egy ablakban jelenítheti meg a különböző képernyőablakokat.
Csatlakozhat egy távoli géphez, elindíthat egy képernyő-munkamenetet, és elindíthat egy folyamatot. Lekapcsolhatja a távoli gazdagépet, újra csatlakozhat, és a folyamat továbbra is futni fog.
Megoszthat egy képernyő-munkamenetet két különböző SSH-kapcsolat között, így két személy láthatja ugyanazt, valós időben.

Telepítő képernyő

A képernyő ubuntu telepítéséhez használja ezt a parancsot:

sudo apt-get install screen

A

A Manjaro képernyőjének telepítéséhez használja a következő parancsot:

sudo pacman -Sy screen

A

A Fedorán a következőket kell begépelnie:

sudo dnf install screen

A

Kezdő lépések a képernyővel

A képernyő indításához egyszerűen írja be az alábbi módon, és nyomja meg az Enter billentyűt:

screen

A

Megjelenik a licencinformációk oldala. Nyomja meg a szóköz billentyűt a második oldal elolvasásához, vagy az Enter billentyűt a parancssorba való visszatéréshez.

A

A parancssornál marad, és úgy tűnik, semmi sem történt. Most azonban egy shellt futtat egy multiplex terminálemulátoron belül. Miért jó ez? Nos, kezdjünk el egy folyamatot, amelynek befejezése sokáig tart. Letöltjük a legújabb Linux kernel forráskódját, és átirányítjuk a latest_kernel.zip nevű fájlba.

Ehhez a következőket írjuk be:

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

A latest_kernel.zip” parancs egy terminálablakban.’ width=”646″ height=”77″ onload=”pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);” onrror=”this.onrror=null;pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);”>

A letöltés elkezdődik, és a curl kimenet mutatja az előrehaladást.

A kimenet a latest_kernel.zip” parancs egy terminálablakban.’ width=”646″ height=”247″ onload=”pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);” onrror=”this.onrror=null;pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);”>

A következő bitről nem tudunk képet mutatni, mert az egy billentyűleütési sorozat. Beírja a Ctrl+A billentyűkombinációt, felengedi a billentyűket, majd lenyomja a d billentyűt a képernyő leválasztásához.

  A RawTherapee képfeldolgozó eszköz telepítése Linux rendszeren

A letöltési folyamat még mindig fut, de a letöltést mutató ablak eltávolítva. Visszakerül abba a terminálablakba, amelyből a képernyő-munkamenetet elindította. Egy üzenet jelzi, hogy a 23167.pts-0.wdzwdz feliratú képernyőablak leválasztásra került.

Az újbóli csatoláshoz szüksége van az ablak nevének elején lévő számra. Ha elfelejti, mindig használhatja az -ls (lista) kapcsolót az alábbiak szerint, hogy megkapja a leválasztott ablakok listáját:

screen -ls

A

Ha készen áll, használhatja az -r (reattach) kapcsolót és a munkamenet számát az újracsatoláshoz, például:

screen -r 23167

A

A háttérben működő ablak most visszakerül a terminálablakba, mintha ki sem hagyta volna.

Ha ez egy folyamat, amely a befejezéséig tart, akkor végül be fog fejeződni. Ha ez egy folyamatos folyamat, akkor végül le kell állítania. Akárhogy is, a folyamat végén a képernyőről való kilépéshez írja be az exit parancsot. Alternatív megoldásként lenyomhatja a Ctrl+A, majd a K billentyűkombinációt az ablak erőszakos megsemmisítéséhez.

Írja be a következő parancsot:

exit

A

Visszakerül az előző terminálablakba, amely továbbra is az ablak visszacsatolásánál használt parancsot fogja látni. Mivel bezártuk az egyetlen leválasztott ablakunkat, üzenetet kapunk, hogy a képernyő leáll.

A

Elnevezett képernyő-munkamenetek használata

A képernyő-munkamenet elnevezéséhez használhatja a -S (munkamenet neve) opciót. Ha emlékezetes nevet használ a munkamenet számszerű azonosítója helyett, kényelmesebb újra csatlakozni egy munkamenethez. A következőt írjuk be munkamenetünk „bigfile” elnevezéséhez:

screen -S bigfile

A

Amikor a képernyő elindítja a munkamenetünket, egy üres ablakot látunk parancssorral. Egy nagy fájlt fogunk letölteni, így példaként használhatunk egy régóta futó folyamatot.

A következőket írjuk be:

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

A bigfile.zip” parancsot egy terminálablakban.’ width=”646″ height=”77″ onload=”pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);” onrror=”this.onrror=null;pagespeed.lazyLoadImages.loadIfVisibleAndMaybeBeacon(this);”>

Amikor a letöltés elindul, nyomjuk meg a Ctrl+A, majd a D billentyűt a munkamenet leválasztásához. A következőt írjuk be, hogy az -ls (lista) opciót használhassuk a képernyővel, hogy megtekintsük a leválasztott munkamenet részleteit:

screen -ls

A

A numerikus azonosító (23266) mögött a munkamenetünk nevét látjuk (bigfile). Az újbóli csatoláshoz beírjuk a következőket, beleértve a munkamenet nevét is:

screen -r bigfile

A

Újra csatlakoztunk a letöltési ablakunkhoz, és azt látjuk, hogy a hosszú letöltés még mindig folyamatban van.

Amikor a letöltés befejeződött, a munkamenet ablak bezárásához írja be az exit parancsot.

Képernyő használata több Windows rendszerrel

Eddig a képernyő segítségével egyetlen folyamatot helyeztünk el a háttérben egy leválasztott ablakban. A képernyő azonban ennél sokkal többre képes. Ezután lefuttatunk néhány folyamatot, amelyek lehetővé teszik számítógépünk bizonyos aspektusainak megfigyelését.

A következőt írjuk be a „monitor” nevű képernyő-munkamenet elindításához:

screen -S monitor

A

Az új ablakban a parancssorban elindítjuk a dmesg-t, és a -H (ember által olvasható) és -w (várakozik az új üzenetekre) kapcsolót használjuk. Ez lesz megjeleníti a kernel puffer üzeneteit; az új üzenetek megjelennek.

A következőket írjuk be:

dmesg -H -w

A

Megjelennek a meglévő üzenetek. Nem térünk vissza a parancssorba, mert a dmseg új üzenetekre vár, és amint megérkeznek, megjeleníti azokat.

  Az rclone használata a Google Drive-ra való biztonsági mentéshez Linux rendszeren

A

Egy másik alkalmazást szeretnénk futtatni, ezért új képernyőablakra van szükségünk. Új ablak létrehozásához nyomjuk meg a Ctrl+A, majd a C billentyűket. Az órát fogjuk használni többször futni vmstat, így gyakran frissülőt kapunk a virtuális memória használatának megjelenítése a számítógépünkön.

Az új parancssorba a következőket írjuk be:

watch vmstat

A

Megjelenik a vmstat kimenet, és két másodpercenként frissül.

A

Jelenleg két folyamatunk fut. A képernyőablak közötti ugráshoz nyomja meg a Ctrl+A billentyűkombinációt és az ablak számát. Az első, amit létrehoztunk, a nulladik ablak (0), a következő az 1. ablak, és így tovább. Az első ablakra (a dmesg-re) ugráshoz nyomjuk meg a Ctrl+A és a 0 billentyűkombinációt.

Visszatérve a

Ha lenyomjuk a Ctrl+A és az 1 billentyűket, akkor visszakerülünk a vmstat ablakba.

Visszatérve a

Ez nagyon cuki! A Ctrl+A, majd a D billentyűkombinációt lenyomhatjuk a munkamenetről való leválasztáshoz; később visszacsatolhatjuk. Mindkét ülés továbbra is tart. Az ablakok közötti váltáshoz ismét megnyomjuk a Ctrl+A billentyűkombinációt és annak az ablaknak a számát (0 vagy 1), amelyre váltani szeretnénk.

Lépjünk a következő lépésre, és tekintsük meg mindkét képernyőt egy ablakban. Ha ezt megteszi, akkor a terminálablakot olyan méretűre nyújtja, amely hasznossá teszi ezt a lépést. Példáink a képernyőképeink méretére korlátozódnak, így ablakaink kissé szűkösnek tűnnek.

Ehhez nyomjuk meg a Ctrl+A, majd a Shift+S billentyűket (nagy „S” betű szükséges).

Az ablak két „régióra” oszlik.

A

A felső régióban továbbra is megjelenik a vmstat, az alsó pedig üres. A kurzor kiemelve van az alábbi képernyőképen. Az alsó régióba helyezéséhez nyomjuk meg a Ctrl+A, majd a Tab billentyűket.

A

A kurzor az alsó régióba kerül, ami valójában csak egy üres hely. Ez nem egy shell, így nem írhatunk bele semmit. Hasznos megjelenítéshez nyomjuk meg a Ctrl+A billentyűkombinációt, majd nyomjuk meg a „0” billentyűt a dmesg ablak megjelenítéséhez ebben a régióban.

A

Ez mindkét élő kimenetet ad egy osztott ablakban. Ha lenyomjuk a Ctrl+A és D billentyűket az ablak leválasztásához, majd visszacsatoljuk, elveszítjük az osztott ablaktáblát. A következő billentyűkódokkal azonban visszaállíthatjuk:

Ctrl+A, S: Az ablak felosztása vízszintesen.
Ctrl+A, Tab: Ugrás az alsó régióba.
Ctrl+A, 0: Az ablak nulla megjelenítése az alsó régióban.

Még egy lépéssel tovább is vihetjük a dolgokat. Most függőlegesen felosztjuk az alsó panelt, és hozzáadunk egy harmadik folyamatot a kijelzőhöz. Ha az alsó régióban van a kurzor, nyomjuk meg a Ctrl+A és C billentyűkombinációt, hogy létrehozzunk egy új ablakot egy shell-el. Az alsó régió megjeleníti az új ablakot, és parancssort ad nekünk.

A

Ezután futtatjuk a df parancsot ellenőrizze a fájlrendszer használatát:

df

A

Amikor azt látjuk, hogy a df fut, megnyomjuk a Ctrl+A billentyűkombinációt és a pipe karaktert (|). Ez függőlegesen felosztja az alsó régiót. Nyomjuk meg a Ctrl+A és a Tab billentyűket az új régióra lépéshez. Ezután nyomja meg a Ctrl+A és a 0 billentyűket a dmesg ablak megjelenítéséhez.

  6 további KDE Plasma 5 widget Linux asztali számítógépéhez

A

Régióról régióra is mozoghat, és további függőleges vagy vízszintes felosztásokat adhat hozzá. Íme néhány hasznos billentyűkombináció:

Ctrl+A: Ugrás oda-vissza az aktuális és az előző régiók között.
Ctrl+A, Q: Zárja be az összes régiót, kivéve az aktuálisat.
Ctrl+A, X: Az aktuális régió bezárása.

Képernyő használata SSH-n keresztül

A képernyő segítségével elindíthat egy ablakos munkamenetet, leválaszthatja, hogy továbbra is a háttérben fusson, kijelentkezhet vagy újra bejelentkezhet, és újra csatlakoztathatja a munkamenetet.

Csináljunk egy SSH-t kapcsolat a számítógépünkkel egy másikból az ssh paranccsal. Meg kell adnunk annak a fióknak a nevét, amellyel csatlakozni fogunk, és a távoli számítógép címét.

Példánkban a következőket írjuk be:

ssh [email protected]

A

Miután hitelesítettük a távoli számítógépen és bejelentkeztünk, a következőket írjuk be az „ssh-geek” nevű képernyő-munkamenet elindításához:

screen -S ssh-geek

A

Bemutató célból a képernyőablak tetején futunk, de elindíthat bármilyen hosszan tartó vagy végtelen folyamatot.

A következőket írjuk be:

top

A

Miután a top fut az ablakban, lenyomjuk a Ctrl+A, majd a D billentyűket az ablak leválasztásához.

A

Visszatértünk az eredeti, távoli terminál ablakhoz.

Ha az alábbi módon beírjuk az exit parancsot, az megszakítja az SSH-munkamenetet, és visszatérünk a helyi számítógépünkhöz:

exit

A

A következőt írjuk be az újracsatlakozáshoz:

ssh [email protected]

A

Miután újracsatlakoztunk és bejelentkeztünk, beírhatjuk a következőket a képernyő-munkamenet újbóli csatolásához:

screen -r ssh-geek

A

Most újra csatlakoztunk a még mindig futó top példányunkhoz.

A

Ez nagyszerű, ha egy folyamatot szeretne elindítani az egyik gépen, majd egy másik gépen ott folytatja, ahol abbahagyta.

Képernyő megosztása Munkamenet

Használhat képernyő-munkamenetet is, hogy lehetővé tegye két személy számára, hogy lássák ugyanazt az ablakot, és kommunikáljanak vele. Tegyük fel, hogy valaki Fedorát futtat a számítógépén, csatlakozni szeretne az Ubuntu szerverünkhöz.

A következőt írja be:

ssh [email protected]

A

Miután csatlakozott, elindít egy „ssh-geek” nevű képernyő-munkamenetet a -S (munkamenet neve) kapcsolóval. A -d (leválasztás) és -m (kényszerített létrehozás) opciókat is használja egy új, már leválasztott képernyő-munkamenet létrehozásához.

A következőket írja be:

screen -d -m -S ssh-geek

A

A munkamenet csatolásához a -X (multiscreen mode) kapcsolóval a következőket írja be:

screen -X ssh-geek

A

Egy Manjaro számítógépen egy másik személy csatlakozik az Ubuntu számítógéphez ugyanazokkal a hitelesítő adatokkal, az alábbiak szerint:

ssh [email protected]

A

Miután csatlakozott, beírja a képernyő parancsot, és a -X (többképernyős mód) kapcsolóval csatlakozik ugyanahhoz az ablakhoz, például:

screen -X ssh-geek

A

Nos, bármit, amit bármelyik személy beír, a másik látni fog. Például, amikor egy személy kiadja a dátum parancsot, mindketten azt látják, ahogyan begépelték, és a kimenetét is.

A

Kimenet a

Jelenleg mindketten egy képernyő-munkamenetet osztanak meg, amely egy távoli Ubuntu számítógépen fut.

Egy olyan szoftver esetében, amely először 1987-ben látott napvilágot, a képernyő még mindig jó teljesítményt nyújt. A vele való megismerkedés jól eltöltött idő lesz!