10 Primeri ukazov na zaslonu za upravljanje terminalov Linux


Screen je celozaslonski program, ki se lahko uporablja za multipleksiranje fizične konzole med več procesi (običajno interaktivne lupine). Uporabniku ponuja odpiranje več ločenih primerkov terminala znotraj enega samega upravitelja oken terminala.

Zaslonska aplikacija je zelo koristna, če imate opravka z več programi iz vmesnika ukazne vrstice in za ločevanje programov od lupine terminala. Omogoča tudi skupno rabo sej z drugimi uporabniki in ločevanje/pripenjanje terminalskih sej.

V moji Ubuntu 10.04 Server Edition je bil zaslon privzeto nameščen. Toda v Linuxu Mint privzeto ni nameščen zaslon, najprej ga moram namestiti z ukazom apt-get, preden ga uporabim. Za namestitev zaslona sledite postopku namestitve distribucije.

# apt-get install screen (On Debian based Systems)
# yum install screen (On RedHat based Systems)

Pravzaprav je Screen zelo dober ukaz v Linuxu, ki se skriva v stotinah ukazov Linuxa. Začnimo, da vidimo funkcijo zaslona.

Začetni zaslon prvič

V ukazni poziv preprosto vnesite zaslon. Nato se zaslon prikaže z vmesnikom natanko kot ukazni poziv.

[email  ~ $ screen

Prikaži parameter zaslona

Ko vstopite na zaslon, lahko vse svoje delo opravite v običajnem okolju CLI. Ker pa je zaslon aplikacija, ima tudi ukaz ali parametre.

Vnesite "Ctrl-A" in "?" brez narekovajev. Nato boste na zaslonu videli vse ukaze ali parametre.

                                                             Screen key bindings, page 1 of 1.

                                                             Command key:  ^A   Literal ^A:  a

  break       ^B b         flow        ^F f         lockscreen  ^X x         pow_break   B            screen      ^C c         width       W
  clear       C            focus       ^I           log         H            pow_detach  D            select      '            windows     ^W w
  colon       :            hardcopy    h            login       L            prev        ^H ^P p ^?   silence     _            wrap        ^R r
  copy        ^[ [         help        ?            meta        a            quit        \            split       S            writebuf    >
  detach      ^D d         history     { }          monitor     M            readbuf     <            suspend     ^Z z         xoff        ^S s
  digraph     ^V           info        i            next        ^@ ^N sp n   redisplay   ^L l         time        ^T t         xon         ^Q q
  displays    *            kill        K k          number      N            remove      X            title       A
  dumptermcap .            lastmsg     ^M m         only        Q            removebuf   =            vbell       ^G
  fit         F            license     ,            other       ^A           reset       Z            version     v

^]  paste .
"   windowlist -b
-   select -
0   select 0
1   select 1
2   select 2
3   select 3
4   select 4
5   select 5
6   select 6
7   select 7
8   select 8
9   select 9
I   login on
O   login off
]   paste .

Če želite zapustiti zaslon s pomočjo, lahko pritisnete gumb\"preslednica" ali "Enter". (Upoštevajte, da so vse bližnjice, ki uporabljajo\"Ctrl-A", narekovane brez narekovajev).

Odklopite zaslon

Ena od prednosti zaslona je ta, da ga lahko odstranite. Nato ga lahko obnovite, ne da bi izgubili kar koli, kar ste naredili na zaslonu. Tu je vzorec scenarija:

Ste na sredini strežnika SSH. Recimo, da z ukazom wget prenašate popravek 400 MB za vaš sistem.

Postopek prenosa naj bi trajal 2 uri. Če prekinete sejo SSH ali pa se povezava nenadoma slučajno izgubi, se postopek prenosa ustavi. Znova je treba začeti od začetka. Da bi se temu izognili, lahko uporabimo zaslon in ga odstranimo.

Oglejte si ta ukaz. Najprej morate vstopiti na zaslon.

[email  ~ $ screen

Nato lahko izvedete postopek prenosa. Za primere na svoji Linux Mint nadgrajujem svoj paket dpkg z ukazom apt-get.

[email  ~ $ sudo apt-get install dpkg
Reading package lists... Done
Building dependency tree      
Reading state information... Done
The following packages will be upgraded:
  dpkg
1 upgraded, 0 newly installed, 0 to remove and 1146 not upgraded.
Need to get 2,583 kB of archives.
After this operation, 127 kB of additional disk space will be used.
Get:1 http://debian.linuxmint.com/latest/ testing/main dpkg i386 1.16.10 [2,583 kB]
47% [1 dpkg 1,625 kB/2,583 kB 47%]                                        14,7 kB/s

Med prenosom lahko pritisnete tipki "Ctrl-A" in "d". Ko pritisnete te gumbe, ne boste videli ničesar. Rezultat bo tak:

[detached from 5561.pts-0.mint]
[email  ~ $

Znova pritrdite zaslon

Ko ločite zaslon, recimo, da prekinete sejo SSH in se odpravite domov. V vašem domu znova začnete uporabljati SSH na strežniku in želite videti napredek procesa prenosa. Če želite to narediti, morate obnoviti zaslon. Zaženete lahko ta ukaz:

[email  ~ $ screen -r

In videli boste, da se postopek, ki ste ga zapustili, še vedno izvaja.

Če imate več kot eno sejo zaslona, morate vnesti ID seje zaslona. Z zasloni -ls si oglejte, koliko zaslonov je na voljo.

[email  ~ $ screen -ls
[email  ~ $ screen -ls
There are screens on:
        7849.pts-0.mint (10/06/2013 01:50:45 PM)        (Detached)
        5561.pts-0.mint (10/06/2013 11:12:05 AM)        (Detached)
2 Sockets in /var/run/screen/S-pungki

Če želite obnoviti zaslon 7849.pts-0.mint, vnesite ta ukaz.

[email  ~ $ screen -r 7849

Uporaba več zaslonov

Ko za opravljanje svojega dela potrebujete več kot en zaslon, je to mogoče? Ja, je. Hkrati lahko zaženete več oken zaslona. Obstajata 2 (dva) načina.

Najprej lahko ločite prvi zaslon in zaženete drug zaslon na resničnem terminalu. Drugič, gnezdiš zaslon.

Preklapljanje med zasloni

Ko ugnezdiš zaslon, lahko preklopiš med zaslonom z ukazom “Ctrl-A” in “n”. Premaknilo se bo na naslednji zaslon. Ko se želite pomakniti na prejšnji zaslon, samo pritisnite "Ctrl-A" in "p".

Če želite ustvariti novo okno zaslona, samo pritisnite "Ctrl-A" in "c".

Beleženje karkoli počnete

Včasih je pomembno, da zabeležite, kaj ste storili, ko ste v konzoli. Recimo, da ste skrbnik Linuxa, ki upravlja veliko Linux strežnikov.

S tem beleženjem zaslona vam ni treba zapisovati vseh posameznih ukazov, ki ste jih naredili. Če želite aktivirati funkcijo beleženja zaslona, samo pritisnite "Ctrl-A" in "H". (Prosimo, bodite previdni, uporabljamo veliko črko „H“. Če ne uporabljamo velike črke „h“, bomo posnetek zaslona ustvarili samo v drugi datoteki, imenovani tiskani papir).

V spodnjem levem kotu zaslona se prikaže obvestilo, ki vam sporoča, da je všeč: Ustvarjanje dnevniške datoteke „screenlog.0“. Datoteko screenlog.0 najdete v domačem imeniku.

Ta funkcija bo dodala vse, kar počnete, ko ste v oknu zaslona. Če želite zapreti zaslon za beleženje izvajanih dejavnosti, znova pritisnite »Ctrl-A« in »H«.

Drug način za aktiviranje funkcije beleženja je, da ob prvem zagonu zaslona dodate parameter »-L«. Ukaz bo takšen.

[email  ~ $ screen -L

Zaklenjen zaslon

Zaslon ima tudi bližnjico za zaklepanje zaslona. Za zaklepanje zaslona lahko pritisnete bližnjici “Ctrl-A” in “x”. To je priročno, če želite hitro zakleniti zaslon. Tukaj je vzorec izpisa zaklenjenega zaslona, ko pritisnete bližnjico.

Screen used by Pungki Arianto  on mint.
Password:

Za odklepanje lahko uporabite geslo za Linux.

Dodajte geslo na zaklenjeni zaslon

Iz varnostnih razlogov boste morda želeli geslo dodati na zaslon. Geslo bo zahtevano vsakič, ko želite znova pritrditi zaslon. To geslo je drugačno z zgornjim mehanizmom za zaklepanje zaslona.

Če želite zaščititi geslo za zaslon, lahko uredite datoteko »$HOME/.screenrc«. Če datoteka ne obstaja, jo lahko ustvarite ročno. Sintaksa bo taka.

password crypt_password

Če želite zgoraj ustvariti “crypt_password”, lahko v Linuxu uporabite ukaz “mkpasswd”. Tu je ukaz z geslom »pungki123«.

[email  ~ $ mkpasswd pungki123
l2BIBzvIeQNOs

mkpasswd bo ustvaril zgoščevalno geslo, kot je prikazano zgoraj. Ko dobite geslo za razpršitev, ga lahko kopirate v datoteko ".screenrc" in ga shranite. Torej bo datoteka .screenrc takšna.

password l2BIBzvIeQNOs

Ko boste naslednjič zagnali zaslon in ga odstranili, bo pri poskusu ponovne pritrditve zaslona zahtevano geslo, kot je prikazano spodaj:

[email  ~ $ screen -r 5741
Screen password:

Vnesite svoje geslo, ki je »pungki123«, in zaslon se bo znova pritrdil.

Ko implementirate to geslo na zaslonu in pritisnete "Ctrl-A" in "x", bo izhod takšen.

Screen used by Pungki Arianto  on mint.
Password:
Screen password:

Geslo vas bo vprašalo dvakrat. Prvo geslo je vaše geslo za Linux, drugo pa geslo, ki ste ga vnesli v datoteko .screenrc.

Zapuščanje zaslona

Zaslon lahko zapustite na dva (dva) načina. Najprej s pomočjo "Ctrl-A" in "d" odstranimo zaslon. Drugič, za zaključek zaslona lahko uporabimo ukaz za izhod. Za ubijanje zaslona lahko uporabite tudi "Ctrl-A" in "K".

To je nekaj uporabe zaslona vsak dan. V ukazu zaslona je še veliko funkcij. Za več podrobnosti boste morda videli priročno stran zaslona.