
képernyő, a Linux segédprogram, amely lehetővé teszi a „képernyő” elindítását a terminálon belül, alapértelmezés szerint kissé alul van konfigurálva. Ismerje meg, hogyan hozhat létre egy remek képernyőprofilt, amelyet a képernyő minden egyes használatakor automatikusan betölt.
Mi a képernyő?
A Screen egy GNU segédprogram (a GNU a nyílt forráskódú szoftverek nagy gyűjteménye, és ezek operációs rendszerbe történő összevonása közismert néven Linux), amely lehetővé teszi egy vagy több képernyő elindítását a terminálon belül.
Kérdezheti, miért akarok egy képernyőt indítani a terminálon belül, és meg tudja-e határozni képernyő jobb / tovább? Biztos. Képzelje el, hogy távoli SSH-kiszolgálót használ, és hirtelen megszakad a hálózati kapcsolata az adatbázis-migráció vagy a termelési biztonsági mentés kellős közepén, amely a terminál ablakában futott. Ez rendszeresen megtörténik, és a probléma az, hogy minden parancs, amely a kapcsolat megszakadásakor volt végrehajtva, most megszűnik, függetlenül attól, hogy milyen állapotban volt.
Ezt az egyértelműen idegesítő helyzetet mindenáron el akarja kerülni. Nemcsak meghatározatlan állapotban hagyhatja a rendszert vagy a szoftvercsomagot, de minden eddig elvégzett munkája egyszerűen elveszhet.
Isten hozott a screen
, a Linux segédprogram, amely lehetővé teszi egy virtuális terminál munkamenet indítását (a ‘képernyő‘) a terminál munkamenetén belül, azzal az elsődleges és nagy előnnyel, hogy egy ilyen képernyős munkamenet nem fejeződik be, amikor a hálózati kapcsolat megszakad, vagy amikor bezárja a terminált, amely elindította a screen
munkamenet (a szülői folyamat). Egyszerűen várja meg, amíg a hálózati kapcsolat meg nem jön, vagy megnyithat egy másik terminált, ha nem csatlakozik SSH-n keresztül, és csak a helyi gépen dolgozik, és egyszerűen csatlakozzon újra a képernyős munkamenethez.
Nagy? Gyorsan telepítsük képernyő akkor, ha még nem tette meg:
Telepítés képernyő
Üzembe helyezni képernyő a Debian / Apt alapú Linux disztribúción (például az Ubuntu és a Mint) hajtsa végre a következő parancsot a terminálján:
sudo apt install screen
Üzembe helyezni képernyő RedHat / Yum alapú Linux disztribúción (például az RHEL, a Centos és a Fedora) hajtsa végre a következő parancsot a terminálján:
sudo yum install screen
Most, hogy a képernyő telepítve van, azonnal elkezdheti használni. Egyszerűen hajtsa végre screen
parancssorban, és máris benne van. Lehetséges, hogy az Enter vagy a szóköz megnyomásával át kell lépnie a screen
splash screen.
Ekkor megjelenik egy új parancssor. Nyomja meg a gombot CTRL+a
> CTRL+d
hogy visszatérjen a szülő shell munkamenet parancssorához. Ezután kivégezheti screen -ls
az aktív képernyő-munkamenetek listájának megtekintéséhez. Írja be a parancsot (abban a szülőhéjban, amelyben most tartózkodik, ha azonos módon követte a szöveget), screen -d -r
visszahozza a screen
munkamenet, feltéve, hogy csak egy képernyő munkamenet aktív (sokakat el lehet indítani).
Ha egynél több képernyős munkamenet fut a rendszerén (és az Ön tulajdonában van), akkor gépelhet screen -d -r NAME
hol NAME
egy képernyő neve, amelyet felsorolt screen -ls
, például 367434.pts-1.roel1
, bár csak a pont előtti vagy utáni részeket adjuk meg (például 367
vagy pts
), amely még mindig egyedileg azonosítja az adott képernyő-munkamenetet, szintén elegendő.
Lássuk, hogyan definiálhatunk most egy remek képernyőprofilt egy kivonat alapján setup_server.sh, amely a Percona-QA GitHub adattárban található (GPLv2 Licensed), egy szkript, amelyet a szerver beállításához hoztak létre a minőségbiztosítás teszteléséhez. Nem javasoljuk, hogy futtassa ezt a szkriptet, mivel elavult, csak referenciaként használható, és általában manuálisan futtatja lépésről lépésre. Az egyetlen szakasz, amelyet használni fogunk, az a .screenrc
kódot, az alábbiakban reprodukálva.
Remek .screenrc konfiguráció meghatározása
A .screenrc
A fájl egy rejtett konfigurációs fájl az otthoni könyvtárban. A szerkesztéshez (valószínűleg még nem létezik, különösen, ha csak telepítette screen
, egyszerűen használja a kedvenc szövegszerkesztőjét, és nyissa meg a fájlt ~/.screenrc
. Ha tapasztalata van a Vim-mel, egyszerűen beírhatja a terminál parancssorába vi ~/.screenrc
. Ha többet szeretne megtudni a Vi / Vim-ről, fontolja meg cikkünk elolvasását Definiáljon egy nagy Vim profilt a .vimrc használatával.
Miután kinyitotta ~/.screenrc
, egyszerűen adja hozzá a következő szövegblokkot:
# Általános beállítások vbell on vbell_msg '! Bell!' autodetach on startup_message off defscrollback 10000 # Termcapinfo for xterm termcapinfo xterm * Z0 = E[?3h:Z1=E[?3l:is=E[rE[mE[2JE[HE[?7hE[?1;4;6l # Do not resize window termcapinfo xterm* OL=1000 # Increase output buffer for speed # Remove various keyboard bindings bind x # Do not lock screen bind ^x # Idem bind h # Do not write out copy of screen to disk bind ^h # Idem bind ^ # Do not kill all windows/exit screen bind . # Disable dumptermcap # Add keyboard bindings bind } history bind k kill
If you do not want to use a text editor, or want to somehow script the installation of this .screenrc
file into many systems, you could use the following code instead, which will – whenever pasted, or executed from another script, create the file ~/.screenrc
for the user who is executing the script. Let’s call our script make_screenrc.sh
or similar.
#!/bin/bash # Create screen script ~/.screenrc touch ~/.screenrc if [ -z "$(cat ~/.screenrc|grep 'termcapinfo xterm')" ]; majd macska << EOF> ~ / .screenrc # Általános beállítások vbell on vbell_msg '! Bell!' autodetach on startup_message off defscrollback 10000 # Termcapinfo for xterm termcapinfo xterm * Z0 = E[? 3h: Z1 = E[? 3l: is = E[r E[m E[2J E[H E[ ? 7h E[? 1; 4; 6l # Ne méretezze át az ablakot írja ki a képernyő másolatát lemezmegkötésre ^ h # Idem bind ^ # Ne ölje meg az összes ablakot / kilép a képernyőmegkötésből. # A dumptermcap letiltása # Billentyűzet-összerendelések hozzáadása bind} előzmények megkötése k kill EOF fi
A szkript számos beállítást állít be, és a legtöbb itt meglehetősen magától értetődő. Például, startup_message off
egyszerűen kikapcsolja a korábban látott Splash képernyőt. defscrollback 10000
meghatározza a görgetést 10000 sorig (a görgetés / szerkesztés módhoz a gombsor megnyomásával férhet hozzá CTRL+a
> CTRL+ESC
és kiléphet ebből a módból az ESC egyszeri vagy kétszeri megnyomásával.
A virtuális csengőt is bekapcsoljuk (mivel nem halljuk a távoli szerver hangszórójának sípolását) a vbell on
és vbell_msg '!Bell!'
parancsok, amelyek a virtuális harang üzenetet állítják '!Bell!'
. Megállapítottam azonban, hogy a virtuális csengő gyakran nem működik.
Ezután megadunk néhány konkrétat termcapinfo
kódok a kimeneti puffer kibővítéséhez és az ablak átméretezésének beállításához. Eltávolítjuk a különféle potenciálisan idegesítő billentyűkötéseket is, és hozzáadunk néhány praktikus billentyűzet-beállítást.
Mindössze annyit kell tennünk, hogy aktiváljuk ezt az újat .screenrc
konfiguráció egy új megnyitása screen
ülés. Most profitálni fogunk az újonnan definiált beállításokból.
Csomagolás
Nagyszerű alapértelmezés meghatározása .screenrc
fájl segít, ha használja screen
nagyon. A splash screen kikapcsolása, a görgetés növelése és a kimeneti puffer javítása a sebesség érdekében csak néhány dolog, amit a .screenrc
sablon. Élvezze a képernyő és a .screenrc sablon használatát!