10 Mga Ehemplo sa Screen Command sa Pagdumala sa mga Terminal sa Linux


Ang screen kay usa ka full-screen nga software program nga magamit sa pag-multiples sa usa ka physical console tali sa pipila ka mga proseso (kasagaran interactive shells). Nagtanyag kini sa usa ka tiggamit sa pag-abli sa daghang lain nga mga higayon sa terminal sa sulod sa usa ka manager sa bintana sa terminal.

[ Tingali ganahan ka usab: Giunsa Paggamit ang 'Tmux Terminal' aron Ma-access ang Daghang mga Terminal sa Sulod sa Usa ka Console]

Ang aplikasyon sa screen mapuslanon kaayo kung nag-atubang ka sa daghang mga programa gikan sa interface sa command-line ug alang sa pagbulag sa mga programa gikan sa terminal shell. Gitugotan ka usab niini nga ipaambit ang imong mga sesyon sa uban nga mga tiggamit ug i-detach/ilakip ang mga sesyon sa terminal.

Sa akong Ubuntu Server Edition, ang Screen gi-install pinaagi sa default. Apan, sa Linux Mint walay screen nga gi-install nga default, kinahanglan nako nga i-install kini una gamit ang apt-get command sa wala pa kini gamiton.

Palihug sunda ang imong pamaagi sa pag-install sa pag-apod-apod aron ma-install ang screen.

$ sudo apt-get install screen       [On Debian, Ubuntu and Mint]
$ sudo yum install screen           [On RHEL/CentOS/Fedora and Rocky Linux/AlmaLinux]
$ sudo emerge -a sys-apps/screen    [On Gentoo Linux]
$ sudo pacman -S screen            [On Arch Linux]
$ sudo zypper install screen       [On OpenSUSE]    

Sa tinuud, ang screen usa ka maayo kaayo nga terminal multiplexer nga programa sa Linux nga gitago sa sulod sa gatusan nga mga mando sa Linux.

Magsugod kita sa pagtan-aw sa paggamit sa screen command sa Linux uban sa mosunod nga mga pananglitan.

Pagsugod sa Screen sa Unang Higayon

I-type lang ang screen sa command prompt. Unya ang screen magpakita sa usa ka interface nga eksakto sama sa command prompt.

[email  ~ $ screen

Ipakita ang Parameter sa Screen

Kung mosulod ka sa screen, mahimo nimo ang tanan nimo nga trabaho samtang naa ka sa normal nga palibot sa command-line. Apan tungod kay ang screen usa ka aplikasyon, busa kini adunay mga mando o mga parameter.

Isulat ang Ctrl-A ug ? walay kinutlo. Dayon imong makita ang tanang mga sugo o mga parameter sa screen.

Aron makagawas sa screen sa tabang, mahimo nimong i-press ang \space-bar nga buton o Enter.

Kuhaa ang Terminal Session nga adunay Screen

Usa sa mga bentaha sa usa ka screen nga mahimo nimo kini matangtang. Unya, mahimo nimong ibalik kini nga dili mawala ang bisan unsang nahimo nimo sa screen. Ania ang sampol nga senaryo:

Anaa ka sa tunga sa SSH sa imong server. Ingnon ta nga nag-download ka og 400MB nga patch para sa imong sistema gamit ang wget command.

[ Tingali ganahan ka usab: Unsaon Pagsiguro ug Pagtig-a sa OpenSSH Server ]

Ang proseso sa pag-download gibanabana nga molungtad og 2 ka oras. Kung imong gidiskonekta ang sesyon sa SSH, o kalit nga nawala ang koneksyon sa aksidente, unya ang proseso sa pag-download mohunong. Kinahanglan ka nga magsugod pag-usab gikan sa sinugdanan. Aron malikayan kana, mahimo natong gamiton ang usa ka screen ug tangtangon kini.

Tan-awa kini nga sugo. Una, kinahanglan ka nga mosulod sa screen.

[email  ~ $ screen

Unya mahimo nimo ang proseso sa pag-download. Pananglitan sa akong Linux Mint, akong gi-upgrade ang akong dpkg package gamit ang apt-get command.

[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

Samtang nagpadayon ang pag-download, mahimo nimong pindota ang Ctrl-A ug d. Dili nimo makita ang bisan unsang butang kung imong ipadayon ang mga buton. Ang output mahimong sama niini:

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

I-attach pag-usab ang Terminal Session nga adunay Screen

Human nimo matangtang ang screen, ingnon ta nga imong gidiskonekta ang imong sesyon sa SSH ug mopauli. Sa imong balay, magsugod ka pag-usab sa SSH sa imong server ug gusto nimong makita ang pag-uswag sa imong proseso sa pag-download. Aron mahimo kana, kinahanglan nimo nga ibalik ang screen. Mahimo nimong ipadagan kini nga mando:

[email  ~ $ screen -r

Ug imong makita nga ang proseso nga imong gibiyaan nagpadayon pa.

Kung adunay ka labaw sa 1 nga sesyon sa screen, kinahanglan nimo nga i-type ang screen session ID. Gamita ang screen -ls aron makita kung pila ka mga screen ang magamit.

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

Kung gusto nimo ibalik ang screen 7849.pts-0.mint, dayon i-type kini nga mando.

[email  ~ $ screen -r 7849

Paggamit sa Multiple Screen Terminal Windows

Kung kinahanglan nimo labaw pa sa 1 screen aron mahimo ang imong trabaho, posible ba? Oo, mao kini. Mahimo nimong ipadagan ang daghang mga bintana sa screen sa parehas nga oras. Adunay 2 (duha) ka paagi sa pagbuhat niini.

Una, mahimo nimong tangtangon ang unang screen ug ipadagan ang laing screen sa tinuod nga terminal. Ikaduha, naghimo ka usa ka nested screen.

Pagbalhin Taliwala sa Screen Terminal Windows

Kung maghimo ka usa ka nested screen, mahimo ka magbalhin sa taliwala sa mga screen gamit ang mga yawe nga Ctrl-A ug n. Mobalhin kini sa sunod nga screen. Kung kinahanglan nimo nga moadto sa miaging screen, pindota lang ang Ctrl-A ug p.

Aron makahimo og bag-ong screen window, pindota lang ang Ctrl-A ug c.

I-enable ang Screen Logging sa Linux

Usahay importante nga irekord ang imong nahimo samtang naa ka sa console. Ingnon ta nga ikaw usa ka Linux Administrator nga nagdumala sa daghang mga server sa Linux.

Uban niini nga screen logging, dili nimo kinahanglan nga isulat ang matag usa nga sugo nga imong nahimo. Aron ma-aktibo ang function sa pag-log sa screen, pindota lang ang Ctrl-A ug H. (Palihug pag-amping, migamit kami ug dagkong 'H' nga mga letra. Gamit ang dili-kapital nga 'h', maghimo lang og screenshot sa screen sa laing file nga ginganlan og hardcopy).

Sa ubos sa wala sa screen, adunay usa ka pahibalo nga nagsulti kanimo nga gusto: Paghimo logfile screenlog.0. Makita nimo ang screenlog.0 file sa imong home directory.

Kini nga feature magdugang sa tanan nimong buhaton samtang anaa ka sa screen window. Aron isira ang screen sa pag-log running nga kalihokan, pindota ang Ctrl-A ug H pag-usab.

Ang laing paagi aron ma-aktibo ang bahin sa pag-log, mahimo nimong idugang ang parameter nga -L sa una nga pagdagan sa screen. Ang sugo mahimong sama niini.

[email  ~ $ screen -L

I-lock ang Linux Terminal Screen

Ang screen usab adunay usa ka shortcut sa pag-lock sa screen. Mahimo nimong ipadayon ang Ctrl-A ug x nga mga shortcut aron ma-lock ang screen. Magamit kini kung gusto nimo nga ma-lock dayon ang imong screen. Ania ang usa ka sample nga output sa lock screen pagkahuman nimo pugngi ang shortcut.

Screen used by Pungki Arianto  on mint.
Password:

Mahimo nimong gamiton ang imong password sa Linux aron maablihan kini.

Idugang ang password sa Lock Screen

Alang sa mga hinungdan sa seguridad, mahimo nimong ibutang ang password sa imong sesyon sa screen. Pangutan-on ang usa ka Password bisan kanus-a nimo gusto nga i-attach pag-usab ang screen. Kini nga password lahi sa mekanismo sa Lock Screen sa ibabaw.

Aron maprotektahan ang imong password sa screen, mahimo nimong usbon ang $HOME/.screenrc file. Kung wala ang file, mahimo nimo kini nga mano-mano. Ang syntax mahimong sama niini.

password crypt_password

Aron makahimo og crypt_password sa ibabaw, mahimo nimong gamiton ang mkpasswd nga sugo sa Linux. Ania ang sugo nga adunay password nga pungki123.

[email  ~ $ mkpasswd pungki123
l2BIBzvIeQNOs

Ang mkpasswd makamugna og hash nga password sama sa gipakita sa ibabaw. Kung makuha na nimo ang hash nga password, mahimo nimong kopyahon kini sa imong .screenrc nga file ug i-save kini. Busa ang .screenrc nga file mahimong sama niini.

password l2BIBzvIeQNOs

Sa sunod higayon nga imong ipadagan ang screen ug tangtangon kini, usa ka password ang pangutan-on kung imong sulayan nga i-attach kini pag-usab, sama sa gipakita sa ubos:

[email  ~ $ screen -r 5741
Screen password:

I-type ang imong password, nga pungki123 ug ang screen i-attach pag-usab.

Human nimo ipatuman kini nga password sa screen ug imong pindota ang Ctrl-A ug x, unya ang output mahimong sama niini.

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

Usa ka Password ang ipangutana kanimo sa makaduha. Ang una nga password mao ang imong password sa Linux, ug ang ikaduha nga password mao ang password nga imong gibutang sa imong .screenrc file.

Pagbiya sa Screen Terminal Session

Adunay 2 (duha) ka paagi sa pagbiya sa screen. Una, gigamit namon ang Ctrl-A ug d aron matangtang ang screen. Ikaduha, mahimo natong gamiton ang exit command sa pagtapos sa screen. Mahimo usab nimo gamiton ang Ctrl-A ug K aron patyon ang screen.

Kana ang pipila sa mga paggamit sa screen kada adlaw. Adunay daghan pa nga mga bahin sa sulod sa screen command. Mahimo nimong makita ang screen man page alang sa dugang nga detalye.