Screen er et progam som lar deg kjøre programmer mens du ikke er logget inn på datamaskinen f.eks over ssh. Dette er veldig nyttig dersom du ønsker å kjøre programmer som tar lang tid å utføre eller f.eks vil kjøre irssi. Mer informasjon finnes på https://wiki.archlinux.org/index.php/GNU_Screen.

Usage

Start screen ved å kjøre

 $ screen

Alle nye kommandoer du kjører nå vil kjøre i screen. For å sende kommandoer til screen brukes Ctrl+a som "escape key" for å sende en key binding til screen. Her er noen vanlige kommandoer i screen.

Vanlige kommandoer

  • Ctrl+a ? Displays commands and its defaults (VERY important)
  • Ctrl+a : Enter to the command prompt of screen
  • Ctrl+a " Window list
  • Ctrl+a 0 opens window 0
  • Ctrl+a A Rename the current window
  • Ctrl+a a Sends Ctrl+a to the current window
  • Ctrl+a c Create a new window (with shell)
  • Ctrl+a S Split current region into two regions
  • Ctrl+a tab Switch the input focus to the next region
  • Ctrl+a Ctrl+a Toggle between current and previous region
  • Ctrl+a Esc Enter Copy Mode (use enter to select a range of text)
  • Ctrl+a ] Paste text
  • Ctrl+a Q Close all regions but the current one
  • Ctrl+a X Close the current region
  • Ctrl+a d Detach from the current screen session, and leave it running. Use screen -r to resume
  • Ctrl+a n Next window
  • Ctrl+a p Previous window

Gjennopta session

Man gjennoptar session ved å kjøre

 $ screen -x

eller

 $ screen -r

Autostart med systemd

This service autostarts screen for the specified user (e.g. systemctl enable screen@florian). Running this as a system unit is important, because systemd --user instance is not guaranteed to be running and will be killed when the last session for given user is closed. Make this file /etc/systemd/system/screen@.service

[Unit]
Description=screen
After=network.target

[Service]
Type=simple
User=%i
ExecStart=/usr/bin/screen -DmS autoscreen
ExecStop=/usr/bin/screen -S autoscreen -X quit

[Install]
WantedBy=multi-user.target

Autostart med cron

For å få cron til å starte screen på startup $ crontab -e for å endre oppgavene til cron

Legg til en linje nederst

 @reboot /usr/bin/screen -Dms <navnpåsessionen>

Konfigurasjon

Konfigurasjonen til screen ligger i ~/.screenrc

Autostart av irssi

Se konfigurasjonen under. I vindu nr 5 åpner den irssi

Eksempel på konfigurasjon

status line
hardstatus alwayslastline
#To ulike statuslinjer. Kommenter ut den du liker best
#hardstatus string '%{= .G}[ %{B}%H %{g}][%{w}%= %{=kw}%?%-Lw%?%{r}(%{W}%n%f %t%?(%u)%?%{r})%{w}%?%+Lw%?%?%= %{g}][ %{B}%d.%m.%y %{W}%c %{g}]'
hardstatus string '%{= .y}[ %{B}%H %{y}][%= %{= .w}%-w%{+b yk} %n %t%?(%u)%? %{-}%+w %=%{y}][ %{B}%d.%m.%y %{W}%c %{y}]'
# Default screens
screen -t foxtrot       0 
screen -t tango         1
screen -t balboa        2
screen -t salsa         3
screen -t chacha        4
screen -t irc           5 /usr/bin/irssi

# Default settings
startup_message off
altscreen on
attrcolor b ".I"    # allow bold colors - necessary for some reason
autodetach on
encoding UTF-8
defutf8 on
defencoding utf-8
#Scrollbackbuffer
defscrollback 5000

# Termcapinfo etc.
termcapinfo xterm|xterms|xs|rxvt ti@:te@
terminfo screen-256color 'Co#256:AF=\E[38;5;%dm:AB=\E[48;5;%dm:tc=screen'
terminfo rxvt-unicode 'Co#256:AB=\E[48;5;%dm:AF=\E[38;5;%dm'
term 'xterm-256color'

# Mutt transparency
defbce on