Ero sivun ”GNU Screen” versioiden välillä

Linux.fista
Siirry navigaatioon Siirry hakuun
Ei muokkausyhteenvetoa
 
p (T > t)
 
(32 välissä olevaa versiota 17 käyttäjän tekeminä ei näytetä)
Rivi 1: Rivi 1:
'''Screen''' on ohjelma jonka avulla voit ajaa muita ohjelmia taustalla, samalla turvaten ohjelmien toiminnan jatkuvuuden, vaikka olisit etäyhteydessä koneeseen ja tämä yhteys katkeaisi. Ohjelma jää käyntiin screenin sisään ja voit palata jatkamaan työtäsi uudella yhteydenotolla.
{{Ohjelma
| nimi=GNU Screen
| kuva=
| kuvateksti=
| lisenssi=[[GPLv2+]]
| käyttöliittymä=teksti
| kotisivu=[https://gnu.org/software/screen/ gnu.org/software/screen]
}}
 
'''GNU Screen''' on apuohjelma, jolla luodaan virtuaalisia terminaaleja toisten ohjelmien käyttöön. Virtuaaliterminaalissa toimivat ohjelmat eivät tarvitse fyysistä terminaali-ikkunaa toimiakseen, vaan ne voivat olla myös taustalla piilossa. Ohjelma itse ei edes tiedä, onko sillä yhteys fyysiseen terminaaliin vai ei.
 
Screeniä voidaan käyttää monenlaiseen virtuaalisten, ei-fyysisten terminaalien käsittelyyn. Yhdestä fyysisestä terminaali-ikkunasta voidaan hallita useita virtuaalisia terminaaleja ja niissä toimivia ohjelmia. Toisaalta myös yksi virtuaalinen terminaali voidaan ottaa samalla kertaa näkyviin useisiin fyysisiin terminaaleihin, ja näin esimerkiksi useat henkilöt voivat omilta koneiltaan käyttää tai katsoa samaa ohjelmaa yhtä aikaa. Yleinen virtuaaliterminaalin käyttökohde on, että etäyhteyden takana toimiva ohjelma jätetään päälle, vaikka yhteys katkaistaan. Aiemmin jätetty virtuaaliterminaali voidaan myöhemmin ottaa näkyviin ja jatkaa ohjelman käyttämistä.  
 
[[Irssi]]n ja [[SSH]]:n kanssa Screen muodostaa toimivan ja hyväksi havaitun IRC-läsnäolojärjestelyn: voit jättää IRC-yhteytesi auki Irssiin ja irkkailla tarpeen mukaan SSH:n avulla mistä vain Internet- ja ssh-yhteyden ääreen pääset. Yhdistä tähän vielä [[bitlbee]], niin saat myös pikaviestiprotokollat, kuten MSN:n mukaan.


== Screenin käyttö ==
== Screenin käyttö ==


Screenin käyttö onnistuu yksinkertaisesti komennolla ''screen'' tai ''screen ohjelman_nimi''. Mikäli haluat poistua screenistä, suljet vain kyseisen ohjelman ja screenikin sulkeutuu, vaihtoehtoisesti voit painaa Ctrl-a ja sen jälkeen iso K. Halutessasi jättää ohjelman käyntiin screeniin ja poistua itse tekemään jotain muuta, se onnistuu painamalla Ctrl-a ja sen jälkeen d-kirjainta. Takaisin screeniin pääset ''screen -d'' käskyllä.
Screenin käyttö aloitetaan komennolla  
screen
tai
screen ''ohjelman_nimi''
Ensimmäinen komento avaa virtuaalisen terminaalin ja käynnistää siihen käyttäjän [[komentotulkki|oletuskomentotulkin]]; jälkimmäinen komento käynnistää terminaaliin ohjelman <tt>''ohjelman_nimi''</tt>. Mikäli haluat lopettaa Screenin, sulje vain Screenissä toimiva ohjelman ja Screenikin sulkeutuu samalla. Halutessasi voit jättää ohjelman taustalle käyntiin ja poistua itse tekemään jotain muuta. Se onnistuu painamalla {{näppäin|Ctrl|a}} ja sen jälkeen {{näppäin|d}}-kirjainta. Takaisin Screeniin ja sen ylläpitämiin virtuaalisiin terminaaleihin pääset komennolla
screen -r
 
Näppärä tapa screenin käyttöön on myös komento <tt>screen -DRR</tt>, joka sulkee ja kirjaa ulos muualla käynnissä olevat screen-istunnot ja liittää screenin käytössä olevaan päätteeseen. Jos screeniä ei ole, sellainen luodaan.
 
Screenissä voi luoda useita virtuaaliterminaaleja (ikkunoita). Näppäimillä {{näppäin|Ctrl|a|c}} avataan uusi terminaali ja käynnistetään käyttäjän oletuskomentotulkki. Terminaaleja voi avata useita, ja niiden välillä vaihdetaan painamalla {{näppäin|Ctrl|a}} ja tämän jälkeen ikkunan numero, esimerkiksi {{näppäin|Ctrl|a}} ja 2. Jokainen virtuaalinen terminaali toimii ihan normaalisti, vaikka se ei näkyisikään ruudulla. Apua Screenistä saat painamalla {{näppäin|Ctrl|a}} ja sen jälkeen kysymysmerkkiä. Komento <tt>man screen</tt> kertoo lisää Screenin käytöstä ja komennoista.
 
Komentorivin tekstiä voi vierittää pystysuunnassa painamalla Ctrl-a ja [ (eli Ctrl-a j AltGr-8), jonka jälkeen tekstiä voi selata nuolinäppäimillä, Page Up ja Page Down -painikkeilla, sekä näppäimillä h,j,k ja l kuten esimerkiksi [[Vimin peruskäyttö|Vimissä]]. Vieritystilasta poistutaan painamalla Esciä.
 
Näppäinyhdistelmä Ctrl-a on käytössä useissa muissakin ohjelmissa. Esimerkiksi [[Emacs]]-tyylisessä komentorivimuokkauksessa se tarkoittaa ’siirrä kursori rivin alkuun’. Koska Ctrl-a on varattu Screenille, ei kyseinen näppäinyhdistelmä mene lainkaan Screenissä toimivalle ohjelmalle. Asia on korjattu siten, että Screeniin on varattu näppäinyhdistelmä Ctrl-a ja a, joka lähetetään ohjelmalle Ctrl-a:na. Screenin komentonäppäimen voi kuitenkin myös halutessaan vaihtaa joksikin muuksi lisäämällä <tt>~/.screenrc</tt>-tiedostoon esimerkiksi rivin <tt>escape ^Zz</tt>.
 
Esimerkki <tt>~/.screenrc</tt>-[[asetustiedosto]]sta:
startup_message off
hardstatus alwayslastline "%-Lw%{= BW}%50>%n%f* %t%{-}%+Lw%<"
altscreen on
msgwait 2
 
Ruudun vieritys ei välttämättä toimi kunnolla käytettäessä Screeniä [[terminaaliemulaattori|terminaaliemulaattoreiden]] (kuten [[Xterm]]) kanssa. Tämän voi korjata lisäämällä screenrc-tiedostoon rivin
termcapinfo xterm* ti@:te@
 
==Screenin avaus skriptissä tai [[cron]]issa==
Screeniä ei ole välttämättä kätevää avata oletusasetuksilla skriptistä tai cron-tehtävästä käsin, sillä kiinnittyminen ei ole välttämättä sitä mitä tavoitellaan. Mutta jos haluat esimerkiksi käynnistää [[irssi]]-keskusteluohjelman automaattisesti järjestelmän käynnistyksessä, sopiva cron-rivi olisi
  @reboot screen -d -m irssi
Tällöin screen aukeaa irroitetussa tilassa ja käynnistää irssin.


Screenin sisällä, mikäli tarvitse toisenkin screenin, painat vain Ctrl-a ja c jolloin uusi ikkuna aukeaa. Screen-ikkunoita voi avata lukuisia, voit vaihtaa eri ikkunoiden välillä painamalla Ctrl-a ja tämän jälkeen ikkunan numero, esimerkiksi Ctrl-a ja 2. Jokainen Screen-ikkuna toimii taustalla vaikka se ei olisikaan ruudulla.
== Katso myös ==


Apuja screenin sisällä saat painamalla Ctrl-a ja sen jälkeen kysymysmerkkiä. Komento ''man screen'' kertoo lisää screenin käytöstä ja komennoista.
*[[tmux]]


== Aiheesta muualla ==
*[http://zakalwe.fi/~shd/ohjeet/screen-ohje.txt screen-opas]
*[http://www4.informatik.uni-erlangen.de/~jnweiger/screen-faq.html Screen-FAQ (englanniksi)]


== Ulkoiset linkit ==
[[Luokka:Komentorivin erikoisohjelmat]]
* http://www4.informatik.uni-erlangen.de/~jnweiger/screen-faq.html Screen FAQ
[[Luokka:Prosessienhallinta]]

Nykyinen versio 19. heinäkuuta 2018 kello 07.38

GNU Screen
Käyttöliittymä teksti
Lisenssi GPLv2+
Kotisivu gnu.org/software/screen

GNU Screen on apuohjelma, jolla luodaan virtuaalisia terminaaleja toisten ohjelmien käyttöön. Virtuaaliterminaalissa toimivat ohjelmat eivät tarvitse fyysistä terminaali-ikkunaa toimiakseen, vaan ne voivat olla myös taustalla piilossa. Ohjelma itse ei edes tiedä, onko sillä yhteys fyysiseen terminaaliin vai ei.

Screeniä voidaan käyttää monenlaiseen virtuaalisten, ei-fyysisten terminaalien käsittelyyn. Yhdestä fyysisestä terminaali-ikkunasta voidaan hallita useita virtuaalisia terminaaleja ja niissä toimivia ohjelmia. Toisaalta myös yksi virtuaalinen terminaali voidaan ottaa samalla kertaa näkyviin useisiin fyysisiin terminaaleihin, ja näin esimerkiksi useat henkilöt voivat omilta koneiltaan käyttää tai katsoa samaa ohjelmaa yhtä aikaa. Yleinen virtuaaliterminaalin käyttökohde on, että etäyhteyden takana toimiva ohjelma jätetään päälle, vaikka yhteys katkaistaan. Aiemmin jätetty virtuaaliterminaali voidaan myöhemmin ottaa näkyviin ja jatkaa ohjelman käyttämistä.

Irssin ja SSH:n kanssa Screen muodostaa toimivan ja hyväksi havaitun IRC-läsnäolojärjestelyn: voit jättää IRC-yhteytesi auki Irssiin ja irkkailla tarpeen mukaan SSH:n avulla mistä vain Internet- ja ssh-yhteyden ääreen pääset. Yhdistä tähän vielä bitlbee, niin saat myös pikaviestiprotokollat, kuten MSN:n mukaan.

Screenin käyttö[muokkaa]

Screenin käyttö aloitetaan komennolla

screen

tai

screen ohjelman_nimi

Ensimmäinen komento avaa virtuaalisen terminaalin ja käynnistää siihen käyttäjän oletuskomentotulkin; jälkimmäinen komento käynnistää terminaaliin ohjelman ohjelman_nimi. Mikäli haluat lopettaa Screenin, sulje vain Screenissä toimiva ohjelman ja Screenikin sulkeutuu samalla. Halutessasi voit jättää ohjelman taustalle käyntiin ja poistua itse tekemään jotain muuta. Se onnistuu painamalla Ctrl+a ja sen jälkeen d-kirjainta. Takaisin Screeniin ja sen ylläpitämiin virtuaalisiin terminaaleihin pääset komennolla

screen -r

Näppärä tapa screenin käyttöön on myös komento screen -DRR, joka sulkee ja kirjaa ulos muualla käynnissä olevat screen-istunnot ja liittää screenin käytössä olevaan päätteeseen. Jos screeniä ei ole, sellainen luodaan.

Screenissä voi luoda useita virtuaaliterminaaleja (ikkunoita). Näppäimillä Ctrl+a+c avataan uusi terminaali ja käynnistetään käyttäjän oletuskomentotulkki. Terminaaleja voi avata useita, ja niiden välillä vaihdetaan painamalla Ctrl+a ja tämän jälkeen ikkunan numero, esimerkiksi Ctrl+a ja 2. Jokainen virtuaalinen terminaali toimii ihan normaalisti, vaikka se ei näkyisikään ruudulla. Apua Screenistä saat painamalla Ctrl+a ja sen jälkeen kysymysmerkkiä. Komento man screen kertoo lisää Screenin käytöstä ja komennoista.

Komentorivin tekstiä voi vierittää pystysuunnassa painamalla Ctrl-a ja [ (eli Ctrl-a j AltGr-8), jonka jälkeen tekstiä voi selata nuolinäppäimillä, Page Up ja Page Down -painikkeilla, sekä näppäimillä h,j,k ja l kuten esimerkiksi Vimissä. Vieritystilasta poistutaan painamalla Esciä.

Näppäinyhdistelmä Ctrl-a on käytössä useissa muissakin ohjelmissa. Esimerkiksi Emacs-tyylisessä komentorivimuokkauksessa se tarkoittaa ’siirrä kursori rivin alkuun’. Koska Ctrl-a on varattu Screenille, ei kyseinen näppäinyhdistelmä mene lainkaan Screenissä toimivalle ohjelmalle. Asia on korjattu siten, että Screeniin on varattu näppäinyhdistelmä Ctrl-a ja a, joka lähetetään ohjelmalle Ctrl-a:na. Screenin komentonäppäimen voi kuitenkin myös halutessaan vaihtaa joksikin muuksi lisäämällä ~/.screenrc-tiedostoon esimerkiksi rivin escape ^Zz.

Esimerkki ~/.screenrc-asetustiedostosta:

startup_message off
hardstatus alwayslastline "%-Lw%{= BW}%50>%n%f* %t%{-}%+Lw%<"
altscreen on
msgwait 2

Ruudun vieritys ei välttämättä toimi kunnolla käytettäessä Screeniä terminaaliemulaattoreiden (kuten Xterm) kanssa. Tämän voi korjata lisäämällä screenrc-tiedostoon rivin

termcapinfo xterm* ti@:te@

Screenin avaus skriptissä tai cronissa[muokkaa]

Screeniä ei ole välttämättä kätevää avata oletusasetuksilla skriptistä tai cron-tehtävästä käsin, sillä kiinnittyminen ei ole välttämättä sitä mitä tavoitellaan. Mutta jos haluat esimerkiksi käynnistää irssi-keskusteluohjelman automaattisesti järjestelmän käynnistyksessä, sopiva cron-rivi olisi

 @reboot screen -d -m irssi

Tällöin screen aukeaa irroitetussa tilassa ja käynnistää irssin.

Katso myös[muokkaa]

Aiheesta muualla[muokkaa]