Screen – Effektivare teminal

Screen används för att emulera en terminal. Detta är speciellt användbart då man jobbar mot andra datorer över ssh och vill fortsätta köra ett jobb på en remotemaskin utan att hålla uppkopplingen igång eller om man har en förbindelse som är lite hajkon-tajkon och dyker lite då och då. Sessionen mot terminalen lever då kvar i screen och fortsätter leva trots att uppkopplingen går ner.

Screen innehåller en hel uppsjö med trix som underlättar arbetet mot remotemaskiner och det gäller bara att komma ihåg att starta screen direkt efter en ssh inloggning.

I en screen session kan man ha många olika terminaler och hoppa mellan dessa väldigt enkelt.

Min custom screen där hostname, terminalnamn och datum/tid syns i baren längst ned

Starta screen genom att köra # screen
Du kommer antagligen att mötas av en Intro text beroende på vilken dist som används och sedan ser det ut som den vanliga terminalen igen. Testa köra lite kommandon.
Screen har ett kommandoläge vilket nås genom att trycka ner “Ctrl + a” sedan följt av ytterligare en tangent för att utföra specifika saker.

För att lämna (deattache) screen används kombon “Ctrl + a + d”

För att lista alla screen sessioner körs # screen -ls

[cce lang=”text”]
# screen -ls
There is a screen on:
3134.pts-3.hbox-laptop (Detached)
1 Socket in /tmp/screens/S-h-kan.
[/cce]
För att återuppta sessionen anger vi ID’t vi fick fram ovan # screen -r 3134
Om flera användare jobbar mot samma server underlättar det om man döper sin screen session till något för att snabbare kunna hitta sin session nästa gång man loggar på.
# screen -S h-kan och för att sedan attacha till denna session körs # screen -r h-kan

Screen kommandon

CTRL + a + “ Lista och bläddra mellan alla terminaler i screen sessionen
CTRL + a + c Starta en ny terminal
CTRL + a + n Gå till nästa terminal
CTRL + a + p Gå till föregående terminal
CTRL + a + # (# = 1-9) Gå direkt till terminal nummer 1 – 9
CTRL + a + A Byta namn på den aktiva terminalen
CTRL + a + ESC Starta kopieringsläge och sätt start/slut marker med “enter”
CTRL + a + ] Klipp in det som ligger i koperingsbufferten

För att modifiera inställningarna i screen skapas ~/.screenrc som läses in vid start.
Nedan syns min ~/.screenrc som får screen att se ut som i bilden ovan.
Notera att jag har bind’at F1-F9 till terminal 1-9 för att snabbare kunna hoppa mellan terminaler.

[cce lang=”text”]
# ~/.screenrc
# Custom Statusbar
hardstatus off
hardstatus alwayslastline
hardstatus string ‘%{= kG}[ %{G}%H %{g}][%= %{= kw}%?%-Lw%?%{r}(%{W}%n*%f%t%?(%u)%?%{r})%{w}%?%+Lw%?%?%= %{g}][%{B} %m-%d %{W} %c %{g}]’

# Enables 256 color mode
term screen-256color

# Add scrollback buffer
defscrollback 10000

# Turn off startup message
startup_message off

# Fix for residual editor text
altscreen on

# Bind , and . to toogle between left and right tab
bind ‘,’ prev
bind ‘.’ next

# Start counting tabs from 1 and not 0
bind c screen 1
bind ^c screen 1
bind 0 select 10

# F1-F9 to move between tabs
bindkey -k k1 select 1
bindkey -k k2 select 2
bindkey -k k3 select 3
bindkey -k k4 select 4
bindkey -k k5 select 5
bindkey -k k6 select 6
bindkey -k k7 select 7
bindkey -k k8 select 8
bindkey -k k9 select 9

# Start screen with 4 tabs named bash
screen -t bash 1
screen -t bash 2
screen -t bash 3
screen -t bash 4
[/cce]

Leave a Reply

Your email address will not be published.