Határozzon meg egy nagyszerű GNU képernyőprofilt a .screenrc – CloudSavvy IT használatával

Avatar admin | 2021.03.13. 5 Views 0 Likes 0 Ratings

5 Views 0 Ratings Rate it

Shutterstock / Andrey Suslov

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.

A Linux GNU képernyő 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

Our .screenrc template

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!


Source link


5 Views 0 Ratings Rate it

  • Minden jog fenntartva 2019-2020. Hogyankészítsek.Hu Impresszum Adatkezelési szabályok