Screen

Screen er et program som når det kjøres fra kommandolinje åpner en ny kommandolinje (et nytt skall). Denne "nye" kommandolinjen brukes på akkurat samme måte som en vanlig kommandolinje, og du kan kjøre alle kommandoer og programmer på vanlig måte. Forskjellen fra en vanlig kommandolinje er at du kan la programmet eller beregningen kjøre i bakgrunnen selv om du har logget deg ut. Det er viktig å huske på at dette bare gjelder tekstbaserte programmer, hvis du starter et grafisk program fra screen vil det avsluttes når du kobler fra (detacher) sesjonen.

Bruk av screen

For å starte screen, skriver du screen i et terminalvindu. Du kan velge å starte som screen -S navn_på_sesjon slik at det blir lettere å holde oversikt over ulike sesjoner. Når screen har startet ser du som sagt en helt vanlig kommandolinje, som brukes på vanlig måte. Hvis du for eksempel ønsker å starte matlab (i tekstmodus slik at den ikke avsluttes når du logger ut), skriver du nå matlab -nodesktop.

For å detache screen-sesjonen (legge prosessen i bakgrunnen) trykker du Ctrl-a d. Da kommer du tilbake til den vanlige kommandolinjen. Prosessen(e) som kjører i screen vil fortsatt kjøre i bakgrunnen selv om du lukker terminalvinduet og logger ut. Du kan når som helst reattache (gjenåpne) screen-sesjonen med screen -r.

Du kan ha flere vinduer i samme screen-sesjon. Ctrl-a c åpner et nytt vindu, og med Ctrl-a A kan du endre navn på vinduet for ryddighetens skyld. Du kan se en oversikt over alle vinduene du har oppe ved å trykke på Ctrl-a ". Her kan du velge hvilket vindu du vil åpne med piltastene og enter. Kommandoen for å lukke et vindu (det du har oppe) er Ctrl-a K. Hvis du bare har et vindu oppe vil dette avslutte screen. For å lukke alle vinduene og avslutte screen brukes Ctrl-a Ctrl-\.

screen -list gir deg en oversikt over dine screen-sesjoner på den maskinen du er innlogget på.

Kort oppsummering av vanlige screen-kommandoer:

I screen (alle kommandoer i screen starter med ''Ctrl-a''):

Ctrl-a c nytt vindu
Ctrl-a A endre navn på aktivt vindu
Ctrl-a " oversikt over alle vinduene
Ctrl-a K lukke aktivt vindu
Ctrl-a :quit avslutte screen (kan ikke gjenopptas)
Ctrl-a d detach

Fra vanlig kommandolinje:

screen starter ny screen-sesjon
screen -r reattach
screen -list dine screen-sesjoner på denne maskinen

Husk at en screen-sesjon som du kjører på maskin X ikke kan nås fra en annen maskin (Y) med mindre du logger deg inn på maskin X via ssh fra maskin Y. Det kan derfor være en god idé å skrive ned hvilken maskin du kjører en screen-sesjon på i tilfelle du glemmer det.

Se screens manualsider (man screen) for mer informasjon om screen, eller ta kontakt på drift [at] math [dot] ntnu [dot] no hvis du har noen spørsmål.

Husk å kjøre beregningene dine nice!

2019-11-18, Hallvard Norheim Bø