Ero sivun ”GNU Screen” versioiden välillä
(Pientä hienosäätöä.) |
p (T > t) |
||
(16 välissä olevaa versiota 12 käyttäjän tekeminä ei näytetä) | |||
Rivi 1: | Rivi 1: | ||
''' | {{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ä. | 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ä. | ||
Rivi 7: | Rivi 16: | ||
== Screenin käyttö == | == Screenin käyttö == | ||
Screenin käyttö aloitetaan komennolla | 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- | 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ä Ctrl | 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>. | 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>- | Esimerkki <tt>~/.screenrc</tt>-[[asetustiedosto]]sta: | ||
startup_message off | startup_message off | ||
hardstatus alwayslastline "%-Lw%{= BW}%50>%n%f* %t%{-}%+Lw%<" | hardstatus alwayslastline "%-Lw%{= BW}%50>%n%f* %t%{-}%+Lw%<" | ||
altscreen on | altscreen on | ||
msgwait 2 | 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. | |||
== Katso myös == | |||
*[[tmux]] | |||
== Aiheesta muualla == | == Aiheesta muualla == | ||
*[http://www4.informatik.uni-erlangen.de/~jnweiger/screen-faq.html Screen-FAQ] | *[http://zakalwe.fi/~shd/ohjeet/screen-ohje.txt screen-opas] | ||
*[http://www4.informatik.uni-erlangen.de/~jnweiger/screen-faq.html Screen-FAQ (englanniksi)] | |||
[[Luokka:Komentorivin erikoisohjelmat]] | [[Luokka:Komentorivin erikoisohjelmat]] | ||
[[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.