Screen: Terminalens beste venn

Terminal IconHar du noen gang brukt Terminal.app til å gjøre tidkrevende oppgaver som f.eks. video-koding? Da vil nok Screen være en av dine beste venner.

Hva er Screen? Kort oppsummert så er det en virtuell terminal som gir deg enkel tilgang til bakgrunnsprosessering.

Hvordan kan jeg bruke Screen?

Du skal konvertere en TV-serie fra DVD til din AppleTV. Du har funnet et script som gjør 99% av jobben for deg, men jobben må kjøres i terminal og vil ta timesvis.

  • Alternativ 1 - uten bruk av screen
    Du åpner Terminal.app og kjører scriptet direkte. Hvis du lukker terminalvinduet blir prosessen brutalt avbrutt, altså kan terminalvinduet bare minimeres.
  • Alternativ 2 - med bruk av screen
    Du starter Terminal.app, lager en virtuell terminal med Screen og kjører scriptet i den virtuelle terminalen. Hvis du lukker terminalvinduet parkeres terminalsesjonen og scriptet fortsetter i bakgrunnen. Du kan til og med avslutte Terminal.app helt (Cmd + Q).
    Man kan også parkere terminalen ved å trykke Ctrl + A og så D.

For å gjøre prossessen enda mer brukervennlig bør ikke Screen kjøres uten tillegg.

Alle terminalene man lager får tildelt et tilfeldig ID-nummer, men det sier lite om hva som skjuler seg bak IDen. Ved å starte screen ved å skrive screen -S [label] tagges terminalen med et label som kan brukes for å hente fram terminalen senere.

Når man vil koble seg på terminalen igjen skriver man bare screen -r [label] så hentes terminalen fram igjen. Hvis du lurer på om du har noen screens gående på systemet (eller glemte hvilket label du hadde gitt) så skriver du bare screen -ls.

Screen har flere muligheter, men disse er de vanligste. Mer info finnes alltid i man.

G-Macs bilde

G-Mac

Hva i alle dager er problemet med å bruke terminal igjen? At du bare kan minimere det, jeg tror aldri jeg har hatt et problem med det...

admins bilde

admin

@g-mac

Mange utfordringer med terminalen. Hva hvis jeg vil logge inn på serveren hjemme og kjøre en tidkrevende oppgave? Da vil jeg jo nødig holde liv i SSH-tilkoblingen til Macen i evigheter. Da er screen bedre.

termservs bilde

termserv

For noen år siden da jeg hang på IRC og hadde Linux-server hjemme, så brukte jeg klienten irssi med bruk av screen. Da jeg bare hadde shelltilgang er det jo greit å ha muligheten til å gjøre andre ting, uten å måtte avslutte irssi.

Lokalt på Macen har jeg enda ikke fått bruk for det, med mindre jeg jobber ekstern på andre servere.

Et tips hvis du jobber lokalt er at du enten kan ha flere terminal-vinduer oppe, ellers har jo terminal støtte for flere faner :)

EDIT: Hvis du bare har étt screen-vindu og ikke har gitt denne en label, kan du få det opp igjen ved å skrive "screen -x".

NyZeta

Har brukt screen i mange år. Det er en genial liten applikasjon som finnes i de fleste unix/linux-miljøer. Fordelene er utallige. Jeg kan jo nevne ett par her:

1. Ved hjelp av kommandoen screen -x [term.navn] kan man tvinge opp et terminalvindu. Det vil si at selv om det er åpent, åpner man det. Fordelen er at man da faktisk kan drive assistanse og vise terminalkommandoer til en venn/kolega. Alt en trenger å gjøre er å koble seg opp mot samme maskin via feks ssh.

2. [term.navn] kan settes ved hjelp av screen -S [term.navn] kommando. Rimelig greit. Driver man feks med komprimering av video og oppdatering av server, kan man skrive screen -S oppdatering. Starte oppdateringen her. trykke ctrl+a etterfulgt av d (slik som nevnt over) Så starter man et nytt vindu ved å skrive screen -S komprimering etterpå.

3. screen -ls eller screen -list viser en liste over alle screens som er aktivert.

4. screen -r [term.navn] henter opp igjen skjermen.

svars bilde

svar

@admin: Vil ikke da "sleep" parameteren i ssh kommandoen være til hjelp, vist det du starter ikke er avhengig av ssh koblingen?

Eksprimenterte litt med andre ting over ssh, og fant ut at ssh koblingen blir liggende åpen/aktiv selv om man lukker terminalen (quit kommando), med mindre man terminerer koblingen manuelt (kjedelig) eller bruker eks "sleep 60"

oo

@svar: Dersom du verkeleg ikkje vil at det du held på med på remote server skal dø trur eg kanskje dei her eksperimentelle påfunna dine bør vike for screen :)

(eller ein kan bruke nohup, mange moglegheiter..)

paramags bilde

paramag

Jeg synes visor er genialt for terminalhåndtering. http://visor.binaryage.com/

Kashmars bilde

Kashmar

paramag: Visor ser jo bra ut, men det fine med screen er at det ligger i OSX allerede.

  • Skriv ut artikkel
  • Abonner med RSS

Alt om iPad, iPhone og iOS

Nettradio i iTunes

Nettradio i iTunes
130 norske radiokanaler.
Få de mest populære norske, svenske og danske radiokanalene inn i en egen spilleliste i iTunes.
Oppdatert 13. mai