Paano Gumamit ng screen Command ng Linux

Gamit ang Linux screen utos, maaari mong itulak ang pagpapatakbo ng mga application ng terminal sa background at hilahin ang mga ito pasulong kung nais mong makita ang mga ito. Sinusuportahan din nito ang mga split-screen display at gumagana sa mga koneksyon sa SSH, kahit na pagkatapos mong idiskonekta at kumonekta muli!

Ano ang screen Command?

Ang screen Ang utos ay isang terminal multiplexer, at ito ay ganap na naka-pack na may mga pagpipilian. Upang masabing magagawa nito ang marami ay ang apohan ng mga magulang. Ang pahina ng tao ay tumatakbo sa higit sa 4,100 mga linya.

Ang mga sumusunod ay ang pinaka-karaniwang mga kaso kung saan mo gagamitin ang screen utos, at tatalakayin pa namin ang mga ito sa artikulong ito:

  • Ang karaniwang operasyon ay upang lumikha ng isang bagong window na may isang shell sa loob nito, magpatakbo ng isang utos, at pagkatapos ay itulak ang window sa background (tinatawag na "detaching"). Kung nais mong makita kung paano ang iyong proseso, maaari mong hilahin muli ang bintana sa harapan ("muling magkabit") at magamit ulit ito. Mahusay ito para sa mahabang proseso na hindi mo nais na aksidenteng wakasan sa pamamagitan ng pagsara ng window ng terminal.
  • Kapag nakuha mo na ang screen pagpapatakbo ng session, maaari kang lumikha ng mga bagong windows at patakbuhin ang iba pang mga proseso sa kanila. Madali kang lumukso sa pagitan ng mga bintana upang masubaybayan ang kanilang pag-usad. Maaari mo ring hatiin ang iyong window ng terminal sa patayo o pahalang na mga rehiyon, at ipakita ang iyong iba't ibang screen windows sa isang window.
  • Maaari kang kumonekta sa isang remote machine, magsimula sa screen session, at ilunsad ang isang proseso. Maaari kang mag-disconnect mula sa remote host, muling kumonekta, at tatakbo pa rin ang iyong proseso.
  • Maaari kang magbahagi a screen session sa pagitan ng dalawang magkakaibang koneksyon sa SSH upang ang dalawang tao ay maaaring makita ang parehong bagay, sa real-time.

Pag-install ng screen

Upang mai-install screen sa ubuntu, gamitin ang utos na ito:

sudo apt-get install na screen

Upang mai-installscreen sa Manjaro, gamitin ang sumusunod na utos:

sudo pacman -Sy screen

Sa Fedora, nai-type mo ang sumusunod:

sudo dnf i-install ang screen

Pagsisimula sa screen

Upang simulan ang screen, i-type lamang ito tulad ng ipinakita sa ibaba at pindutin ang Enter:

screen

Makakakita ka ng isang pahina ng impormasyon sa lisensya. Maaari mong pindutin ang Space bar upang basahin ang pangalawang pahina o Ipasok upang bumalik sa prompt ng utos.

Naiwan ka sa command prompt, at tila walang nangyari. Gayunpaman, nagpapatakbo ka ngayon ng isang shell sa loob ng isang multiplexed terminal emulator. Bakit ito magandang bagay? Kaya, magsimula tayo ng isang proseso na magtatagal upang makumpleto. I-download namin ang source code para sa pinakabagong Linux kernel at i-redirect ito sa isang file na tinawag pinakabagong_kernel.zip.

Upang magawa ito, nai-type namin ang sumusunod:

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

Nagsisimula ang aming pag-download, at ang kulot ipinapakita sa atin ng output ang pag-unlad.

Hindi namin maipakita sa iyo ang isang imahe ng susunod na bit, dahil ito ay isang pagkakasunud-sunod ng keystroke. Nagta-type ka ng Ctrl + A, pinakawalan ang mga key na iyon, at pagkatapos ay pindutin ang d upang ihiwalay ang screen.

Tumatakbo pa rin ang proseso ng pag-download ngunit ang window na nagpapakita ng pag-download ay tinanggal. Bumalik ka sa window ng terminal kung saan mo inilunsad ang screen sesyon Sinasabi sa iyo ng isang mensahe na a screen may label na window 23167.pts-0.howtogeek hiwalay na.

Kailangan mo ng numero mula sa pagsisimula ng pangalan ng window upang mai-install muli ito. Kung nakalimutan mo ito, maaari mong palaging gamitin ang -ls Pagpipilian (listahan), tulad ng ipinakita sa ibaba, upang makakuha ng isang listahan ng mga hiwalay na bintana:

screen -ls

Kapag handa ka na, maaari mong gamitin ang -r (I-reachach) na pagpipilian at ang bilang ng session upang mai-reachach ito, tulad nito:

screen -r 23167

Ang window na gumana sa likuran ay ibabalik ngayon sa iyong terminal window na para bang hindi ito umalis.

Kung ito ay isang proseso na tatakbo sa pagtatapos nito sa kalaunan ay makukumpleto. Kung ito ay isang tuluy-tuloy na proseso, sa huli ay gugustuhin mong wakasan ito. Alinmang paraan, kapag natapos ang proseso, maaari kang mag-typelabasan upang lumabas mula sa screen. Bilang kahalili, maaari mong pindutin ang Ctrl + A, at pagkatapos ang K upang pilit na pumatay ng isang window.

I-type ang sumusunod na utos:

labasan

Ibinalik ka sa iyong nakaraang window ng terminal, na magpapakita pa rin ng utos na ginamit mo upang i-reachach ang window. Dahil isinara namin ang aming isa at tanging nakahiwalay na window, nakakakuha kami ng mensahe na screen ay nagtatapos na.

KAUGNAYAN:Paano Gumamit ng curl upang Mag-download ng Mga File Mula sa Linux Command Line

Paggamit ng Mga Session na pinangalanang screen

Maaari mong gamitin ang -S (Pangalan ng session) na pagpipilian upang pangalanan ang iyong screen sesyon Kung gumagamit ka ng isang hindi malilimutang pangalan kaysa sa numerong pagkakakilanlan ng session, mas maginhawa upang muling kumonekta sa isang session. Na-type namin ang sumusunod upang pangalanan ang aming session na "bigfile":

screen -S bigfile

Kailan screen inilulunsad ang aming sesyon, nakakakita kami ng isang blangkong window na may prompt ng utos. Magda-download kami ng isang malaking file, upang maaari naming magamit ang isang mahabang proseso bilang isang halimbawa.

Na-type namin ang sumusunod:

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

Kapag nagsimula ang pag-download, pinindot namin ang Ctrl + A, at pagkatapos ay pindutin ang D upang maalis ang session. Nai-type namin ang sumusunod upang magamit ang -ls (listahan) na pagpipilian kasama ang screen upang makita ang mga detalye ng aming hiwalay na sesyon:

screen -ls

Sa likod ng tagatukoy ng bilang (23266), nakikita namin ang pangalan ng aming sesyon (bigfile). Na-type namin ang sumusunod, kasama ang pangalan ng session, upang mai-install muli ito:

screen -r bigfile

Nakakonekta ulit kami sa aming window ng pag-download at nakikita na ang mahabang pag-download ay isinasagawa pa rin.

Kapag nakumpleto ang pag-download, nagta-type kami labasan upang isara ang window ng session.

Paggamit ng screen na may Maramihang Windows

Sa ngayon, nagamit na namin screen upang ilagay ang isang solong proseso sa background sa isang hiwalay na window. Gayunpaman,screen ay may kakayahang gumawa ng higit pa kaysa doon. Susunod, tatakbo kami ng ilang mga proseso na nagpapahintulot sa amin na subaybayan ang ilang mga aspeto ng aming computer.

Na-type namin ang sumusunod upang simulan ang isang sesyon sa screen na tinatawag na "monitor":

screen -S monitor

Sa prompt ng utos sa aming bagong session sa window, ilulunsad namin dmesg at gamitin ang -H (nababasa ng tao) at -w (maghintay para sa mga bagong mensahe) na pagpipilian. Ipapakita nito ang mga mensahe ng kernel buffer; lilitaw ang mga bagong mensahe kapag nangyari ito.

Na-type namin ang sumusunod:

dmesg -H -w

Lumilitaw ang mayroon nang mga mensahe. Hindi kami naibalik sa command prompt dahil dmseg ay naghihintay para sa mga bagong mensahe, at ipapakita ang mga ito pagdating nila.

KAUGNAYAN:Paano Magamit ang dmesg Command sa Linux

Nais naming magpatakbo ng isa pang application, kaya kailangan namin ng bago screen bintana Pinindot namin ang Ctrl + A, at pagkatapos ang C upang lumikha ng isang sariwang window. Gagamitin namin panuorin upang paulit-ulit na tumakbo vmstat, sa gayon nakakakuha kami ng madalas na na-update na pagpapakita ng paggamit ng virtual memory sa aming computer.

Sa bagong prompt ng utos, nai-type namin ang sumusunod:

manuod ng vmstat

Ang vmstat lilitaw ang output at ina-update bawat dalawang segundo.

Tumatakbo na ang aming dalawang proseso. Upang lumukso sa pagitan ngscreen windows, pinindot mo ang Ctrl + A, at ang bilang ng window. Ang una naming nilikha ay ang window zero (0), ang susunod ay window 1, at iba pa. Upang lumukso sa unang window (ang dmesg isa), pinindot namin ang Ctrl + A at 0.

Kung pinindot namin ang Ctrl + A at 1, ibabalik ito sa amin vmstat bintana

Iyon ay medyo nakakatawa! Maaari naming pindutin ang Ctrl + A, at pagkatapos D upang tumahi mula sa sesyon na ito; maaari tayong muling magkabit sa ibang pagkakataon. Ang parehong session ay tatakbo pa rin. Muli, upang lumipat sa pagitan ng mga bintana, pinindot namin ang Ctrl + A at ang numero (0 o 1) ng window na nais naming lumipat.

Pumunta tayo sa susunod na hakbang at tingnan ang parehong mga screen sa isang window. Kapag ginawa mo ito, iunat mo ang iyong terminal window sa isang laki na ginagawang kapaki-pakinabang ang hakbang na ito. Ang aming mga halimbawa ay napipigilan sa laki ng aming mga screenshot, kaya't ang aming mga bintana ay magmukhang medyo masikip.

Upang magawa ito, pinindot namin ang Ctrl + A, at pagkatapos ay ang Shift + S (kinakailangan ng isang kapital na "S").

Hinahati ang bintana sa dalawang "rehiyon."

Ipinapakita pa rin ang tuktok na rehiyon vmstat, at ang ilalim na rehiyon ay blangko. Ang cursor ay naka-highlight sa screenshot sa ibaba. Upang ilipat ito sa mas mababang rehiyon, pinindot namin ang Ctrl + A, at pagkatapos ay Tab.

Ang cursor ay lilipat sa mas mababang rehiyon, na talagang walang laman na puwang. Hindi ito isang shell, kaya't hindi namin mai-type ang anuman dito. Upang makakuha ng isang kapaki-pakinabang na display, pinindot namin ang Ctrl + A, at pagkatapos ay pindutin ang "0" upang maipakita ang dmesg window sa rehiyon na ito.

Nagbibigay ito sa amin ng parehong live na output sa isang split window. Kung pinindot namin ang Ctrl + A at D upang alisin ang bintana, at pagkatapos ay i-install muli ito, mawawala sa amin ang split-pane view. Gayunpaman, maaari naming ibalik ito sa mga sumusunod na mga keyboard shortcut:

  • Ctrl + A, S: Hatiin ang window nang pahalang.
  • Ctrl + A, Tab: Lumipat sa mas mababang rehiyon.
  • Ctrl + A, 0: Ipakita ang window ng zero sa mas mababang rehiyon.

Maaari nating gawin ang mga bagay kahit na isang hakbang pa. Hahatiin namin ngayon ang ibabang pane nang patayo, at magdagdag ng isang pangatlong proseso sa display. Gamit ang cursor sa mas mababang rehiyon, pinindot namin ang Ctrl + A at C upang lumikha ng isang bagong window na may isang shell dito. Ipinapakita ng mas mababang rehiyon ang bagong window at binibigyan kami ng isang prompt ng utos.

Susunod, pinatakbo namin ang df utos na suriin ang paggamit ng system ng file:

df

Kapag nakita natin df tumatakbo, na-hit namin ang Ctrl + A at ang character na tubo (|). Hinahati nito ang ibabang rehiyon nang patayo. Pinindot namin ang Ctrl + A at Tab upang lumipat sa bagong rehiyon. Susunod, pinindot namin ang Ctrl + A at 0 upang maipakita ang dmesg bintana

Maaari ka ring lumipat mula sa bawat rehiyon, at magdagdag ng higit pang mga patayo o pahalang na paghati. Narito ang ilang mas kapaki-pakinabang na pangunahing mga kumbinasyon:

  • Ctrl + A: Bumalik-balik sa pagitan ng kasalukuyan at nakaraang mga rehiyon.
  • Ctrl + A, Q: Isara ang lahat ng mga rehiyon maliban sa kasalukuyan.
  • Ctrl + A, X: Isara ang kasalukuyang rehiyon.

Paggamit ng screen Higit sa SSH

Kasama si screen, maaari mong simulan ang isang sesyon ng window, tanggalin ito upang tumatakbo pa rin ito sa background, mag-log off o bumalik, at muling i-install ang session.

Gumawa tayo ng isang koneksyon sa SSH sa aming computer mula sa isang naiiba sassh utos Kailangan naming ibigay ang pangalan ng account kung saan kami makakonekta at ang address ng remote computer.

Para sa aming halimbawa, nai-type namin ang sumusunod:

ssh [email protected]

Matapos naming mapatunayan sa remote computer at mag-log in, nai-type namin ang sumusunod upang magsimula a screen session na tinatawag na "ssh-geek":

screen -S ssh-geek

Para sa mga layunin ng pagpapakita, tatakbo kamituktok nasa screen window, ngunit maaari mong simulan ang anumang matagal na o walang katapusang proseso.

Na-type namin ang sumusunod:

tuktok

Minsantuktok ay tumatakbo sa window, na-hit namin ang Ctrl + A, at pagkatapos D upang tanggalin ang window.

Bumalik kami sa orihinal, malayuang window ng terminal.

Kung magtype tayo labasan, tulad ng ipinakita sa ibaba, ididiskonekta nito ang sesyon ng SSH at bumalik kami sa aming lokal na computer:

labasan

Na-type namin ang sumusunod upang muling kumonekta:

ssh [email protected]

Matapos kaming muling kumonekta at mag-log in, maaari naming mai-type ang sumusunod upang muling mai-install ang screen session:

screen -r ssh-geek

Nakakonekta na kami ngayon sa aming tumatakbo pa ring halimbawa ng tuktok.

Mahusay ito kung nais mong magsimula ng isang proseso sa isang machine, at pagkatapos ay kunin kung saan ka man tumigil sa isa pa.

KAUGNAYAN:Paano Lumikha at Mag-install ng Mga SSH Keys Mula sa Linux Shell

Pagbabahagi ng isang Session sa screen

Maaari mo ring gamitin ang a screen session upang payagan ang dalawang tao na makita at makipag-ugnay sa parehong window. Sabihin nating ang isang tao na nagpapatakbo ng Fedora sa kanyang computer ay nais na kumonekta sa aming Ubuntu server.

Na-type niya ang sumusunod:

ssh [email protected]

Matapos siyang konektado, nagsimula siya sa isang sesyon sa screen na tinatawag na "ssh-geek" gamit ang pagpipiliang -S (pangalan ng session). Gumagamit din siya ng -d (tanggalin) at-m Mga pagpipilian sa (ipinatupad na paglikha) upang lumikha ng bago screen naka-hiwalay na ang session.

Nagta-type siya ng mga sumusunod:

screen -d -m -S ssh-geek

Nagta-type siya ng mga sumusunod, gamit ang -X (Multiscreen mode) na pagpipilian upang ikabit ang session:

screen -X ssh-geek

Sa isang Manjaro computer, ang ibang tao ay kumokonekta sa Ubuntu computer na may parehong mga kredensyal ng account, tulad ng ipinakita sa ibaba:

ssh [email protected]

Kapag nakakonekta na siya, type niya angscreen utos at ginagamit ang pagpipiliang -X (multiscreen mode) upang sumali sa parehong session ng window, tulad nito:

screen -X ssh-geek

Ngayon, anumang uri ng alinman sa tao, makikita ng iba. Halimbawa, kapag ang isang tao ay naglabas ng utos ng petsa, pareho nilang nakikita ito bilang na-type, pati na rin ang output nito.

Ang parehong mga tao ay nagbabahagi ngayon a screen tumatakbo ang session sa isang remote na computer ng Ubuntu.

Para sa isang piraso ng software na unang nakakita ng ilaw ng araw noong 1987, screen naka-pack pa rin ang isang mahusay na wallop ng pagiging produktibo. Pamilyar sa iyong sarili dito ay magiging oras na gugugol!

KAUGNAYAN:37 Mahalagang Mga Utos ng Linux Dapat Mong Malaman


$config[zx-auto] not found$config[zx-overlay] not found