Login
Newsletter
Werbung

Mi, 8. März 2000, 00:00

Screen

Das Programm Screen ist ein »Window-Manager« für die Konsole. Mit ihm lassen sich mehrere virtuelle Screens verwalten. Das ist sehr nützlich, weil HURD bis jetzt nur ein Terminal verwalten kann.

Von Michi

Will man wie in Linux mehrere Programme auf virtuellen Konsolen starten, dann muss man Screen benutzen. Das Programm screen_3.9.5-6.deb findet man unter ftp://ftp.debian.org/pub/debian/dists/unstable/main/binary-hurd-i386/misc/

Es läßt sich leicht mit dpkg -i screen_3.9.5-6.deb installieren.

Als nächstes sollte man die Datei /etc/screenrc so konfigurieren, daß sich Screen möglichst wie die bekannten virtuellen Terminals von Linux verwenden läßt. Hier ist ein Beispiel:

#3.3
# This is a global screenrc file
# Install this file as /etc/screenrc. See config.h
#
# Flaws of termcap and standard settings are done here.
# Note: This file should not be shared between different hosts.
# The 'termcap' lines are written in termcap syntax.
# The syntax for a terminfo based host is slightly different.
#
#startup_message off
#defflow on # will force screen to process ^S/^Q
deflogin on
#autodetach off
vbell on
vbell_msg " Wuff ---- Wuff!! "
# all termcap entries are now duplicated as terminfo entries.
# only difference should be the slightly modified syntax, and check for
# terminfo entries, that are already corected in the database.
#
# G0 we have a SEMI-GRAPHICS-CHARACTER-MODE
# WS this sequence resizes our window.
# cs this sequence changes the scrollregion
# hs@ we have no hardware statusline. screen will only believe that
# there is a hardware status line if hs,ts,fs,ds are all set.
# ts to statusline
# fs from statusline
# ds delete statusline
# al add one line
# AL add multiple lines
# dl delete one line
# DL delete multiple lines
# ic insert one char (space)
# IC insert multiple chars
# nx terminal uses xon/xoff
termcap facit|vt100|xterm LP:G0
terminfo facit|vt100|xterm LP:G0
#the vt100 description does not mention "dl". *sigh*
termcap vt100 dl=5\E[M
terminfo vt100 dl=5\E[M
#facit's "al" / "dl" are buggy if the current / last line
#contain attributes...
termcap facit al=\E[L\E[K:AL@:dl@:DL@:cs=\E[%i%d;%dr:ic@
terminfo facit al=\E[L\E[K:AL@:dl@:DL@:cs=\E[%i%p1%d;%p2%dr:ic@
#make sun termcap/info better
termcap sun
'up=^K:AL=\E[%dL:DL=\E[%dM:UP=\E[%dA:DO=\E[%dB:LE=\E[%dD:RI=\E[%dC:IC=\E[%d@:WS=1000\E[8;%d;%dt'
terminfo sun
'up=^K:AL=\E[%p1%dL:DL=\E[%p1%dM:UP=\E[%p1%dA:DO=\E[%p1%dB:LE=\E[%p1%dD:RI=\E[%p1%dC:IC=\E[%p1%d@:WS=\E[8;%p1%d;%p2%dt$<1000>'
#xterm understands both im/ic and doesn't have a status line.
#Note: Do not specify im and ic in the real termcap/info file as
#some programs (e.g. vi) will (no,no, may (jw)) not work anymore.
termcap xterm|fptwist hs@:cs=\E[%i%d;%dr:im=\E[4h:ei=\E[4l
terminfo xterm|fptwist hs@:cs=\E[%i%p1%d;%p2%dr:im=\E[4h:ei=\E[4l
# Long time I had this in my private screenrc file. But many people
# seem to want it (jw):
# we do not want the width to change to 80 characters on startup:
# on suns, /etc/termcap has :is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l:
termcap xterm 'is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;4;6l'
terminfo xterm 'is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;4;6l'
#
# Do not use xterms alternate window buffer.
# This one would not add lines to the scrollback buffer.
#termcap xterm|xterms|xs ti=\E7\E[?47l
#terminfo xterm|xterms|xs ti=\E7\E[?47l
#make hp700 termcap/info better
termcap hp700
'Z0=\E[?3h:Z1=\E[?3l:hs:ts=\E[62"p\E[0$~\E[2$~\E[1$}:fs=\E[0}\E[61"p:ds=\E[62"p\E[1$~\E[61"p:ic@'
terminfo hp700
'Z0=\E[?3h:Z1=\E[?3l:hs:ts=\E[62"p\E[0$~\E[2$~\E[1$}:fs=\E[0}\E[61"p:ds=\E[62"p\E[1$~\E[61"p:ic@'
#wyse-75-42 must have defflow control (xo = "terminal uses xon/xoff")
#(nowadays: nx = padding doesn't work, have to use xon/off)
#essential to have it here, as this is a slow terminal.
termcap wy75-42 nx:xo:Z0=\E[?3h\E[31h:Z1=\E[?3l\E[31h
terminfo wy75-42 nx:xo:Z0=\E[?3h\E[31h:Z1=\E[?3l\E[31h
#remove some stupid / dangerous key bindings
bind '^k'
#bind 'L'
bind '^\'
#make them better
bind '\\' quit
bind 'K' kill
bind 'I' login on
bind 'O' login off
bind '}' history
# colon takes a parameter since screen-3.8.6
bind 'R' colon "screen -ln rlogin faui -8^b^b^b"
bind 'P' colon "^p"
# On Debian GNU/Linux, `<--' (Backspace key) should send char `\177':
bindkey -k kb stuff "\177"
#added by me to emulate linux
bindkey ^[O0 select 0
bindkey ^[O1 select 1
bindkey ^[O2 select 2
bindkey ^[O3 select 3
bindkey ^[O4 select 4
bindkey ^[O5 select 5
bindkey ^[O6 select 6
bindkey ^[O7 select 7
bindkey ^[O8 select 8
bindkey ^[O9 select 9
bindkey ^[, prev
bindkey ^[. next

Um screen zu verwenden, startet man einfach ein Programm mit screen Programmname, z.B. screen bash. Ruft man das ein paarmal auf, hat man mehrere virtuelle Terminals mit der bash laufen. Man sollte unter HURD eigentlich immer mit Screen eine zusätzliche Konsole aufmachen, da sonst keine Möglichkeit mehr besteht, den Rechner noch sauber herunterzufahren, wenn ein Programm abstürzt und es die Konsole blockiert, außer man hat Netzwerkzugriff.

Kommentare (Insgesamt: 0 )
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung