?[screen] hat zwei aufgaben:

Damit kann man recht einfach viele Programme (?[irc] ?[client], ?[silc] ?[client], ?[MUA], etc) auf einem logischen Terminal, egal ob man eingeloggt ist, oder nicht, laufen lassen. Ausserdem kann man den screen von vielen Rechnern remote nutzen und sich beliebig de- und re-attachen.

Aufruf: user@host:~ $ screen

Erstellen neuer virtueller Terminals: (Create a new terminal) ac (ctrl-a ctrl-c)

View availabile windows/terminals: aw (ctrl-a ctrl-w)

Wechseln zwischen virtuellen Terminals: an, ap, a<ziffer>

Detachen des screen (screen laeuft im Hintergrund weiter) (Detaches the current screen) ad

Wieder re-attachen des screen: (reattach the screen you just detached) user@host:~ $ screen -r

re-attachen eines noch attacheten Screen: (Detach an elsewhere running screen session and reattach to it in the current terminal) user@host:~ $ screen -rd

Beendet wird ein screen, indem man alle im screen laufenden Prozesse beendet und sich ggf aus den shells ausloggt. Quittiert wird das von screen mit: [screen is terminating]

Sollte sich ein Prozess im screen oder screen selbst aufgehaengt haben, so sollte man zunaechst die Tastenkombination ctrl-q und ctrl-a ctrl-q ausprobieren. Hilft das auch nicht, so kann man idR einen Prozess im screen mit ak killen.

Screen kann ausserdem zwischen visuellen und audio Alerts unterschieden (visual bell vs audio bell). Wenn ein prozess ein G (BEL) sendet, so reicht der Screen das entweder weiter (audio bell) oder signalisiert den BEL mit einer kurzen screen-invertierung. Umschalten kann man mit a^g zwischen den beiden Methoden

Shell Titles, Margins, and Prompts

When using GNU Screen, the characters sent using the "Escape-k" shell-name-change sequence are included in the line count, which affects the "margin" count and "wrap" functionality of the current shell-input line.

To dynamically change the "shell title" of a GNU Screen shell while also dynamically changing the shell prompt, without affecting the "wrap" count, a "newline" must be sent between sending the shell title and the shell prompt; doing so resets the "wrap" count. Then, to minimize wasted vertical space on the console, one "cursor up" command is sent after the title-change command.

For example, in "bash":

if [[ "$TERM" =~ "screen" ]]; then
   # "GNU Screen" title-change command.
   echo -en "\ek$shellTitle\e\\"
else
   # Generic terminal title-change command,
   echo -en "\e]2;$shellTitle\a"
fi

# Send one "cursor-up" command after the title-change command.
echo -e "\e[1A"

The above may seem like a "hack" solution, but, for now, it works. Please amend this Wiki page if/when a better solution is/becomes available.