Handbücher für die Kommandozeile

Man » screen Manual online - detaillierte Online-Dokumentation für die screen-Manpage

🌍
screen - Bildschirmmanager mit VT100/ANSI-Terminalemulation

SYNOPSIS

screen [ -optionen ] [ Befehl [ Argumente ] ]
screen -r [[pid.]tty[.host]]
screen -r sessionowner/[[pid.]tty[.host]]

BESCHREIBUNG

Screen ist ein Vollbild-Fenstermanager, der ein physisches Terminal zwischen mehreren Prozessen (typischerweise interaktiven Shells) multiplexiert. Jedes virtuelle Terminal bietet die Funktionen eines DEC VT100-Terminals und zusätzlich verschiedene Steuerfunktionen gemäß den Standards ISO 6429 (ECMA 48, ANSI X3.64) und ISO 2022 (z. B. Einfüge-/Löschzeilen- und Unterstützung für mehrere Zeichensätze). Für jedes virtuelle Terminal gibt es einen Scrollback-Verlaufspuffer und einen Kopier- und Einfüge-Mechanismus, mit dem Textbereiche zwischen Fenstern verschoben werden können.

Wenn screen aufgerufen wird, wird ein einzelnes Fenster mit einer darin laufenden Shell (oder dem angegebenen Befehl) erstellt und dann wird der Bildschirm freigegeben, sodass Sie das Programm wie gewohnt verwenden können. Anschließend können Sie jederzeit neue (Vollbild-)Fenster mit anderen Programmen darin (einschließlich weiterer Shells) erstellen, vorhandene Fenster beenden, eine Liste der Fenster anzeigen, die Ausgabeprotokollierung ein- und ausschalten, Text zwischen Fenstern kopieren und einfügen, den Scrollback-Verlauf anzeigen, zwischen Fenstern auf beliebige Weise wechseln usw. Alle Fenster führen ihre Programme vollständig unabhängig voneinander aus. Programme laufen weiter, auch wenn ihr Fenster gerade nicht sichtbar ist und selbst wenn die gesamte Screen-Sitzung vom Terminal des Benutzers getrennt wurde. Wenn ein Programm beendet wird, beendet screen (standardmäßig) das Fenster, das es enthielt. Wenn sich dieses Fenster im Vordergrund befand, wechselt die Anzeige zum vorherigen Fenster; wenn keine mehr vorhanden sind, wird screen beendet. Shells unterscheiden normalerweise zwischen dem Ausführen als Login-Shell oder Subshell. Screen führt sie als Subshells aus, es sei denn, es wird etwas anderes angegeben (siehe den Befehl .screenrc).

Alles, was Sie eingeben, wird an das in dem aktuellen Fenster ausgeführte Programm gesendet. Die einzige Ausnahme hiervon ist die einzelne Tastenfolge, die verwendet wird, um einen Befehl an den Fenstermanager zu senden. Standardmäßig beginnt jeder Befehl mit einem Strg-a (abgekürzt C-a von nun an) und wird von einer weiteren Tastenfolge gefolgt. Das Befehlszeichen und alle Tastenkombinationen können vollständig angepasst werden, um alles zu sein, was Sie möchten, obwohl sie immer zwei Zeichen lang sind.

Screen versteht die Präfix-Kombination Strg- nicht als "Steuerung", obwohl diese Notation in diesem Handbuch zur besseren Lesbarkeit verwendet wird. Bitte verwenden Sie die Caret-Notation (^A anstelle von C-a) als Argumente für z. B. den Befehl escape oder die Option -e. Screen gibt auch Steuerzeichen in Caret-Notation aus.


Die Standardmethode zum Erstellen eines neuen Fensters ist die Eingabe von C-a c. Dadurch wird ein neues Fenster erstellt, in dem eine Shell ausgeführt wird, und sofort zu diesem Fenster gewechselt, unabhängig vom Zustand des in dem aktuellen Fenster ausgeführten Prozesses. Ebenso können Sie ein neues Fenster mit einem benutzerdefinierten Befehl erstellen, indem Sie diesen zuerst an eine Tastenkombination binden (in Ihrer .screenrc-Datei oder in der C-a :-Befehlszeile) und ihn dann wie den Befehl C-a c verwenden. Darüber hinaus können neue Fenster mit einem Befehl wie diesem erstellt werden:

screen emacs prog.c

aus einer Shell-Eingabeaufforderung innerhalb eines zuvor erstellten Fensters. Dies führt nicht eine weitere Kopie von screen aus, sondern übergibt stattdessen den Befehlsnamen und seine Argumente an den Fenstermanager (der in der Umgebungsvariablen $STY angegeben ist), der diese zum Erstellen des neuen Fensters verwendet. Das obige Beispiel würde den Editor emacs (zum Bearbeiten von prog.c) starten und zu seinem Fenster wechseln. Beachten Sie, dass Sie keine Umgebungsvariablen vom aufrufenden Shell zum Anwendungsprogramm (emacs in diesem Fall) übertragen können, da es vom übergeordneten Screen-Prozess und nicht vom aufrufenden Shell abgeleitet wird.

Wenn /run/utmp von screen beschreibbar ist, wird für jedes Fenster ein entsprechender Eintrag in diese Datei geschrieben und beim Beenden des Fensters gelöscht. Dies ist nützlich für die Arbeit mit talk, script, shutdown, rsend, sccs und anderen ähnlichen Programmen, die die Datei utmp verwenden, um zu bestimmen, wer Sie sind. Solange screen auf Ihrem Terminal aktiv ist, wird der eigene Eintrag des Terminals in der Datei utmp entfernt. Siehe auch C-a L.

ERSTE SCHRITTE

Bevor Sie mit der Verwendung von screen beginnen, müssen Sie sicherstellen, dass Sie Ihren Terminaltyp korrekt ausgewählt haben, so wie Sie es für jedes andere Termcap-/Terminfo-Programm tun würden. (Sie können dies mit dem Befehl test tun, zum Beispiel).

Wenn Sie ungeduldig sind und ohne viel mehr Lesen loslegen möchten, sollten Sie sich diesen Befehl merken: C-a ?. Durch Eingabe dieser beiden Zeichen wird eine Liste der verfügbaren Screen-Befehle und ihrer Bindungen angezeigt. Jede Tastenkombination wird im Abschnitt STANDARD-TASTENBINDUNGEN erläutert. Der Abschnitt CUSTOMIZATION befasst sich mit dem Inhalt Ihrer .screenrc-Datei.

Wenn Ihr Terminal ein echtes Auto-Margin-Terminal ist (es erlaubt nicht, die letzte Position auf dem Bildschirm zu aktualisieren, ohne den Bildschirm zu scrollen), sollten Sie eine Version der Termcap Ihres Terminals verwenden, bei der die automatischen Ränder deaktiviert sind. Dadurch wird sichergestellt, dass der Bildschirm in allen Situationen korrekt und optimal aktualisiert wird. Die meisten Terminals heutzutage verfügen über magische Ränder (automatische Ränder plus verwendbare letzte Spalte). Dies ist der VT100-Stil und perfekt für Screen geeignet. Wenn Sie nur ein echtes Auto-Margin-Terminal haben, wird Screen dieses gerne verwenden, aber das Aktualisieren eines Zeichens, das in die letzte Position auf dem Bildschirm eingefügt wird, ist möglicherweise nicht möglich, bis der Bildschirm scrollt oder das Zeichen auf andere Weise an eine sichere Position verschoben wird. Diese Verzögerung kann verkürzt werden, indem ein Terminal mit Insert-Character-Funktion verwendet wird.


COMMAND-LINE-OPTIONEN

Screen hat die folgenden Kommandozeilenoptionen:

-a  beinhaltet alle Funktionen in der Termcap jedes Fensters, auch wenn Screen Teile des Bildschirms neu zeichnen muss, um eine Funktion zu implementieren.

-A  Passt die Größe aller Fenster an die Größe des aktuellen Terminals an. Standardmäßig versucht Screen, die alten Fenstergrößen beim Anfügen an anpassbare Terminals (die WS in ihrer Beschreibung haben, z. B. suncmd oder einige xterm) wiederherzustellen.

-c Datei
überschreibt die Standardkonfigurationsdatei von $HOME/.screenrc mit der Datei.

-d|-D [pid.tty.host]
startet Screen nicht, sondern trennt die anderweitig ausgeführte Screen-Sitzung. Es hat die gleiche Wirkung wie das Tippen von C-a d von Screens Steuerungsterminal. -D entspricht der Power-Detach-Taste. Wenn keine Sitzung getrennt werden kann, wird diese Option ignoriert. In Kombination mit der Option -r/-R können leistungsfähigere Effekte erzielt werden:

-d -r   Verbindet sich mit einer Sitzung und trennt sie bei Bedarf zuerst.

-d -R   Verbindet sich mit einer Sitzung und trennt sie bei Bedarf oder erstellt sie sogar zuerst.

-d -RR  Verbindet sich mit einer Sitzung und trennt sie bei Bedarf oder erstellt sie. Wenn mehr als eine Sitzung verfügbar ist, wird die erste Sitzung verwendet.

-D -r   Verbindet sich mit einer Sitzung. Trennt und meldet sich bei Bedarf remote ab.

-D -R   Hier und jetzt verbinden. Im Detail bedeutet dies: Wenn eine Sitzung ausgeführt wird, wird sie erneut angehängt. Trennen und sich bei Bedarf remote abmelden. Wenn sie nicht ausgeführt wurde, wird sie erstellt und der Benutzer benachrichtigt. Dies ist die bevorzugte Option des Autors.

-D -RR  Hier und jetzt verbinden. Was immer das bedeutet, einfach machen.

Hinweis: Es ist immer eine gute Idee, den Status Ihrer Sitzungen mit `screen -list` zu überprüfen.

-e xy
gibt das Befehlszeichen als x und das Zeichen an, das ein Literal-Befehlszeichen generiert (wenn es nach dem Befehlszeichen eingegeben wird). Standardmäßig ist dies C-a und `a', was als -e^Aa angegeben werden kann. Beim Erstellen einer Screen-Sitzung setzt diese Option das Standardbefehlszeichen. In einer Multiuser-Sitzung beginnen alle hinzugefügten Benutzer mit diesem Befehlszeichen. Wenn Sie sich jedoch mit einer bereits ausgeführten Sitzung verbinden, ändert diese Option nur das Befehlszeichen des Benutzers, der sich verbindet. Diese Option entspricht entweder den Befehlen defescape oder escape.

-f, -fn und -fa
schaltet die Flusssteuerung in den Ein-, Aus- oder automatischen Schaltmodus. Dies kann auch über den Befehl defflow .screenrc definiert werden.

-h Zahl
gibt die Höhe des Verlaufspuffers für die Bildlaufanzeige in Zeilen an.

-i
verursacht, dass die Interrupt-Taste (normalerweise C-c) die Anzeige sofort unterbricht, wenn die Flusssteuerung aktiviert ist. Siehe den Befehl defflow .screenrc für Einzelheiten. Die Verwendung dieser Option wird nicht empfohlen.

-l und -ln
schaltet den Login-Modus ein oder aus (für die Aktualisierung von /run/utmp). Dies kann auch über den Befehl deflogin .screenrc definiert werden.

-ls [match]
-list [match]
startet keinen Bildschirm, sondern gibt eine Liste von pid.tty.host-Strings und Erstellungszeitstempeln aus,
die Ihre Bildschirm-Sitzungen identifizieren. Sitzungen, die als `detached` gekennzeichnet sind, können mit `screen -r` wiederhergestellt werden.
Diejenigen, die als `attached` gekennzeichnet sind, sind aktiv und haben ein steuerndes Terminal. Wenn die Sitzung im
Mehrbenutzermodus ausgeführt wird, ist sie mit `multi` gekennzeichnet. Sitzungen, die als `unreachable` gekennzeichnet sind, befinden sich entweder auf einem anderen Host oder sind `tot`. Eine unerreichbare Sitzung gilt als tot, wenn ihr Name entweder dem Namen des lokalen Hosts oder dem angegebenen Parameter entspricht. Siehe die Option `-r` für
eine Beschreibung, wie Sie Übereinstimmungen erstellen können. Sitzungen, die als `tot` gekennzeichnet sind, sollten sorgfältig
überprüft und entfernt werden. Fragen Sie Ihren Systemadministrator, wenn Sie sich nicht sicher sind. Entfernen Sie Sitzungen
mit der Option `-wipe`.

-L weist screen an, die automatische Protokollierung für die Fenster zu aktivieren.

-Logfile file
Standardmäßig ist der Name der Protokolldatei screenlog.0. Sie können einen neuen Protokolldateinamen mit der Option `-Logfile` festlegen.

-m bewirkt, dass screen die Umgebungsvariable $STY ignoriert. Mit `screen -m` wird die Erstellung einer neuen Sitzung erzwungen, unabhängig davon, ob screen von innerhalb einer anderen screen-Sitzung aufgerufen wird oder nicht. Diese Option hat eine besondere Bedeutung in Verbindung mit der Option `-d`:

-d -m Startet screen im abgetrennten Modus. Dadurch wird eine neue Sitzung erstellt, aber nicht daran angehängt. Dies ist nützlich für Systemstartskripte.

-D -m Dies startet screen ebenfalls im abgetrennten Modus, verzichtet aber auf die Erstellung eines neuen Prozesses. Der Befehl wird beendet, wenn die Sitzung beendet wird.

-O wählt einen optimalen Ausgabemodus für Ihr Terminal anstelle einer echten VT100-Emulation aus (wirkt sich nur auf automatische Rand-Terminals ohne `LP` aus). Dies kann auch in Ihrer .screenrc eingestellt werden, indem Sie `OP` in einem termcap-Befehl angeben.

-p Zahl_oder_Name|-|=|+
Wählt ein Fenster vor. Dies ist nützlich, wenn Sie sich erneut mit einem bestimmten Fenster verbinden möchten oder
Sie einen Befehl über die Option `-X` an ein bestimmtes Fenster senden möchten. Wie beim Befehl `select` von screen wählt `-` das leere Fenster aus. Als Sonderfall für die Wiederverbindung bringt `=` die Fensterliste
auf dem leeren Fenster auf, während `+` ein neues Fenster erstellt. Der Befehl wird nicht ausgeführt, wenn das angegebene Fenster nicht gefunden werden kann.

-q Unterdrückt die Ausgabe von Fehlermeldungen. In Kombination mit `-ls` ist der Rückgabewert wie folgt: 9
gibt ein Verzeichnis ohne Sitzungen an. 10 gibt ein Verzeichnis mit laufenden, aber nicht anbindbaren Sitzungen an. 11 (oder mehr) gibt 1 (oder mehr) verwendbare Sitzungen an. In Kombination mit
`-r` ist der Rückgabewert wie folgt: 10 gibt an, dass keine Sitzung zum Wiederherstellen vorhanden ist. 12 (oder mehr) gibt an, dass 2 (oder mehr) Sitzungen zum Wiederherstellen vorhanden sind und Sie angeben sollten, welche
ausgewählt werden soll. In allen anderen Fällen hat `-q` keine Auswirkungen.

-Q Einige Befehle können jetzt von einer Remotesitzung aus mit diesem Flag abgefragt werden, z. B. `screen -Q windows`. Die Befehle senden die Antwort an die Standardausgabe des abfragenden Prozesses. Wenn in dem Befehl ein Fehler aufgetreten ist, beendet der abfragende Prozess mit einem Fehlercode.

Die folgenden Befehle können abgefragt werden: echo info lastmsg number select time title windows

-r [pid.tty.host]
-r sessionowner/[pid.tty.host]
Setzt eine abgekoppelte Screen-Sitzung fort. Es dürfen keine anderen Optionen (außer in Kombination mit -d/-D) angegeben werden, obwohl ein optionales Präfix [pid.]tty.host erforderlich sein kann, um zwischen mehreren abgekoppelten Screen-Sitzungen zu unterscheiden. Die zweite Form wird verwendet, um eine Verbindung zu einer Screen-Sitzung eines anderen Benutzers herzustellen, die im Mehrbenutzermodus ausgeführt wird. Dies zeigt an, dass Screen nach Sitzungen im Verzeichnis eines anderen Benutzers suchen soll. Dies erfordert setuid-root-Rechte.

-R   Setzt Screen nur dann fort, wenn eindeutig ist, welche Sitzung fortgesetzt werden soll, normalerweise wenn nur eine Screen-Sitzung abgekoppelt ist. Andernfalls werden die verfügbaren Sitzungen aufgelistet. -RR versucht, die jüngste (in Bezug auf die Erstellungszeit) abgekoppelte Screen-Sitzung zu finden und fortzusetzen. Wenn dies erfolgreich ist, werden alle anderen Befehlszeilenoptionen ignoriert. Wenn keine abgekoppelte Sitzung vorhanden ist, wird eine neue Sitzung mit den angegebenen Optionen gestartet, als ob -R nicht angegeben worden wäre. Die Option ist standardmäßig gesetzt, wenn Screen als Login-Shell ausgeführt wird (tatsächlich verwendet Screen in diesem Fall -xRR). Für Kombinationen mit der Option -d/-D siehe dort. Hinweis: Die zeitbasierte Sitzungsauswahl ist eine Debian-Erweiterung.

-s program
Setzt die Standardshell auf das angegebene Programm, anstatt auf den Wert in der Umgebungsvariablen $SHELL (oder /bin/sh, wenn diese nicht definiert ist). Dies kann auch über den Shell-Befehl .screenrc definiert werden. Siehe auch dort.

-S sessionname
Wenn eine neue Sitzung erstellt wird, kann diese Option verwendet werden, um einen aussagekräftigen Namen für die Sitzung anzugeben. Dieser Name identifiziert die Sitzung für screen -list- und screen -r-Aktionen. Er ersetzt das Standardsuffix [tty.host]. Dieser Name sollte nicht länger als 80 Zeichen sein.

-t name
Setzt den Titel (auch bekannt als) für die Standardshell oder das angegebene Programm. Siehe auch den Shell-Befehl .screenrc.

-T term
Setzt die Umgebungsvariable $TERM unter Verwendung des angegebenen Terminals anstelle der Standardeinstellung von Screen.

-U   Führt Screen im UTF-8-Modus aus. Diese Option teilt Screen mit, dass Ihr Terminal UTF-8-kodierte Zeichen sendet und versteht. Außerdem wird die Standardkodierung für neue Fenster auf `utf8` gesetzt.

-v   Gibt die Versionsnummer aus.

-wipe [match]
Führt das gleiche wie screen -ls aus, entfernt aber zerstörte Sitzungen, anstatt sie als `tot` zu markieren. Eine nicht erreichbare Sitzung gilt als tot, wenn ihr Name entweder dem Namen des lokalen Hosts oder dem explizit angegebenen Parameter entspricht. Siehe das Flag -r für eine Beschreibung, wie Matches erstellt werden.

-x   Verbindet sich mit einer nicht abgekoppelten Screen-Sitzung (Multidisplay-Modus). Screen weigert sich, sich von innerhalb von sich selbst aus zu verbinden. Wenn Sie jedoch mehrere Screens kaskadieren, werden keine Schleifen erkannt; seien Sie vorsichtig.

-X Sende den angegebenen Befehl an eine laufende Screen-Sitzung. Sie können die Option -S verwenden, um die Screen-Sitzung anzugeben, wenn mehrere Screen-Sitzungen ausgeführt werden. Sie können die Option -d oder -r verwenden, um Screen anzuweisen, nur nach angehängten oder nicht angehängten Screen-Sitzungen zu suchen. Beachten Sie, dass dieser Befehl nicht funktioniert, wenn die Sitzung passwortgeschützt ist.

-4 Löst Hostnamen nur in IPv4-Adressen auf.

-6 Löst Hostnamen nur in IPv6-Adressen auf.

STANDARD-TASTENBELEGUNGEN

Wie bereits erwähnt, besteht jeder Screen-Befehl aus einem C-a, gefolgt von einem anderen Zeichen. Zur besseren Übersicht sind alle Befehle, die an Kleinbuchstaben gebunden sind, auch an ihre entsprechenden Steuerzeichen-Pendants gebunden (mit Ausnahme von C-a a; siehe unten). Daher können sowohl C-a c als auch C-a C-c verwendet werden, um ein Fenster zu erstellen. Weitere Informationen zum Befehl finden Sie im Abschnitt ANPASSUNG.

Die folgende Tabelle zeigt die Standard-Tastenbelegungen. Die abschließenden Kommas in Feldern mit mehreren Tastenkombinationseinträgen sind Trennzeichen und keine Teil der Belegungen.

C-a ' (select) Fordert einen Fensternamen oder eine Fensternummer zur Auswahl auf.

C-a " (windowlist -b) Zeigt eine Liste aller Fenster zur Auswahl an.

C-a Ziffer (select 0-9) Wechselt zum Fensternummer 0-9.

C-a - (select -) Wechselt zum Fensternummer 0-9 oder zum leeren Fenster.

C-a Tab (focus) Wechselt den Eingabefokus zum nächsten Bereich. Siehe auch split, remove, only.

C-a C-a (other) Wechselt zum zuvor angezeigten Fenster. Beachten Sie, dass diese Belegung standardmäßig dem Befehlszeichen, das zweimal eingegeben wird, entspricht, es sei denn, dies wird überschrieben. Wenn Sie beispielsweise die Option -e]x verwenden, wird dieser Befehl zu ]].

C-a a (meta) Sendet das Befehlszeichen (C-a) an das Fenster. Siehe Escape-Befehl.

C-a A (title) Erlaubt dem Benutzer, einen Namen für das aktuelle Fenster einzugeben.

C-a b, C-a C-b (break) Sendet ein Break-Signal an das Fenster.

C-a B (pow_break) Öffnet die Terminalzeile erneut und sendet ein Break-Signal.

C-a c, C-a C-c (screen) Erstellt ein neues Fenster mit einer Shell und wechselt zu diesem Fenster.

C-a C (clear) Löscht den Bildschirm.

C-a d, C-a C-d (detach) Trennt Screen von diesem Terminal.

C-a D D (pow_detach) Trennt und meldet ab.

C-a f, C-a C-f (flow) Schaltet Flow ein, aus oder auf automatisch.

C-a F (fit) Passt die Größe des Fensters an die aktuelle Bereichsgröße an.

C-a C-g (vbell) Schaltet den visuellen Glockenmodus von Screen ein oder aus.

C-a h (hardcopy) Schreibt eine Hardcopy des aktuellen Fensters in die Datei hardcopy.n.

C-a H (log) Beginnt oder beendet das Protokollieren des aktuellen Fensters in die Datei screenlog.n.

    C-a i,             (info)            Zeigt Informationen über das aktuelle Fenster an.
    C-a C-i

    C-a k,             (kill)            Zerstört das aktuelle Fenster.
    C-a C-k

    C-a l,             (redisplay)       Aktualisiert das aktuelle Fenster vollständig.
    C-a C-l

    C-a L              (login)           Schaltet den Login-Slot dieses Fensters ein/aus. Nur verfügbar, wenn der Bildschirm so konfiguriert ist, dass er die `utmp`-Datenbank aktualisiert.

    C-a m,             (lastmsg)         Wiederholt die letzte Nachricht, die in der Nachrichtenzeile angezeigt wurde.
    C-a C-m

    C-a M              (monitor)         Schaltet die Überwachung des aktuellen Fensters ein/aus.

    C-a space,         (next)            Wechselt zum nächsten Fenster.
    C-a n,
    C-a C-n

    C-a N              (number)          Zeigt die Nummer (und den Titel) des aktuellen Fensters an.

    C-a backspace,     (prev)            Wechselt zum vorherigen Fenster (gegenüber von C-a n).
    C-a C-h,
    C-a p,
    C-a C-p

    C-a q,             (xon)             Sendet ein Control-Q an das aktuelle Fenster.
    C-a C-q

    C-a Q              (only)            Löscht alle Regionen außer der aktuellen. Siehe auch `split`, `remove`, `focus`.

    C-a r,             (wrap)            Schaltet die Zeilenumbruch-Einstellung des aktuellen Fensters ein/aus (aktiviert/deaktiviert die automatischen Ränder des aktuellen Fensters).
    C-a C-r

    C-a s,             (xoff)            Sendet ein Control-S an das aktuelle Fenster.
    C-a C-s;

    C-a S              (split)           Teilt die aktuelle Region horizontal in zwei neue auf. Siehe auch `only`, `remove`, `focus`.

    C-a t,             (time)            Zeigt Systeminformationen an.
    C-a C-t

    C-a v              (version)         Zeigt die Version und das Kompilierungsdatum an.

    C-a C-v            (digraph)         Eingabe eines Digraphs.
    C-a w,             (windows)         Zeigt eine Liste der Fenster an.
    C-a C-w

    C-a W              (width)           Schaltet zwischen 80 und 132 Spalten um.

    C-a x oder C-a C-x   (lockscreen)      Sperrt dieses Terminal.

    C-a X              (remove)          Löscht die aktuelle Region. Siehe auch `split`, `only`, `focus`.

    C-a z,             (suspend)         Setzt den Bildschirm fort. Ihr System muss BSD-ähnliche Jobkontrolle unterstützen.
    C-a C-z

    C-a Z              (reset)           Setzt das virtuelle Terminal auf die beim Einschalten vorhandenen Werte zurück.

    C-a .              (dumptermcap)     Schreibt eine `.termcap`-Datei aus.

    C-a ?              (help)            Zeigt die Tastenbelegungen an.

    C-a \              (quit)            Schließt alle Fenster und beendet `screen`.

    C-a :              (colon)           Ruft den Befehlszeilenmodus auf.

    C-a [,             (copy)            Ruft den Kopier-/Scrollback-Modus auf.
    C-a C-[,
    C-a esc

    C-a C-],           (paste .)         Schreibt den Inhalt des Paste-Puffers in die Standardeingabe des aktuellen Fensters.
    C-a ]

    C-a {,             (history)         Kopiert und fügt eine vorherige (Befehls-)Zeile ein.
    C-a }

C-a >              (writebuf)        Schreibt den Inhalt des Zwischenspeichers in eine Datei.

C-a <              (readbuf)         Liest den Inhalt der Bildschirm-Austauschdatei in den Zwischenspeicher.

C-a =              (removebuf)       Entfernt die Datei, die von C-a < und C-a \> verwendet wird.

C-a ,              (license)         Zeigt an, woher Screen stammt, wohin es geht und warum Sie es verwenden können.

C-a _              (silence)         Startet/stoppt die Überwachung des aktuellen Fensters auf Inaktivität.

C-a |              (split -v)        Teilt die aktuelle Region vertikal in zwei neue Bereiche auf.

C-a *              (displays)        Zeigt eine Liste aller aktuell angehängten Bildschirme an.

ANPASSUNG

Das Socket-Verzeichnis ist standardmäßig entweder $HOME/.screen oder einfach /tmp/screens oder vorzugsweise /run/screen, je nachdem, wie es zur Kompilierzeit festgelegt wurde. Wenn Screen als setuid-root installiert ist, sollte der Administrator Screen mit einem geeigneten (nicht NFS-gemounteten) Socket-Verzeichnis kompilieren. Wenn Screen nicht als setuid-root ausgeführt wird, kann der Benutzer ein beliebiges Verzeichnis mit den Berechtigungen 700 in der Umgebungsvariablen $SCREENDIR angeben.

Wenn Screen aufgerufen wird, führt es Initialisierungskommandos aus den Dateien /etc/screenrc und den Standardeinstellungen aus, die auf folgende Weise überschrieben werden können: Für die globale screenrc-Datei sucht Screen nach der Umgebungsvariablen $SYSSCREENRC (diese Überschreibungsfunktion kann zur Kompilierzeit deaktiviert werden). Die benutzerspezifische screenrc-Datei wird in $SCREENRC und dann in $HOME/.screenrc gesucht. Die Befehlszeilenoption -c hat Vorrang vor den oben genannten benutzerdefinierten screenrc-Dateien.

Die Befehle in diesen Dateien werden verwendet, um Optionen festzulegen, Funktionen an Tasten zu binden und automatisch ein oder mehrere Fenster zu Beginn Ihrer Screen-Sitzung einzurichten. Befehle werden jeweils in einer eigenen Zeile aufgelistet, wobei leere Zeilen ignoriert werden. Die Argumente eines Befehls werden durch Tabulatoren oder Leerzeichen getrennt und können von einfachen oder doppelten Anführungszeichen umschlossen werden. Ein `#' macht den Rest der Zeile zu einem Kommentar, außer innerhalb von Anführungszeichen. Unverständliche Zeilen werden mit einer Warnung versehen und ignoriert. Befehle können Verweise auf Umgebungsvariablen enthalten. Die Syntax ist ähnlich wie in der Shell: "$VAR" oder "${VAR}". Beachten Sie, dass dies zu Inkompatibilitäten mit früheren Screen-Versionen führt, da das Zeichen '$' jetzt mit einem '\' geschützt werden muss, wenn keine Variablenersetzung erfolgen soll. Ein String in einfachen Anführungszeichen ist ebenfalls vor der Variablenersetzung geschützt.

Zwei Konfigurationsdateien werden als Beispiele mit Ihrer Screen-Distribution geliefert: etc/screenrc und etc/etcscreenrc. Sie enthalten eine Reihe nützlicher Beispiele für verschiedene Befehle.

Die Anpassung kann auch "online" erfolgen. Um in den Befehlsmodus zu gelangen, geben Sie C-a : ein. Beachten Sie, dass Befehle, die mit "def" beginnen, die Standardwerte ändern, während andere die aktuellen Einstellungen ändern.

Die folgenden Befehle stehen zur Verfügung:

acladd usernames [crypted-pw]

addacl usernames

Ermöglicht Benutzern den vollen Zugriff auf diese Screen-Sitzung. Benutzernamen können ein einzelner Benutzer oder eine kommagetrennte Liste von Benutzern sein. Dieser Befehl ermöglicht das Anhängen an die Screen-Sitzung und führt das Äquivalent von aclchg usernames +rwx "#?" aus. Um einen Benutzer mit eingeschränktem Zugriff hinzuzufügen, verwenden Sie den Befehl aclchg unten. Wenn ein optionaler zweiter Parameter angegeben wird, sollte dies ein verschlüsseltes Passwort für den/die angegebene(n) Benutzer sein. Addacl ist ein Synonym für acladd. Nur Multi-User-Modus.


aclchg Benutzernamen Berechtigungsbits Liste

chacl Benutzernamen Berechtigungsbits Liste

Ändert die Berechtigungen für eine durch Kommas getrennte Liste von Benutzern. Berechtigungsbits werden als r',w' und x' dargestellt. Das Präfix+' gewährt die Berechtigung, -' entfernt sie. Der dritte Parameter ist eine durch Kommas getrennte Liste von Befehlen und/oder Fenstern (entweder durch Nummer oder Titel angegeben). Die spezielle Liste#' bezieht sich auf alle Fenster, ?' auf alle Befehle. Wenn Benutzernamen aus einem einzelnen*' besteht, sind alle bekannten Benutzer betroffen.

Ein Befehl kann ausgeführt werden, wenn der Benutzer das `x'-Bit dafür hat. Der Benutzer kann in ein
Fenster tippen, wenn sein `w'-Bit gesetzt ist und kein anderer Benutzer eine Schreibsperre für dieses Fenster besitzt. Andere
Bits werden derzeit ignoriert. Um die Schreibsperre von einem anderen Benutzer in Fenster 2 zu entfernen: `aclchg
Benutzername -w+w 2'. Um nur Lesezugriff auf die Sitzung zu ermöglichen: `aclchg Benutzername -w "#"'. Sobald
der Name eines Benutzers für Screen bekannt ist, kann er sich mit der Sitzung verbinden und (standardmäßig) volle Berechtigungen für alle Befehle und Fenster haben. Die Ausführungsberechtigung für die acl-Befehle, `at` und andere
sollte ebenfalls entfernt werden, da der Benutzer andernfalls möglicherweise die Schreibberechtigung wiedererlangen kann. Die Rechte des speziellen Benutzernamens `nobody` können nicht geändert werden (siehe den Befehl `su`). `Chacl` ist ein Synonym für `aclchg`. Nur Multibenutzer-Modus.

acldel Benutzername

Entfernt einen Benutzer aus der Zugriffskontrollliste von Screen. Wenn er derzeit verbunden ist, werden alle Displays des Benutzers von der Sitzung getrennt. Er kann sich nicht erneut verbinden. Nur Multibenutzer-Modus.

aclgrp Benutzername [Gruppenname]

Erstellt Gruppen von Benutzern, die gemeinsame Zugriffsberechtigungen haben. Der Name der Gruppe ist der Benutzername des Gruppenleiters. Jedes Mitglied der Gruppe erbt die Berechtigungen, die dem Gruppenleiter gewährt werden. Das bedeutet, dass, wenn ein Benutzer eine Zugriffskontrolle nicht besteht, eine weitere Kontrollprüfung für den Gruppenleiter durchgeführt wird. Ein Benutzer wird aus allen Gruppen entfernt, indem der spezielle Wert none verwendet wird. Wenn der zweite Parameter weggelassen wird, werden alle Gruppen, in denen der Benutzer Mitglied ist, aufgelistet.

aclumask [[ Benutzer ] +Bits | [ Benutzer ] -Bits... ]

umask [[ Benutzer ] +Bits | [ Benutzer ] -Bits... ]

Hiermit werden die Zugriffsrechte anderer Benutzer für Fenster festgelegt, die vom Aufrufer des Befehls erstellt werden. Benutzer können no, one oder eine durch Kommas getrennte Liste bekannter Benutzernamen sein. Wenn keine Benutzer angegeben sind, wird eine Liste aller derzeit bekannten Benutzer angenommen. Bits ist eine beliebige Kombination von Zugriffskontrollbits, die mit dem Befehl aclchg zulässig sind. Der spezielle Benutzername ? definiert den Zugriff, der nicht bekannten Benutzern für jedes Fenster zu Beginn gewährt wird. Der spezielle Benutzername ?? definiert den Zugriff, der nicht bekannten Benutzern für jeden Befehl gewährt wird. Die Rechte des speziellen Benutzernamens nobody können nicht geändert werden (siehe den Befehl su). Umask ist ein Synonym für aclumask.


Aktivitätsmeldung

Wenn in einem Hintergrundfenster, das überwacht wird, eine Aktivität stattfindet, wird eine Benachrichtigung in der Nachrichtenzeile angezeigt. Die Benachrichtigungsmeldung kann mit dem Befehl activity neu definiert werden. Jedes Vorkommnis von %' in der Meldung wird durch die Nummer des Fensters ersetzt, in dem die Aktivität stattgefunden hat, und jedes Vorkommnis von^G' wird durch die Definition für das Glockensignal in Ihrer termcap-Datei ersetzt (normalerweise ein akustisches Glockensignal). Die Standardmeldung lautet:

„Aktivität in Fenster %n“

Beachten Sie, dass die Überwachung für alle Fenster standardmäßig deaktiviert ist, dies kann jedoch mit dem Befehl `monitor` (C-a M) geändert werden.

allpartial [ ein | aus ]

Wenn auf ein gesetzt, wird nur die aktuelle Cursorzeile bei Fensterwechsel aktualisiert. Dies wirkt sich auf alle Fenster aus und ist nützlich für langsame Terminalverbindungen. Die vorherige Einstellung für die vollständige/teilweise Aktualisierung für jedes Fenster wird wiederhergestellt, wenn allpartial auf aus gesetzt wird. Dies ist ein globales Flag, das sofort auf alle Fenster angewendet wird und die Teilaktualisierungseinstellungen überschreibt. Es ändert nicht das Standard-Neuzeichnungsverhalten neu erstellter Fenster.

altscreen [ ein | aus ]

Wenn auf ein gesetzt, wird die „Alternativbildschirm“-Unterstützung in virtuellen Terminals aktiviert, genau wie in xterm. Die Anfangseinstellung ist aus.

at [Bezeichner][#|*|%] Befehl [Argumente ...]

Führen Sie einen Befehl in anderen Anzeigen oder Fenstern aus, als ob er dort eingegeben worden wäre. `at` ändert den Kontext (die „aktuelle Fenster“- oder „aktuelle Anzeigeeinstellung“) des Befehls. Wenn der erste Parameter einen nicht eindeutigen Kontext beschreibt, wird der Befehl mehrmals ausgeführt. Wenn der erste Parameter die Form `Bezeichner*` hat, wird `Bezeichner` mit Benutzernamen abgeglichen. Der Befehl wird einmal für jede Anzeige des ausgewählten Benutzers ausgeführt. Wenn der erste Parameter die Form `Bezeichner%` hat, wird `Bezeichner` mit Anzeigen abgeglichen. Anzeigen werden nach den TTYs benannt, mit denen sie verbunden sind. Das Präfix `/dev/` oder `/dev/tty` kann aus dem Bezeichner weggelassen werden. Wenn `Bezeichner` ein `#` oder nichts angehängt hat, wird er mit Fensternummern und -titeln abgeglichen. Das Weglassen eines Bezeichners vor dem Zeichen `#`, `*` oder `%` wählt alle Benutzer, Anzeigen oder Fenster aus, da eine Präfixübereinstimmung durchgeführt wird. Beachten Sie, dass in den betroffenen Anzeigen eine kurze Meldung angezeigt wird, die beschreibt, was passiert ist. Die Berechtigung wird für den Initiator des Befehls `at` und nicht für die Besitzer der betroffenen Anzeigen überprüft. Beachten Sie, dass das Zeichen `#` als Kommentarzeichen dient, wenn es von einem Leerzeichen vorangestellt wird. Dies kann durch Voranstellen eines `\` escaped werden. Die Berechtigung wird für den Initiator des Befehls `at` und nicht für die Besitzer der betroffenen Anzeigen überprüft.

Warnung: Beim Abgleichen mit Fenstern wird der Befehl mindestens einmal pro Fenster ausgeführt. Befehle, die die interne Anordnung von Fenstern ändern (wie z. B. `other`), können erneut aufgerufen werden. In gemeinsam genutzten Fenstern wird der Befehl für jede angehängte Anzeige wiederholt. Seien Sie vorsichtig, wenn Sie Umschaltbefehle wie `login!` ausgeben. Einige Befehle (z. B. `process`) erfordern, dass eine Anzeige mit den Ziel-Fenstern verbunden ist. Diese Befehle funktionieren möglicherweise nicht korrekt, wenn Sie mit `at` über Fenster iterieren.

attrcolor attrib [attribute/color-modifier]

Dieser Befehl kann verwendet werden, um Attribute hervorzuheben, indem die Farbe des Textes geändert wird. Wenn das Attribut attrib verwendet wird, wird auch der angegebene Attribut-/Farbmodifikator angewendet. Wenn kein Modifikator angegeben wird, wird der aktuelle Modifikator gelöscht. Siehe das Kapitel "STRING ESCAPES" für die Syntax des Modifikators. Screen versteht zwei Pseudo-Attribute: i steht für eine hohe Vordergrundfarbe und I für eine hohe Hintergrundfarbe.

Beispiele:

attrcolor b "R"

Ändert die Farbe zu hellrot, wenn fettgedruckter Text ausgegeben werden soll.

attrcolor u "-u b"

Verwendet stattdessen blaue Farbe anstelle von Unterstreichung.

attrcolor b ".I"

Verwendet helle Farben für fettgedruckten Text. Die meisten Terminalemulatoren tun dies bereits.

attrcolor i "+b"

Macht hellfarbigen Text auch fett.

autodetach [ on | off ]

Legt fest, ob sich Screen automatisch bei einem Hangup-Ereignis trennt, wodurch alle ausgeführten Programme gespeichert werden, bis sie mit dem Befehl screen -r wiederhergestellt werden. Wenn diese Funktion deaktiviert ist, wird Screen und alle darin enthaltenen Prozesse durch ein Hangup-Signal beendet. Autodetach ist standardmäßig aktiviert.

autonuke [ on | off ]

Legt fest, ob eine Bildschirmlöschsequenz alle Ausgaben löscht, die nicht auf das Terminal geschrieben wurden. Siehe auch obuflimit.

backtick id lebensdauer autorefresh cmd args...

backtick id

Programmieren Sie den Backtick-Befehl mit der numerischen ID id. Die Ausgabe dieses Befehls wird für die Ersetzung der String-Escape-Sequenz % verwendet. Der angegebene Wert lebensdauer ist die Anzahl der Sekunden, für die die Ausgabe als gültig betrachtet wird. Nach dieser Zeit wird der Befehl erneut ausgeführt, wenn eine entsprechende String-Escape-Sequenz gefunden wird. Der Parameter autorefresh löst eine automatische Aktualisierung für Caption- und Hardstatus-Strings nach der angegebenen Anzahl von Sekunden aus. Nur die letzte Zeile der Ausgabe wird für die Ersetzung verwendet.

Wenn sowohl der Parameter lebensdauer als auch der Parameter autorefresh Null sind, wird erwartet, dass das Backtick-Programm im Hintergrund ausgeführt wird und in regelmäßigen Abständen Ausgaben generiert. In diesem Fall wird der Befehl sofort ausgeführt und Screen speichert die letzte Zeile der Ausgabe. Wenn eine neue Zeile ausgegeben wird, aktualisiert Screen automatisch den Hardstatus oder die Beschriftungen.

Die zweite Form des Befehls löscht den Backtick-Befehl mit der numerischen ID id.

bce [ on | off ]

Ändert die Einstellung background-color-erase. Wenn bce auf on gesetzt ist, werden alle durch eine Lösch-/Einfüge-/Scroll-/Löschoperation gelöschten Zeichen in der aktuellen Hintergrundfarbe angezeigt. Andernfalls wird die Standardhintergrundfarbe verwendet.

bell_msg [message]

Wenn ein Glockenzeichen an ein Hintergrundfenster gesendet wird, zeigt Screen eine Benachrichtigung in der Nachrichtenleiste an. Die Benachrichtigungsmeldung kann mit diesem Befehl neu definiert werden. Jedes Vorkommen von %' inmessagewird durch die Nummer des Fensters ersetzt, an das die Glocke gesendet wurde, und jedes Vorkommen von^Gwird durch die Definition für Glocke in Ihremtermcap` ersetzt (normalerweise ein akustisches Glockensignal). Die Standardmeldung lautet:


    'Glocke im Fenster %n'

Eine leere Nachricht kann an den Befehl bell_msg übergeben werden, um die Ausgabe einer Meldungszeile zu unterdrücken (bell_msg ""). Ohne Parameter wird die aktuelle Nachricht angezeigt.

    `bind [class] key [command [args]]`

Weist einem Schlüssel einen Befehl zu. Standardmäßig sind die meisten von screen bereitgestellten Befehle einem oder mehreren Schlüsseln zugeordnet, wie im Abschnitt STANDARD-SCHLÜSSELZUORDNUNGEN angegeben, z. B. ist der Befehl zum Erstellen eines neuen Fensters den Schlüsseln C-c und c zugeordnet. Der Befehl bind kann verwendet werden, um die Schlüsselzuordnungen neu zu definieren und neue Zuordnungen zu erstellen. Das Argument key ist entweder ein einzelnes Zeichen, eine zweizeichenlange Sequenz der Form ^x (was C-x bedeutet), ein Backslash gefolgt von einer Oktalziffer (die den ASCII-Code des Zeichens angibt) oder ein Backslash gefolgt von einem zweiten Zeichen, wie z. B. \ oder \\.. Das Argument kann auch in Anführungszeichen gesetzt werden, wenn gewünscht. Wenn kein weiteres Argument angegeben wird, wird jede zuvor festgelegte Zuordnung für diesen Schlüssel entfernt. Das Argument command kann ein beliebiger in diesem Abschnitt aufgeführte Befehl sein.

Wenn eine Befehlsklasse über die Option -c angegeben wird, wird der Schlüssel für die angegebene Klasse zugeordnet. Verwenden Sie den Befehl command, um eine Klasse zu aktivieren. Befehlsklassen können verwendet werden, um mehrere Befehlsschlüssel oder mehrteilige Zuordnungen zu erstellen.

Einige Beispiele:

    `bind ' ' windows`
    `bind ^k`
    `bind k`
    `bind K kill`
    `bind ^f screen telnet foobar`
    `bind \033 screen -ln -t root -h 1000 9 su`

    würde die Leertaste dem Befehl zuordnen, der eine Liste von Fenstern anzeigt (so dass der normalerweise durch C-a C-w aufgerufene Befehl auch als C-a Leerzeichen verfügbar wäre). Die nächsten drei

Zeilen entfernen die Standard-Kill-Zuordnung von C-a C-k und C-a k. C-a K wird dann dem Befehl kill zugeordnet. Dann wird C-f dem Befehl zugeordnet, ein Fenster mit einer TELNET-Verbindung zu foobar zu erstellen, und Escape wird dem Befehl zugeordnet, der ein Nicht-Login-Fenster mit dem Namen root in Slot #9 mit einer Superuser-Shell und einem Scrollback-Puffer von 1000 Zeilen erstellt.

    `bind -c demo1 0 select 10`
    `bind -c demo1 1 select 11`
    `bind -c demo1 2 select 12`
    `bindkey "^B" command -c demo1`

    macht C-b 0 zum Befehl, Fenster 10 auszuwählen, C-b 1 zum Befehl, Fenster 11 auszuwählen, usw.

    `bind -c demo2 0 select 10`
    `bind -c demo2 1 select 11`
    `bind -c demo2 2 select 12`
    `bind - command -c demo2`

    macht C-a - 0 zum Befehl, Fenster 10 auszuwählen, C-a - 1 zum Befehl, Fenster 11 auszuwählen, usw.

    `bindkey [-d] [-m] [-a] [[-k|-t] string [cmd-args]]`

Dieser Befehl verwaltet die Eingabeübersetzungstabellen von screen. Jeder Eintrag in einer der Tabellen teilt screen mit, wie es auf eine bestimmte Zeichenfolge reagieren soll. Es gibt drei Tabellen: eine, die die vom Benutzer programmierten Aktionen enthalten soll, eine für die Standardaktionen, die für die Terminalemulation verwendet werden, und eine für den Kopier-Modus von screen, um die Cursorbewegung zu steuern. Siehe Abschnitt EINGABEÜBERSETZUNG für eine Liste der Standardschlüsselzuordnungen.


Wenn die Option -d angegeben ist, modifiziert bindkey die Standardtabelle, -m ändert die Tabelle für den Kopier-Modus, und wenn keine der Optionen angegeben ist, wird die Benutzertabelle ausgewählt. Die Argumentzeichenkette ist die Zeichenfolge, an die eine Aktion gebunden wird. Dies kann entweder eine feste Zeichenkette oder ein Name einer Termcap-Tastaturfunktion sein (auswählbar mit der Option -k).

Einige Tasten auf einem VT100-Terminal können eine andere Zeichenfolge senden, wenn der Anwendungsmodus aktiviert ist (z. B. die Cursor-Tasten). Solche Tasten haben zwei Einträge in der Übersetzungstabelle. Sie können den Eintrag für den Anwendungsmodus auswählen, indem Sie die Option -a angeben.

Die Option -t weist Screen an, keine Intervallzeitsteuerung durchzuführen. Es ist nicht möglich, die Zeitsteuerung zu deaktivieren, wenn eine Termcap-Funktion verwendet wird.

^ md kann einer der Screen-Befehle mit einer beliebigen Anzahl von Argumenten sein. Wenn cmd weggelassen wird, wird die Tastenbelegung aus der Tabelle entfernt.

Hier sind einige Beispiele für Tastenbelegungen:

    bindkey -d

Zeigt alle Standard-Tastenbelegungen an. Die Einträge für den Anwendungsmodus sind mit [A] gekennzeichnet.

    bindkey -k k1 select 1

Bewirkt, dass die Taste "F1" zum ersten Fenster wechselt.

    bindkey -t foo stuff barfoo

Macht "foo" zu einer Abkürzung für das Wort "barfoo". Die Zeitsteuerung ist deaktiviert, so dass Benutzer langsam tippen können.

    bindkey "\024" mapdefault

Diese Tastenbelegung macht ^T zu einem Escape-Zeichen für Tastenbelegungen. Wenn Sie die obige stuff barfoo-Belegung durchgeführt haben, können Sie das Wort "foo" eingeben, indem Sie ^Tfoo tippen. Wenn Sie ein ^T einfügen möchten, müssen Sie die Taste zweimal drücken (d. h. das Escape-Zeichen escapen).

    bindkey -k F1 command

Macht die Taste F11 (nicht F1!) zu einem alternativen Screen-Escape-Zeichen (neben ^A).

    break [dauer]

Sendet ein Break-Signal für dauer * 0,25 Sekunden an dieses Fenster. Für nicht-POSIX-Systeme kann das Zeitintervall auf volle Sekunden aufgerundet werden. Am nützlichsten, wenn ein Zeichengerät an das Fenster angeschlossen ist, anstatt eines Shell-Prozesses (siehe auch Kapitel WINDOW TYPES). Die maximale Dauer eines Break-Signals ist auf 15 Sekunden begrenzt.

    blanker

Aktiviert den Screen-Blanker. Zuerst wird der Bildschirm gelöscht. Wenn kein Blanker-Programm definiert ist, wird der Cursor ausgeschaltet, andernfalls wird das Programm gestartet und die Ausgabe wird auf den Bildschirm geschrieben. Der Screen-Blanker wird mit der ersten Tasteneingabe beendet, die gelesene Taste wird verworfen.

Dieser Befehl wird normalerweise zusammen mit dem Befehl idle verwendet.

    blankerprg [programm-argumente]

Definiert ein Blanker-Programm. Deaktiviert das Blanker-Programm, wenn ein leeres Argument angegeben wird. Zeigt das aktuell eingestellte Blanker-Programm an, wenn keine Argumente angegeben werden.

    breaktype [tcsendbreak|TIOCSBRK|TCSBRK]

Wählt eine der verfügbaren Methoden zur Erzeugung eines Break-Signals für Terminalgeräte aus. Dieser Befehl sollte sich nur auf das aktuelle Fenster auswirken. Aber er verhält sich immer noch identisch mit defbreaktype. Dies wird in Zukunft geändert. Wenn Sie breaktype ohne Parameter aufrufen, wird die Break-Methode für das aktuelle Fenster angezeigt.


bufferfile [exchange-file]

Ändert den Dateinamen, der zum Lesen und Schreiben des Zwischenspeicherpuffers verwendet wird. Wenn das optionale Argument für den Befehl bufferfile weggelassen wird, wird die Standardeinstellung (/tmp/screen-exchange) wiederhergestellt. Das folgende Beispiel kopiert die Passwortdatei des Systems in das Screen-Fenster (mithilfe des Zwischenspeicherpuffers, wo eine Kopie verbleibt):

C-a : bufferfile /etc/passwd
C-a < C-a ]
C-a : bufferfile

bumpleft

Vertauscht das Fenster mit dem vorherigen in der Fensterliste.

bumpright

Vertauscht das Fenster mit dem nächsten in der Fensterliste.

c1 [ on | off ]

Ändert die C1-Codeverarbeitung. C1 on weist Screen an, die Eingabezeichen zwischen 128 und 159 als Steuerfunktionen zu behandeln. Ein solches 8-Bit-Code entspricht normalerweise ESC, gefolgt von dem entsprechenden 7-Bit-Code. Die Standardeinstellung ist die Verarbeitung von C1-Codes, die mit dem Befehl defc1 geändert werden kann. Benutzer mit Schriftarten, die verwendbare Zeichen in den C1-Positionen haben, möchten dies möglicherweise deaktivieren.

caption [ top | bottom ] always|splitonly[string]

caption string [string]

Dieser Befehl steuert die Anzeige der Fenstertitel. Normalerweise wird ein Titel nur dann angezeigt, wenn mehr als ein Fenster auf dem Bildschirm angezeigt wird (geteilter Bildschirmmodus). Wenn der Typ jedoch auf always gesetzt ist, zeigt Screen einen Titel an, auch wenn nur ein Fenster angezeigt wird. Die Standardeinstellung ist splitonly.

Die zweite Form ändert den Text, der für den Titel verwendet wird. Sie können alle Escape-Sequenzen aus dem Abschnitt „STRING ESCAPES“ verwenden. Screen verwendet standardmäßig %3n %t.

Sie können beide Formen kombinieren, indem Sie eine Zeichenkette als zusätzliches Argument angeben.

Der Titel kann entweder oben oder unten im Fenster angezeigt werden. Die Standardeinstellung ist unten.

charset set

Ändert die aktuelle Zeichenset-Slotbezeichnung und die Zeichensetzuordnung. Die ersten vier Zeichen von set werden als Zeichenset-Bezeichner behandelt, während die fünften und sechsten Zeichen im Bereich von '0' bis '3' liegen müssen und die GL/GR-Zeichensetzuordnung festlegen. An jeder Position kann ein '.' verwendet werden, um anzugeben, dass das entsprechende Zeichenset/die entsprechende Zuordnung nicht geändert werden soll (das Set wird intern durch Anhängen von '.'-Zeichen auf sechs Zeichen aufgefüllt). Neue Fenster haben standardmäßig "BBBB02" als Standardzeichenset, es sei denn, ein Befehl encoding ist aktiv. Die aktuelle Einstellung kann mit dem Befehl info angezeigt werden.

chdir [directory]

Ändert das aktuelle Verzeichnis von Screen in das angegebene Verzeichnis oder, wenn es ohne Argument aufgerufen wird, in Ihr Home-Verzeichnis (der Wert der Umgebungsvariable $HOME). Alle Fenster, die mit dem Befehl screen innerhalb von .screenrc oder mit C-a : screen ... oder C-a c erstellt werden, verwenden dieses als ihr Standardverzeichnis. Ohne den Befehl chdir wäre dies das Verzeichnis, von dem aus Screen aufgerufen wurde.

Hardcopy- und Protokolldateien werden immer in das Standardverzeichnis des Fensters geschrieben, nicht in das aktuelle Verzeichnis des Prozesses, der im Fenster ausgeführt wird. Sie können diesen Befehl mehrmals in Ihrer .screenrc-Datei verwenden, um verschiedene Fenster in verschiedenen Standardverzeichnissen zu starten, aber der letzte Wert von chdir wirkt sich auf alle Fenster aus, die Sie interaktiv erstellen.


cjkwidth [ ein | aus ]

Behandelt mehrdeutige Zeichen als voll-/halbbreit.

clear

Löscht das aktuelle Fenster und speichert dessen Bild im Scrollback-Puffer.

collapse

Ordnet Fenster in der Fensterliste neu an und entfernt dabei Lücken zwischen den Nummern.

colon [Präfix]

Ermöglicht die Eingabe von .screenrc-Befehlszeilen. Nützlich für die On-the-Fly-Änderung von Tastenbelegungen,
der spezifischen Fenstererstellung und der Änderung von Einstellungen. Beachten Sie, dass das Schlüsselwort `set` nicht mehr vorhanden ist! In der Regel wirken sich Befehle auf das aktuelle Fenster und nicht auf die Standardeinstellungen für zukünftige Fenster aus. Ändern Sie Standardeinstellungen mit Befehlen, die mit `def...` beginnen.

Wenn Sie dies als den "Ex-Befehlsmodus" von Screen betrachten, können Sie C-a esc (Kopiermodus) als dessen "Vi-Befehlsmodus" betrachten.

command [ -c Klasse"]"

Dieser Befehl hat die gleiche Wirkung wie die Eingabe des Screen-Escape-Zeichens (^A). Er ist wahrscheinlich nur für Tastenbelegungen nützlich. Wenn die Option -c angegeben ist, wird die angegebene Befehlsklasse ausgewählt. Siehe auch bind und bindkey.

compacthist [ ein | aus ]

Dies teilt Screen mit, ob abschließende Leerzeilen beim Scrollen von Text in den Verlaufspuffer unterdrückt werden sollen.

console [ ein | aus ]

Erfasst oder gibt die Konsolenausgabe der Maschine an ein Fenster frei. Beachten Sie: Nur der Eigentümer von /dev/console kann die Konsolenausgabe erfassen. Dieser Befehl ist nur verfügbar, wenn die Maschine die ioctl TIOCCONS unterstützt.

copy

Ruft den Kopier-/Scrollback-Modus auf. Dadurch können Sie Text aus dem aktuellen Fenster und seinem Verlauf in den Zwischenspeicher kopieren. In diesem Modus ist ein "Vollbild-Editor" im Vi-Stil aktiv:
Die Bewegungstasten des Editors sind:

h, C-h, bewegt den Cursor nach links.
Pfeiltaste links

j, C-n, bewegt den Cursor nach unten.
Pfeiltaste nach unten

k, C-p, bewegt den Cursor nach oben.
Pfeiltaste nach oben

l ('el'), bewegt den Cursor nach rechts.
Pfeiltaste rechts

0(Null), C-a bewegt den Cursor in die linke Spalte.

+ und - positionieren eine Zeile nach oben und unten.

H, M und L bewegen den Cursor in die linke Spalte der obersten, mittleren bzw. untersten Zeile des Fensters.

| bewegt sich in die angegebene absolute Spalte.

g oder Home bewegt sich an den Anfang des Puffers.

G oder End bewegt sich in die angegebene absolute Zeile (Standard: Ende des Puffers).

% springt zu dem angegebenen Prozentsatz des Puffers.

^ oder $ bewegt sich in die linke Spalte, zum ersten oder letzten Nicht-Leerzeichenzeichen in der Zeile.

w, b und e bewegen den Cursor Wort für Wort.

B, E bewegen den Cursor WORD für WORD (wie in Vi).

f/F, t/T bewegen den Cursor nach vorne/hinten zum nächsten Vorkommnis des Ziels. (z. B. bewegt '3fy' den Cursor zum 3. 'y' nach rechts.)

; und , wiederholen den letzten f/F/t/T-Befehl in die gleiche/entgegengesetzte Richtung.

C-e und C-y scrollen die Anzeige eine Zeile nach oben/unten, wobei die Cursorposition erhalten bleibt.

C-u und C-d scrollen die Anzeige um die angegebene Anzahl von Zeilen nach oben/unten, wobei die Cursorposition erhalten bleibt. (Standard: halbe Bildschirmhöhe).

    C-b und C-f    bewegen die Anzeige um eine ganze Bildschirmseite nach oben/unten.

    Hinweis: Emacs-ähnliche Bewegungstasten können durch einen .screenrc-Befehl angepasst werden. (z. B. markkeys
    "h=^B:l=^F:$=^E") Es gibt keine einfache Methode für eine vollständige Emacs-ähnliche Tastenbelegung, da dies mehrteilige Codes beinhaltet.

Einige Tasten sind definiert, um Markierungs- und Ersetzungsoperationen auszuführen.

Der zu kopierende Bereich wird durch das Setzen von zwei Markierungen angegeben. Der Text zwischen diesen Markierungen wird hervorgehoben. Drücken Sie:

    Leertaste oder Eingabetaste, um die erste bzw. zweite Markierung zu setzen. Wenn `mousetrack` auf `on` gesetzt ist,
    können Markierungen auch durch einen Mausklick gesetzt werden.

    Y und y werden verwendet, um eine ganze Zeile zu markieren oder vom Zeilenanfang aus zu markieren.

    W markiert genau ein Wort.

Jeder dieser Befehle kann durch Drücken von Ziffern mit einer Wiederholungszahl versehen werden.

    .9 wird als Wiederholungszahl interpretiert.

    Beispiel: C-a C-[ H 10 j 5 Y kopiert die Zeilen 11 bis 15 in den Zwischenspeicher.

Die folgenden Suchtasten sind definiert:

    / Vi-ähnliche Suche nach vorne.

    ? Vi-ähnliche Suche rückwärts.

    C-a s Emacs-ähnliche inkrementelle Suche nach vorne.

    C-r Emacs-ähnliche inkrementelle rückwärtssuche.

    n Findet das nächste Suchmuster.

    N Findet das vorherige Suchmuster.

Es gibt jedoch einige Tasten, die sich anders verhalten als in vi. Vi erlaubt es nicht, rechteckige Textblöcke zu kopieren, aber screen schon. Drücken Sie: c oder C, um die linke bzw. rechte Spalte festzulegen. Wenn keine Wiederholungszahl angegeben wird, werden beide auf die aktuelle Cursorposition gesetzt.

    Beispiel: Probieren Sie dies auf einem relativ vollen Textbildschirm aus:

    C-a [ M 20 l LEERTASTE c 10 l 5 j LEERTASTE.

Dadurch wird man in die mittlere Zeile des Bildschirms verschoben, um 20 Spalten nach links bewegt, der Beginn des Zwischenspeichers markiert, die linke Spalte festgelegt, um 5 Spalten nach unten bewegt, die rechte Spalte festgelegt und dann das Ende des Zwischenspeichers markiert. Versuchen Sie nun:

    C-a [ M 20 l LEERTASTE 10 l 5 j LEERTASTE

    und bemerken Sie den Unterschied in der kopierten Textmenge.

    J verbindet Zeilen. Es wechselt zwischen 4 Modi: Zeilen, die durch ein Zeilenumbruchzeichen (012) getrennt sind, Zeilen,
    die nahtlos zusammengefügt sind, Zeilen, die durch ein einzelnes Leerzeichen getrennt sind, und durch Komma getrennte Zeilen. Beachten Sie, dass Sie
    dem Zeilenumbruchzeichen ein Wagenrücklaufzeichen voranstellen können, indem Sie `crlf on` ausführen.

    v oder V ist für alle Vi-Benutzer mit `:set numbers` - es schaltet die linke Spalte zwischen Spalte 9
    und 1 um. Drücken Sie

    a vor der letzten Leertaste, um den Anhängemodus zu aktivieren. So wird der Inhalt des Zwischenspeichers nicht überschrieben, sondern angehängt.

    A aktiviert den Anhängemodus und setzt eine (zweite) Markierung.

    > setzt die (zweite) Markierung und schreibt den Inhalt des Zwischenspeichers in die Screen-Exchange-Datei
    (/tmp/screen-exchange standardmäßig), sobald der Kopiermodus beendet ist.

Dieses Beispiel zeigt, wie der gesamte Scrollback-Puffer in diese Datei geschrieben wird: C-A [ g LEERTASTE G $ >.

    C-g gibt Informationen über die aktuelle Zeile und Spalte aus.

    x oder o tauscht die erste Markierung und die aktuelle Cursorposition aus. Sie können dies verwenden, um eine
    bereits platzierte Markierung anzupassen.

    C-l ('el') zeichnet den Bildschirm neu.

    @ bewirkt nichts. Beendet nicht einmal den Kopiermodus.

Alle Befehle, die hier nicht beschrieben sind, verlassen den Kopier-Modus.

copy_reg [Schlüssel]

Existiert nicht mehr, verwende stattdessen readreg.

crlf [ ein | aus ]

Dies beeinflusst das Kopieren von Textbereichen mit dem Befehl C-a ['. Wenn dies auf ein gesetzt ist, werden Zeilen durch die zweistellige Zeichenfolge CR - LF getrennt. Andernfalls (Standardeinstellung) wird nur LF verwendet. Wenn kein Parameter angegeben wird, wird der Zustand umgeschaltet.

debug [ ein | aus ]

Schaltet das Laufzeit-Debugging ein oder aus. Wenn Bildschirm mit der Option -DDEBUG kompiliert wurde, ist das Debugging verfügbar und standardmäßig aktiviert. Beachten Sie, dass dieser Befehl nur die Debug-Ausgabe vom Haupt-SCREEN-Prozess korrekt beeinflusst. Die Debug-Ausgabe von angehängten Prozessen kann nur einmal und für immer deaktiviert werden.

defc1 [ ein | aus ]

Wie der Befehl c1, außer dass die Standardeinstellung für neue Fenster geändert wird. Die anfängliche Einstellung ist ein.

defautonuke [ ein | aus ]

Wie der Befehl autonuke, außer dass die Standardeinstellung für neue Displays geändert wird. Die anfängliche Einstellung ist aus. Beachten Sie, dass Sie die spezielle AN-Terminalfunktion verwenden können, wenn Sie eine Abhängigkeit vom Terminaltyp wünschen.

defbce [ ein | aus ]

Wie der Befehl bce, außer dass die Standardeinstellung für neue Fenster geändert wird. Die anfängliche Einstellung ist aus.

defbreaktype [tcsendbreak|TIOCSBRK|TCSBRK]

Wählen Sie eine der verfügbaren Methoden zum Generieren eines Break-Signals für Terminalgeräte aus. Die bevorzugten Methoden sind tcsendbreak und TIOCSBRK. Die dritte, TCSBRK, blockiert die gesamte Bildschirm-Sitzung für die Dauer des Break, kann aber der einzige Weg sein, um lange Breaks zu erzeugen. Tcsendbreak und TIOCSBRK erzeugen möglicherweise keine langen Breaks mit Spitzen (z. B. 4 pro Sekunde). Dies ist nicht nur systemabhängig, sondern unterscheidet sich auch zwischen seriellen Board-Treibern. Wenn Sie defbreaktype ohne Parameter aufrufen, wird die aktuelle Einstellung angezeigt.

defcharset [Satz]

Wie der Befehl charset, außer dass die Standardeinstellung für neue Fenster geändert wird. Zeigt die aktuelle Standardeinstellung an, wenn ohne Argument aufgerufen.

defdynamictitle [ ein | aus ]

Legen Sie das Standardverhalten für neue Fenster fest, ob der Bildschirm den Fenstertitel ändern soll, wenn die entsprechende Escape-Sequenz angezeigt wird. Siehe auch den Abschnitt "TITLES (Fenster benennen)".

defescape xy

Legen Sie die Standardbefehlszeichen fest. Dies entspricht dem Befehl escape, außer dass er nur für Multiuser-Sitzungen nützlich ist. In einer Multiuser-Sitzung ändert escape das Befehlszeichen des aufrufenden Benutzers, während defescape das Standardbefehlszeichen für Benutzer ändert, die später hinzugefügt werden.

defflow [ ein | aus | auto [ interrupt ]]

Wie der Befehl flow, außer dass die Standardeinstellung für neue Fenster geändert wird. Die anfängliche Einstellung ist auto. Das Angeben von defflow auto interrupt entspricht den Befehlszeilenoptionen -fa und -i.

defgr [ ein | aus ]

Wie der Befehl gr, außer dass die Standardeinstellung für neue Fenster geändert wird. Die anfängliche Einstellung ist aus.

defhstatus [status]

Die Hardstatus-Zeile, die alle neuen Fenster erhalten, wird auf status gesetzt. Dieser Befehl ist nützlich, um die Hardstatus-Zeile jedes Fensters so anzuzeigen, dass die Fenster- oder Titelnummer oder dergleichen angezeigt wird. Status kann die gleichen Direktiven wie in den Fensternachrichten enthalten, aber die Direktiven-Escape-Zeichen sind '^E' (Oktal 005) anstelle von '%'. Dies wurde getan, um eine Fehlinterpretation von vom Programm generierten Hardstatus-Zeilen zu verhindern. Wenn der Parameter status weggelassen wird, wird die aktuelle Standardzeichenfolge angezeigt. Standardmäßig ist die Hardstatus-Zeile neuer Fenster leer.


    defencoding enc

Wie der Befehl encoding, jedoch wird die Standardeinstellung für neue Fenster geändert. Die anfängliche Einstellung ist die Kodierung, die vom Terminal übernommen wird.

    deflog [ on | off ]

Wie der Befehl log, jedoch wird die Standardeinstellung für neue Fenster geändert. Die anfängliche Einstellung ist off.

    deflogin [ on | off ]

Wie der Befehl login, jedoch wird die Standardeinstellung für neue Fenster geändert. Dies wird mit on initialisiert, wie es ausgeliefert wird (siehe config.h.in).

    defmode mode

Der Modus jedes neu zugewiesenen Pseudo-TTY wird auf mode gesetzt. Mode ist eine Oktalzahl. Wenn kein defmode-Befehl angegeben wird, wird der Modus 0622 verwendet.

    defmonitor [ on | off]

Wie der Befehl monitor, jedoch wird die Standardeinstellung für neue Fenster geändert. Die anfängliche Einstellung ist off.

    defmousetrack [ on | off ]

Wie der Befehl mousetrack, jedoch wird die Standardeinstellung für neue Fenster geändert. Die anfängliche Einstellung ist off.

    defnonblock [ on | off | numsecs]

Wie der Befehl nonblock, jedoch wird die Standardeinstellung für die Anzeige geändert. Die anfängliche Einstellung ist off.

    defobuflimit limit

Wie der Befehl obuflimit, jedoch wird die Standardeinstellung für neue Anzeigen geändert. Die anfängliche Einstellung ist 256 Byte. Beachten Sie, dass Sie die spezielle Terminalfunktion 'OL' verwenden können, wenn Sie eine Abhängigkeit vom Terminaltyp wünschen.

    defscrollback num

Wie der Befehl scrollback, jedoch wird die Standardeinstellung für neue Fenster geändert. Die anfängliche Einstellung ist 100.

    defshell command

Synonym für den .screenrc-Befehl shell. Siehe dort.

    defsilence [ on | off ]

Wie der Befehl silence, jedoch wird die Standardeinstellung für neue Fenster geändert. Die anfängliche Einstellung ist off.

    defslowpaste msec

Wie der Befehl slowpaste, jedoch wird die Standardeinstellung für neue Fenster geändert. Die anfängliche Einstellung ist 0 Millisekunden, was off bedeutet.

    defutf8 [ on | off ]

Wie der Befehl utf8, jedoch wird die Standardeinstellung für neue Fenster geändert. Die anfängliche Einstellung ist on, wenn screen mit -U gestartet wurde, andernfalls off.

    defwrap [ on | off ]

Wie der Befehl wrap, jedoch wird die Standardeinstellung für neue Fenster geändert. Anfangs ist die Zeilenumbruchfunktion aktiviert und kann mit dem Befehl wrap (C-a r) oder mit "C-a : wrap on|off" umgeschaltet werden.

    defwritelock [ on | off | auto ]

Wie der Befehl writelock, jedoch wird die Standardeinstellung für neue Fenster geändert. Anfangs sind Schreibsperren deaktiviert.

    detach [-h]

Trennt die screen-Sitzung (trennt sie vom Terminal und versetzt sie in den Hintergrund). Dies bringt Sie zurück zur Shell, in der Sie screen aufgerufen haben. Eine getrennte screen-Sitzung kann wieder aufgenommen werden, indem Sie screen mit der Option -r aufrufen (siehe auch Abschnitt KOMMANDOZEILENOPTIONEN). Die Option -h weist screen an, die Verbindung zum Terminal sofort zu schließen (hängen).


dinfo

Zeigt, was Screen über Ihr Terminal denkt. Nützlich, wenn Sie wissen möchten, warum Funktionen wie Farbe oder der alternative Zeichensatz nicht funktionieren.

displays

Zeigt eine tabellarische Liste aller aktuell verbundenen Benutzer-Frontends (Displays) an. Dies ist am nützlichsten für Mehrbenutzersitzungen. Die folgenden Tasten können in der Displays-Liste verwendet werden:

k, C-p oder Pfeil nach oben bewegt eine Zeile nach oben.

j, C-n oder Pfeil nach unten bewegt eine Zeile nach unten.

C-a oder Anfang bewegt sich zur ersten Zeile.

C-e oder Ende bewegt sich zur letzten Zeile.

C-u oder C-d bewegt eine halbe Seite nach oben oder unten.

C-b oder C-f bewegt eine ganze Seite nach oben oder unten.

Mausklick bewegt sich zur ausgewählten Zeile. Verfügbar, wenn `mousetrack` auf `on` gesetzt ist.

Leertaste aktualisiert die Liste.

d trennt das Display.

D erzwingt das Trennen des Displays.

C-g, Eingabe oder Esc beendet die Liste.

Das folgende ist ein Beispiel dafür, wie displays aussehen könnte: xterm 80x42 jnweiger@/dev/ttyp4 0(m11) &rWx facit 80x24 mlschroe@/dev/ttyhf nb 11(tcsh) rwx xterm 80x42 jnhollma@/dev/ttyp5 0(m11) &R.x (A) (B) (C) (D) (E) (F)(G) (H)(I)

Die Legende lautet wie folgt:

(A) Der Terminaltyp, den Screen für dieses Display kennt.

(B) Displays-Geometrie als Breite x Höhe.

(C) Benutzername, der an dem Display angemeldet ist.

(D) Gerätename des Displays oder des angeschlossenen Geräts.

(E) Das Display befindet sich im blockierenden oder nicht-blockierenden Modus. Die verfügbaren Modi sind "nb", "NB", "Z<", "Z>" und "BL".

(F) Nummer des Fensters.

(G) Name/Titel des Fensters.

(H) Ob das Fenster freigegeben ist.

(I) Fensterberechtigungen. Besteht aus drei Zeichen.

┌─────────────────────────────────────────────────────────┐
│              Fensterberechtigungsindikatoren             │
├──────────────────┬──────────────────┬───────────────────┤
│  1. Zeichen    │  2. Zeichen    │   3. Zeichen    │
├─────┬────────────┼─────┬────────────┼─────┬─────────────┤
│ -   │kein Lesen   │ -   │kein Schreiben│ -   │kein Ausführen│
├─────┼────────────┼─────┼────────────┼─────┼─────────────┤
│ r   │Lesen       │ w   │Schreiben    │ x   │Ausführen     │
├─────┼────────────┼─────┼────────────┼─────┼─────────────┤
│     │            │ W   │eigene wlock │     │             │
├─────┴────────────┴─────┴────────────┴─────┴─────────────┤
│ Indikatoren für Berechtigungen, die durch eine fremde wlock unterdrückt werden │
├─────┬────────────┬─────┬────────────┬─────┬─────────────┤
│ R   │Nur Lesen   │ .   │kein Schreiben│     │             │
└─────┴────────────┴─────┴────────────┴─────┴─────────────┘

benötigt eine Anzeigefläche von mindestens 10 Zeichen Breite und 5 Zeichen Höhe, um korrekt dargestellt zu werden.

digraph [preset[unicode-value]]

Dieser Befehl fordert den Benutzer auf, eine Digraph-Sequenz einzugeben. Die nächsten zwei eingegebenen Zeichen werden in einer internen Tabelle nachgeschlagen, und das resultierende Zeichen wird in den Eingabestrom eingefügt. Zum Beispiel wird bei Eingabe von 'a"' ein a-Umlaut eingefügt. Wenn das erste eingegebene Zeichen eine 0 (Null) ist, behandelt Screen die folgenden Zeichen (bis zu drei) als eine Oktalzahl. Das optionale Argument preset wird als Benutzereingabe behandelt, wodurch man einen Umlaut-Key erstellen kann. Zum Beispiel ermöglicht der Befehl "bindkey ^K digraph '"'" dem Benutzer, einen a-Umlaut durch Eingabe von STRG-K a zu generieren. Wenn ein nicht-null Unicode-Wert angegeben wird, wird ein neues Digraph mit dem angegebenen Preset erstellt. Das Digraph wird gelöscht, wenn ein Wert von Null für unicode-value angegeben wird.

dumptermcap

Schreibt den Termcap-Eintrag für das virtuelle Terminal, das für das aktuell aktive Fenster optimiert ist, in die Datei .termcap im Verzeichnis $HOME/.screen des Benutzers (oder wo immer Screen seine Sockets speichert. Siehe den Abschnitt FILES unten). Dieser Termcap-Eintrag ist identisch mit dem Wert der Umgebungsvariablen $TERMCAP, die von Screen für jedes Fenster gesetzt wird. Für Terminfo-basierte Systeme müssen Sie ein Konvertierungsprogramm wie captoinfo ausführen und dann den Eintrag mit tic kompilieren.

dynamictitle [on | off]

Ändert das Verhalten für Fenster in Bezug darauf, ob Screen den Fenstertitel ändern soll, wenn eine entsprechende Escape-Sequenz erkannt wird. Siehe auch den Abschnitt "TITLES (Fenster benennen)".

echo [-n] message

Der Befehl echo kann verwendet werden, um Screen-Benutzer mit einer "Nachricht des Tages" zu ärgern. Typischerweise in einer globalen Datei /etc/screenrc installiert. Die Option -n kann verwendet werden, um den Zeilenumbruch zu unterdrücken. Siehe auch sleep. Echo ist auch nützlich, um Umgebungsvariablen online zu überprüfen.

encoding enc [enc]

Weist Screen an, wie die Eingabe/Ausgabe interpretiert werden soll. Das erste Argument setzt die Kodierung des aktuellen Fensters. Jedes Fenster kann eine andere Kodierung emulieren. Der optionale zweite Parameter überschreibt die Kodierung des verbundenen Terminals. Dies sollte jedoch nicht erforderlich sein, da Screen die Locale-Einstellung verwendet, um die Kodierung zu erkennen. Es gibt auch eine Möglichkeit, eine Terminal-Kodierung basierend auf dem Terminaltyp mithilfe des KJ-Termcap-Eintrags auszuwählen.


Unterstützte Kodierungen sind eucJP, SJIS, eucKR, eucCN, Big5, GBK, KOI8-R, KOI8-U, CP1251, UTF-8, ISO8859-2, ISO8859-3, ISO8859-4, ISO8859-5, ISO8859-6, ISO8859-7, ISO8859-8, ISO8859-9, ISO8859-10, ISO8859-15, jis.

Siehe auch defencoding, das die Standardeinstellung für ein neues Fenster ändert.

    escape xy

Setzt das Befehlszeichen auf x und das Zeichen, das ein Literal-Befehlszeichen erzeugt (durch Auslösen des Meta-Befehls), auf y (ähnlich der Option -e). Jedes Argument ist entweder ein einzelnes Zeichen, eine zweistellige Zeichenfolge der Form ^x (was C-x bedeutet), ein Backslash gefolgt von einer Oktalziffer (die den ASCII-Code des Zeichens angibt) oder ein Backslash gefolgt von einem zweiten Zeichen, wie z. B. \^ oder \. Der Standard ist ^Aa.

    eval command1[command2 ...]

Analysiert und führt jedes Argument als separaten Befehl aus.

    exec [[fdpat]newcommand [args ...]]

Führt einen Unix-Unterprozess (angegeben durch den ausführbaren Pfad newcommand und seine optionalen Argumente) im aktuellen Fenster aus. Der Datenfluss zwischen newcommands stdin/stdout/stderr, dem ursprünglich im Fenster gestarteten Prozess (nennen wir ihn "Anwendungsprozess") und Screen selbst (Fenster) wird durch das Dateideskriptormuster fdpat gesteuert. Dieses Muster ist im Wesentlichen eine dreistellige Zeichenfolge, die stdin, stdout und stderr von newcommand darstellt. Ein Punkt (.) verbindet das Dateideskriptor mit Screen. Ein Ausrufezeichen (!) bewirkt, dass das Dateideskriptor mit dem Anwendungsprozess verbunden wird. Ein Doppelpunkt (:) kombiniert beides. Die Benutzereingabe wird an newcommand gesendet, es sei denn, newcommand empfängt die Ausgabe des Anwendungsprozesses (der erste Charakter von fdpats ist `!' oder `:') oder ein Pipe-Symbol (|) wird als viertes Zeichen an das Ende von fdpat angehängt.

Das Aufrufen von `exec' ohne Argumente zeigt den Namen und die Argumente des aktuell laufenden Unterprozesses in diesem Fenster an. In jedem Fenster kann jeweils nur ein Unterprozess laufen.

Wenn ein Unterprozess läuft, wirkt sich der Befehl `kill' auf diesen und nicht auf den Fensterprozess aus.

Weitere Informationen finden Sie in der PostScript-Datei `doc/fdpat.ps', die eine verwirrende Darstellung aller 21 möglichen Kombinationen enthält. Jede Zeichnung zeigt die Ziffern 2, 1, 0, die die drei Dateideskriptoren von newcommand darstellen. Das mit `W' gekennzeichnete Feld ist das übliche pty, an dessen Slave-Seite sich der Anwendungsprozess befindet. Das mit `P' gekennzeichnete Feld ist das sekundäre pty, an dessen Master-Seite sich jetzt Screen befindet.

    Abkürzungen: Leerzeichen zwischen dem Wort `exec' und fdpat sowie dem Befehl können weggelassen werden.

Nachgestellte Punkte und ein fdpat, das nur aus Punkten besteht, können weggelassen werden. Ein einfaches `|' ist synonym mit dem Muster !..|'; das Wort exec kann hier weggelassen und immer durch!' ersetzt werden.


Beispiele:

exec ... /bin/sh

exec /bin/sh

!/bin/sh

Erstellt eine weitere Shell im selben Fenster, während die ursprüngliche Shell weiterhin ausgeführt wird. Die Ausgabe beider Shells wird angezeigt und die Benutzereingabe wird an die neue /bin/sh gesendet.

exec !.. stty 19200

exec ! stty 19200

!!stty 19200

Setzt die Geschwindigkeit des TTY des Fensters. Wenn Ihr stty-Befehl auf stdout wirkt, fügen Sie ein weiteres ! hinzu.

exec !..| less

|less

Fügt dem Fensterausgang einen Pager hinzu. Das Sonderzeichen | ist erforderlich, um dem Benutzer die Kontrolle über den Pager zu ermöglichen, obwohl dieser seine Eingabe aus dem Prozess des Fensters bezieht. Dies funktioniert, weil less auf stderr hört (ein Verhalten, das screen ohne das | nicht erwarten würde), wenn sein stdin kein TTY ist. Less-Versionen neuer als 177 schlagen hier kläglich fehl; das gute alte pg funktioniert immer noch.

!:sed -n s/.*Error.*/\007/p

Sendet die Fensterausgabe sowohl an den Benutzer als auch an den sed-Befehl. Sed fügt ein zusätzliches Glockenzeichen (Oktal 007) in die Fensterausgabe ein, die in screen angezeigt wird. Dies führt dazu, dass die Meldung „Glocke in Fenster x“ angezeigt wird, wenn die Zeichenfolge „Error“ im Fenster erscheint.

fit

Ändert die Fenstergröße auf die Größe der aktuellen Region. Dieser Befehl ist erforderlich, da screen die Fenstergröße nicht automatisch anpasst, wenn das Fenster mehr als einmal angezeigt wird.

flow [ ein | aus | automatisch ]

Setzt den Flusskontrollmodus für dieses Fenster. Ohne Parameter wird die aktuelle Flusskontrolleinstellung des Fensters von „automatisch“ auf „ein“ auf „aus“ geändert. Weitere Informationen finden Sie in der Diskussion über FLUSSSTEUERUNG weiter unten in diesem Dokument. Beachten Sie, dass dies in zukünftigen Versionen geändert werden kann. Standard ist defflow.

focus [ nächstes | vorheriges | oben | unten | links | rechts | oben | unten ]

Verschiebt den Eingabefokus auf die nächste Region. Dies geschieht auf zyklische Weise, so dass die obere linke Region ausgewählt wird, nachdem die untere rechte Region ausgewählt wurde. Wenn keine Option angegeben wird, wird standardmäßig nächstes verwendet. Die nächste auszuwählende Region wird durch die Art und Weise bestimmt, wie die Regionen angeordnet sind. Normalerweise wird die nächste Region in derselben Schicht ausgewählt. Wenn diese nächste Region jedoch eine oder mehrere Schichten enthält, wird zuerst die erste Region in der obersten Schicht ausgewählt. Wenn Sie sich in der letzten Region der aktuellen Schicht befinden, verschiebt nächstes den Fokus auf die nächste Region in der unteren Schicht (falls eine solche vorhanden ist). Vorheriges durchläuft die Reihenfolge in umgekehrter Richtung. Weitere Informationen finden Sie unter split.

Die restlichen Optionen (oben, unten, links, rechts, oben und unten) sind weniger von den Schichten abhängig. Die Option oben verschiebt den Fokus nach oben zur Region, die die obere linke Ecke der aktuellen Region berührt. Unten verschiebt den Fokus nach unten zur Region, die die untere linke Ecke der aktuellen Region berührt. Die Option links verschiebt den Fokus nach links zur Region, die die obere linke Ecke der aktuellen Region berührt, während rechts den Fokus nach rechts zur Region verschiebt, die die obere rechte Ecke der aktuellen Region berührt. Wenn Sie sich in einer am weitesten links liegenden Region befinden oder nach rechts von einer am weitesten rechts liegenden Region aus bewegen, hat dies keine Auswirkung.


Die Option top verschiebt den Fokus auf das oberste Fenster in der oberen linken Ecke des Bildschirms, und bottom auf das Fenster in der unteren rechten Ecke des Bildschirms. Wenn Sie von einem Fenster in der obersten Zeile nach oben oder von einem Fenster in der untersten Zeile nach unten scrollen, passiert nichts.

Nützliche Tastenkombinationen sind (h, j, k und l, wie in vi): bind h focus left bind j focus down bind k focus up bind l focus right bind t focus top bind b focus bottom Beachten Sie, dass k traditionell an den Befehl „kill“ gebunden ist.

focusminsize [ ( width|max|_ ) ( height|max|_ ) ]

Dadurch wird jedes aktuell ausgewählte Fenster automatisch auf eine bestimmte Breite und Höhe skaliert. Alle anderen umgebenden Fenster werden so skaliert, dass sie dies ermöglichen. Diese Einschränkung wird jedes Mal angewendet, wenn der Befehl „focus“ verwendet wird. Der Befehl „resize“ kann verwendet werden, um entweder die Breite oder die Höhe eines Fensters zu vergrößern, jedoch nicht unter die mit „focusminsize“ festgelegte Größe. Der Unterstrich _ ist ein Synonym für „max“. Das Festlegen einer Breite und Höhe von 0 0 (null null) hebt alle Einschränkungen auf und ermöglicht die manuelle Größenänderung. Ohne Parameter werden die minimale Breite und Höhe angezeigt.

gr [ on | off ]

Aktiviert oder deaktiviert das GR-Zeichensatz-Umschalten. Wann immer screen ein Eingabezeichen mit dem 8. Bit erkennt, verwendet es den im GR-Slot gespeicherten Zeichensatz und gibt das Zeichen mit dem gelöschten 8. Bit aus. Standardmäßig (siehe auch defgr) wird das GR-Umschalten nicht verarbeitet, da sonst der ISO88591-Zeichensatz nicht funktionieren würde.

group [grouptitle]

Ändert oder zeigt die Gruppe an, zu der das aktuelle Fenster gehört. Fenster können durch Angabe des Namens der Zielgruppe zwischen verschiedenen Gruppen verschoben werden. Wenn keine Gruppe angegeben wird, wird der Titel der aktuellen Gruppe angezeigt.

hardcopy [-h] [file]

Schreibt das aktuell angezeigte Bild in die Datei file. Wenn kein Dateiname angegeben ist, wird es in hardcopy.n im Standardverzeichnis gespeichert, wobei n die Nummer des aktuellen Fensters ist. Diese Datei wird entweder angehängt oder überschrieben, falls sie bereits vorhanden ist. Siehe unten. Wenn die Option -h angegeben ist, werden auch die Inhalte des Scrollback-Puffers gespeichert.

hardcopy_append [ on | off ]

Wenn dies auf „on“ gesetzt ist, hängt screen an die Dateien hardcopy.n an, die mit dem Befehl C-a h erstellt wurden. Andernfalls werden diese Dateien jedes Mal überschrieben. Standard ist off.

hardcopydir directory

Definiert ein Verzeichnis, in dem die Hardcopy-Dateien gespeichert werden. Wenn dies nicht festgelegt ist, werden die Hardcopys im aktuellen Arbeitsverzeichnis von screen gespeichert.

hardstatus [ on | off ]

hardstatus [ always ] firstline | lastline | message | ignore [ string ]

hardstatus string [ string ]

Dieser Befehl konfiguriert die Verwendung und Emulation der Hardware-Statuszeile des Terminals. Die erste Form schaltet um, ob screen die Hardware-Statuszeile zur Anzeige von Nachrichten verwenden soll. Wenn das Flag auf off gesetzt ist, werden diese Nachrichten in umgekehrter Videoanzeige in der Anzeigelinie überlagert. Die Standardeinstellung ist on.


Die zweite Form teilt Screen mit, was zu tun ist, wenn das Terminal keine Hardstatus-Zeile hat (d. h., die Termcap-/Terminfo-Funktionen "hs", "ts", "fs" und "ds" sind nicht gesetzt). Wenn firstline/lastline verwendet wird, reserviert Screen die erste/letzte Zeile des Bildschirms für die Hardstatus-Nachricht. message verwendet den Nachrichtenmechanismus von Screen und ignore weist Screen an, die Hardstatus-Zeile niemals anzuzeigen. Wenn Sie dem Typ das Wort always voranstellen (z. B. alwayslastline), verwendet Screen den Typ auch dann, wenn das Terminal eine Hardstatus-Zeile unterstützt.

Die dritte Form gibt den Inhalt der Hardstatus-Zeile an. %h wird als Standardzeichenfolge verwendet, d. h., die gespeicherte Hardstatus-Zeile des aktuellen Fensters (die über ESC]0;<string>^G oder ESC_<string>ESC\ gesetzt werden kann) wird angezeigt. Sie können dies nach Belieben anpassen, einschließlich der Escape-Sequenzen aus dem Abschnitt STRING ESCAPES. Wenn Sie das Argument Zeichenfolge weglassen, wird die aktuelle Zeichenfolge angezeigt.

Sie können die zweite und dritte Form kombinieren, indem Sie die Zeichenfolge als zusätzliches Argument angeben.

height [-w|-d] [lines [cols]]

Setzt die Bildschirmhöhe auf eine bestimmte Anzahl von Zeilen. Wenn kein Argument angegeben wird, wird zwischen 24 und 42 Zeilen umgeschaltet. Sie können auch eine Breite angeben, wenn Sie beide Werte ändern möchten. Die Option -w weist Screen an, die Bildschrimgröße unverändert zu lassen und nur die Fenstergröße zu setzen, -d umgekehrt.

help[class]

Nicht wirklich eine Online-Hilfe, sondern zeigt einen Hilfebildschirm an, der alle Tastenkombinationen anzeigt. Die ersten Seiten zeigen alle internen Befehle zusammen mit ihren aktuellen Bindungen. Nachfolgende Seiten zeigen die benutzerdefinierten Befehle, einen Befehl pro Taste. Drücken Sie die Leertaste, wenn Sie mit dem Lesen jeder Seite fertig sind, oder drücken Sie die Rücktaste, um vorzeitig zu beenden. Alle anderen Zeichen werden ignoriert. Wenn die Option -c angegeben wird, werden alle gebundenen Befehle für die angegebene Befehlsklasse angezeigt. Siehe auch den Abschnitt STANDARD-TASTENBELEGUNGEN.

history

Normalerweise arbeiten Benutzer mit einer Shell, die einen einfachen Zugriff auf vorherige Befehle ermöglicht. Zum Beispiel hat csh den Befehl !!, um den zuletzt ausgeführten Befehl zu wiederholen. Screen ermöglicht es Ihnen, eine einfache Möglichkeit zu haben, den Befehl, der ... gestartet hat, wieder abzurufen: Sie geben einfach den ersten Buchstaben dieses Befehls ein und drücken dann C-a {, und Screen versucht, eine vorherige Zeile zu finden, die mit dem Prompt-Zeichen links vom Cursor übereinstimmt. Diese Zeile wird in die Eingabewarteschlange dieses Fensters eingefügt. So haben Sie eine einfache Befehlshistorie (bestehend aus dem sichtbaren Fenster und seinem Scrollback-Puffer).

hstatus status

Ändert die Hardstatus-Zeile des Fensters auf die Zeichenfolge status.

idle [timeout[cmd-args]]

Legt einen Befehl fest, der nach Ablauf der angegebenen Anzahl von Sekunden Inaktivität ausgeführt wird. Dieser Befehl ist normalerweise der Blanking-Befehl, um einen Bildschirmschoner zu erstellen, kann aber auch ein beliebiger Screen-Befehl sein. Wenn kein Befehl angegeben wird, wird nur der Timeout-Wert festgelegt. Ein Timeout-Wert von Null (oder der spezielle Timeout off) deaktiviert den Timer. Wenn keine Argumente angegeben werden, werden die aktuellen Einstellungen angezeigt.


ignorecase [ ein | aus ]

Weisen Sie Screen an, die Groß-/Kleinschreibung von Zeichen bei der Suche zu ignorieren. Standardmäßig ist dies `aus'. Ohne Optionen wird der Status von ignorecase umgeschaltet.

info

Verwendet die Nachrichtenzeile, um einige Informationen über das aktuelle Fenster anzuzeigen: die Cursorposition in der Form (Spalte, Zeile), beginnend mit (1,1), die Terminalbreite und -höhe sowie die Größe des Scrollback-Puffers in Zeilen, z. B. (80,24)+50. Der aktuelle Status der Fenster-XON/XOFF-Flusssteuerung wird wie folgt angezeigt (siehe auch Abschnitt FLUSSSTEUERUNG):

┌──────────┬──────────────────────────────────────────────────────────┐
│ +flow    │ automatische Flusssteuerung, derzeit aktiviert.             │
├──────────┼──────────────────────────────────────────────────────────┤
│ -flow    │ automatische Flusssteuerung, derzeit deaktiviert.            │
├──────────┼──────────────────────────────────────────────────────────┤
│ +(+)flow │ Flusssteuerung aktiviert. Stimmt mit der automatischen Steuerung überein. │
├──────────┼──────────────────────────────────────────────────────────┤
│ -(+)flow │ Flusssteuerung deaktiviert. Weicht von der automatischen Steuerung ab. │
├──────────┼──────────────────────────────────────────────────────────┤
│ +(-)flow │ Flusssteuerung aktiviert. Weicht von der automatischen Steuerung ab.  │
├──────────┼──────────────────────────────────────────────────────────┤
│ -(-)flow │ Flusssteuerung deaktiviert. Stimmt mit der automatischen Steuerung überein.    │
└──────────┴──────────────────────────────────────────────────────────┘

Die aktuelle Zeilenumbruch-Einstellung (`+wrap' zeigt aktiviert an, `-wrap' nicht) wird ebenfalls angezeigt. Die Flags ins, org, app, log, mon oder nored werden angezeigt, wenn sich das Fenster im Einfügemodus, Ursprungsmodus, Anwendungstastenmodus befindet, die Ausgabe protokolliert wird, die Aktivität überwacht wird oder eine partielle Neuanzeige aktiviert ist.

Das aktuell aktive Zeichensatz (G0, G1, G2 oder G3) und in eckigen Klammern die Terminalzeichensätze, die derzeit als G0 bis G3 definiert sind, werden angezeigt. Wenn sich das Fenster im UTF-8-Modus befindet, wird die Zeichenkette UTF-8 angezeigt.

Zusätzliche Modi, abhängig vom Typ des Fensters, werden am Ende der Statuszeile angezeigt (siehe auch Kapitel FENSTERTYPEN).

Wenn sich der Zustandsautomat des Terminalemulators in einem Nicht-Standardzustand befindet, beginnt die Infoleiste mit einer Zeichenkette, die den aktuellen Zustand identifiziert.

Für Systeminformationen verwenden Sie den Befehl time.

ins_reg [key]

Nicht mehr vorhanden, verwenden Sie stattdessen paste.

kill

Aktuelles Fenster beenden.

Wenn ein exec-Befehl ausgeführt wird, wird dieser beendet. Andernfalls erhält der im Fenster ausgeführte Prozess (Shell) ein HANGUP-Signal, die Fensterstruktur wird entfernt und screen wechselt zu einem anderen Fenster. Wenn das letzte Fenster zerstört wird, wird screen beendet. Nach einem kill-Befehl wechselt screen zum zuvor angezeigten Fenster.

Hinweis: Emacs-Benutzer sollten sich diesen Befehl merken, wenn sie eine Zeile beenden. Es wird empfohlen, nicht C-a als `screen`-Escape-Taste zu verwenden oder `kill` auf C-a K zu binden.

lastmsg

Zeigt den letzten Inhalt der Nachrichten-/Statuszeile erneut an. Nützlich, wenn Sie tippen, während eine Nachricht angezeigt wird, da die Nachricht verschwindet, wenn Sie eine Taste drücken (es sei denn, Ihr Terminal verfügt über eine Hardware-Statuszeile). Weitere Informationen finden Sie in den Befehlen msgwait und msgminwait.

layout new [title]

Erstellt ein neues Layout. Der Bildschirm wechselt zu einer ganzen Region und dann zum leeren Fenster. Von hier aus können Sie die Regionen und die darin angezeigten Fenster nach Bedarf erstellen. Das neue Layout wird mit der kleinsten verfügbaren ganzen Zahl nummeriert, beginnend mit Null. Sie können Ihrem neuen Layout optional einen Titel geben. Andernfalls erhält es einen Standardtitel von layout. Sie können den Titel später jederzeit mit dem Befehl layout title ändern.

layout remove [n|title]

Entfernt bzw. löscht das angegebene Layout. Entweder die Nummer oder der Titel können angegeben werden. Wenn weder das eine noch das andere angegeben wird, entfernt screen das aktuelle Layout.

Das Entfernen eines Layouts hat keinen Einfluss auf Ihre festgelegten Fenster oder Regionen.

layout next

Wechselt zum nächsten verfügbaren Layout.

layout prev

Wechselt zum vorherigen verfügbaren Layout.

layout select [n|title]

Wählt das gewünschte Layout aus. Entweder die Nummer oder der Titel können angegeben werden. Wenn weder das eine noch das andere angegeben wird, fordert screen auf und fragt, welches Layout gewünscht wird. Um zu sehen, welche Layouts verfügbar sind, verwenden Sie den Befehl layout show.

layout show

Listet auf der Nachrichtenzeile die Nummern und Titel der verfügbaren Layouts auf. Das aktuelle Layout ist gekennzeichnet.

layout title [title]

Ändert oder zeigt den Titel des aktuellen Layouts an. Eine angegebene Zeichenkette wird verwendet, um dem Layout einen Namen zu geben. Ohne Optionen wird der aktuelle Titel und die aktuelle Nummer auf der Nachrichtenzeile angezeigt.

layout number [n]

Ändert oder zeigt die Nummer des aktuellen Layouts an. Eine angegebene Ganzzahl wird verwendet, um dem Layout eine Nummer zu geben. Ohne Optionen werden die aktuelle Nummer und der aktuelle Titel auf der Nachrichtenzeile angezeigt.


layout attach [title|:last]

Ändern oder anzeigen, welches Layout wieder angehängt werden soll. Standardmäßig ist dies :last, was screen anweist, sich wieder mit dem zuletzt verwendeten Layout vor dem Trennen zu verbinden. Durch Angabe eines Titels können Sie screen anweisen, sich mit einem bestimmten Layout zu verbinden, unabhängig davon, welches Layout zum Zeitpunkt der Trennung verwendet wurde. Ohne Optionen wird das Layout, mit dem wieder verbunden werden soll, in der Nachrichtenleiste angezeigt.

layout save [n|title]

Speichern Sie die aktuelle Anordnung der Regionen. Wenn dies verwendet wird, speichert screen die Anordnung der vertikal und horizontal aufgeteilten Regionen. Diese Anordnung wird wiederhergestellt, wenn eine screen-Sitzung wieder angehängt oder von einem anderen Layout aus gewechselt wird. Wenn die Sitzung beendet wird oder der screen-Prozess beendet wird, gehen die Layout-Anordnungen verloren. Der Befehl layout dump sollte in dieser Situation helfen. Wenn eine Zahl oder ein Titel angegeben wird, speichert screen die Anordnung dieses bestimmten Layouts. Ohne Optionen wird das aktuelle Layout gespeichert.

Das Speichern Ihrer Regionen kann automatisch mit dem Befehl layout autosave erfolgen.

layout autosave [ on | off]

Ändern oder zeigen Sie den Status des automatischen Speicherns von Layouts an. Standardmäßig ist dies on, was bedeutet, dass screen beim Trennen oder Wechsel zu einem anderen Layout die Anordnung der Regionen und Fenster zu diesem Zeitpunkt speichert und beim Zurückkehren wiederherstellt. Wenn autosave auf off gesetzt ist, wird diese Anordnung nur entweder durch die letzte manuelle Speicherung mit layout save oder durch die Zeit, in der das Layout zuerst erstellt wurde, in einer einzelnen Region mit einem einzelnen Fenster, wiederhergestellt. Ohne Angabe von on oder off wird der aktuelle Status in der Nachrichtenleiste angezeigt.

layout dump [filename]

Schreiben Sie die Reihenfolge der in dem aktuellen Layout vorgenommenen Aufteilungen in eine Datei. Dies ist nützlich, um die Reihenfolge der in Ihrem aktuellen Layout verwendeten Regionen zu reproduzieren. Nur das aktuelle Layout wird aufgezeichnet. Während die Reihenfolge der Regionen aufgezeichnet wird, werden die Größen dieser Regionen und welche Fenster welchen Regionen entsprechen, nicht aufgezeichnet. Wenn keine Dateiname angegeben wird, ist der Standardwert layout-dump, der im Verzeichnis gespeichert wird, in dem der screen-Prozess gestartet wurde. Wenn die Datei bereits vorhanden ist, fügt layout dump an diese Datei an. Zum Beispiel:

C-a : layout dump /home/user/.screenrc

speichert oder fügt das Layout an der .screenrc-Datei des Benutzers an.

license

Zeigen Sie die Disclaimer-Seite an. Dies geschieht jedes Mal, wenn screen ohne Optionen gestartet wird, was oft genug sein sollte. Siehe auch den Befehl startup_message.

lockscreen

Sperren Sie dieses Display. Rufen Sie ein screenlock-Programm auf. Screen akzeptiert keine Befehlstasten, bis dieses Programm beendet ist. In der Zwischenzeit können Prozesse in den Fenstern weiterlaufen, da sich die Fenster im Status detached befinden. Das screenlock-Programm kann über die Umgebungsvariable $LOCKPRG geändert werden (die in der Shell eingestellt werden muss, aus der screen gestartet wird) und wird mit der Benutzer-ID und Gruppen-ID des Benutzers ausgeführt.

Warnung: Wenn Sie andere Shells entsperrt lassen und kein Passwort für screen festgelegt haben, ist die Sperre wirkungslos: Man könnte sich problemlos von einer entsperrten Shell aus wieder verbinden. Diese Funktion sollte eher als lockterminal bezeichnet werden.


log [ein | aus]

Startet oder stoppt das Schreiben der Ausgabe des aktuellen Fensters in eine Datei namens screenlog.n im Standardverzeichnis des Fensters, wobei n die Nummer des aktuellen Fensters ist. Dieser Dateiname kann mit dem Befehl logfile geändert werden. Wenn kein Parameter angegeben wird, wird der Protokollierungsstatus umgeschaltet. Das Sitzungsprotokoll wird an den vorherigen Inhalt der Datei angehängt, falls diese bereits vorhanden ist. Der aktuelle Inhalt und der Inhalt des Scrollback-Verlaufs werden nicht in das Sitzungsprotokoll aufgenommen. Standardmäßig ist aus.

logfile dateiname

logfile flush sekunden

Definiert den Namen, den die Protokolldateien erhalten. Der Standard ist screenlog.%n. Die zweite Form ändert die Anzahl der Sekunden, die Screen wartet, bevor der Protokolldatei-Puffer in das Dateisystem geschrieben wird. Der Standardwert ist 10 Sekunden.

login [ein | aus]

Fügt einen Eintrag in der utmp-Datenbankdatei für das aktuelle Fenster hinzu oder entfernt ihn. Dies steuert, ob das Fenster angemeldet ist. Wenn kein Parameter angegeben wird, wird der Anmeldestatus des Fensters umgeschaltet. Zusätzlich zu diesem Umschalten ist es praktisch, separate Befehle zum Anmelden und Abmelden zu haben. Zum Beispiel wird bind I login ein und bind O login aus diese Tasten auf C-a I bzw. C-a O abbilden. Die Standardeinstellung (in config.h.in) sollte für einen Screen, der unter suid-root ausgeführt wird, auf ein gesetzt sein. Verwenden Sie den Befehl deflogin, um den Standard-Anmeldestatus für neue Fenster zu ändern. Beide Befehle sind nur vorhanden, wenn Screen mit utmp-Unterstützung kompiliert wurde.

logtstamp [ein | aus]

logtstamp nach [sekunden]

logtstamp string
[string]

Dieser Befehl steuert den Zeitstempelmechanismus der Screen-Protokolldatei. Wenn Zeitstempel aktiviert sind, fügt Screen nach zwei Minuten Inaktivität eine Zeichenkette mit der aktuellen Zeit in die Protokolldatei ein. Wenn die Ausgabe fortgesetzt wird und mehr als zwei weitere Minuten vergangen sind, wird ein zweiter Zeitstempel hinzugefügt, um den Neustart der Ausgabe zu dokumentieren. Sie können dieses Timeout mit der zweiten Form des Befehls ändern. Die dritte Form wird verwendet, um die Zeitstempelzeichenkette anzupassen (-- %n:%t -- Zeitstempel -%M/%d/%y %c:%s --\n ist die Standardeinstellung).

mapdefault

Weisen Sie Screen an, dass der nächste Eingabezeichen nur in der Standard-Bindkey-Tabelle nachgeschlagen werden soll. Siehe auch bindkey.

mapnotnext

Wie mapdefault, aber nicht einmal in der Standard-Bindkey-Tabelle nachsehen.

maptimeout [timeout]

Setzen Sie den Inter-Zeichen-Timer für die Erkennung von Eingabesequenzen auf ein Timeout von Timeout ms. Das Standard-Timeout ist 300 ms. maptimeout ohne Argumente zeigt die aktuelle Einstellung an. Siehe auch bindkey.

markkeys string

Dies ist eine Methode, um die für den Kopiermodus/Verlaufsmodus verwendete Tastaturbelegung zu ändern. Die Zeichenkette besteht aus alten Zeichen=neue Zeichen-Paaren, die durch : getrennt sind. Beispiel: Die Zeichenkette B=^B:F=^F ändert die Tasten C-b und C-f in die vi-ähnliche Bindung (Seite auf- und abblättern). Dies ist zufällig die Standardbindung für B und F. Der Befehl markkeys h=^B:l=^F:$=^E würde den Modus für eine Emacs-ähnliche Bindung festlegen. Wenn Ihr Terminal Zeichen sendet, die dazu führen, dass Sie den Kopiermodus abbrechen, kann dieser Befehl helfen, indem er diese Zeichen so bindet, dass sie nichts tun. Das No-Op-Zeichen ist @ und wird wie folgt verwendet: markkeys @=L=H, wenn Sie die Befehle H oder L nicht mehr verwenden möchten. Wie in diesem Beispiel gezeigt, können in einer einzigen Anweisung mehrere Tasten derselben Funktion zugewiesen werden.


maxwin num

Legt die maximale Anzahl von Fenstern fest, die der Bildschirm erstellen kann. Hat keinen Einfluss auf bereits vorhandene Fenster. Die Anzahl kann nur dann erhöht werden, wenn keine Fenster vorhanden sind.

meta

Fügt das Befehlszeichen (C-a) in den Eingabestrom des aktuellen Fensters ein.

monitor [ ein | aus ]

Schaltet die Aktivitätsüberwachung von Fenstern ein oder aus. Wenn die Überwachung eingeschaltet ist und ein betroffenes Fenster in den Hintergrund verschoben wird, erhalten Sie eine Aktivitätsbenachrichtigung in der Statusleiste, sobald die Ausgabe beginnt, und das Fenster wird auch mit einem `@`-Zeichen in der Fensterstatusanzeige gekennzeichnet. Die Überwachung ist anfänglich für alle Fenster deaktiviert.

mousetrack [ ein | aus ]

Dieser Befehl bestimmt, ob Screen auf Mausclicks achtet. Wenn dieser Befehl aktiviert ist, können Bereiche, die auf verschiedene Weise aufgeteilt wurden, durch Zeigen mit der Maus und Linksklicken ausgewählt werden. Ohne Angabe von „ein“ oder „aus“ wird der aktuelle Status angezeigt. Der Standardzustand wird durch den Befehl `defmousetrack` bestimmt.

msgminwait sek

Definiert die Zeit, die Screen verzögert, bevor eine neue Nachricht angezeigt wird, wenn gerade eine Nachricht angezeigt wird. Der Standardwert beträgt 1 Sekunde.

msgwait sek

Definiert die Zeit, die eine Nachricht angezeigt wird, wenn Screen nicht durch andere Aktivitäten gestört wird. Der Standardwert beträgt 5 Sekunden.

multiuser [ ein | aus ]

Schaltet zwischen dem Einzelbenutzer- und Mehrbenutzermodus um. Der Standardbetrieb von Screen ist der Einzelbenutzermodus. Im Mehrbenutzermodus können die Befehle `acladd`, `aclchg`, `aclgrp` und `acldel` verwendet werden, um anderen Benutzern den Zugriff auf diese Screen-Sitzung zu ermöglichen (und zu deaktivieren).

nethack [ ein | aus ]

Ändert die Art der Fehlermeldungen, die von Screen verwendet werden. Wenn Sie mit dem Spiel Nethack vertraut sind, können Ihnen die Nethack-ähnlichen Meldungen gefallen, die oft die Fakten etwas verschleiern, aber viel lustiger zu lesen sind. In jedem Fall sind Standardmeldungen oft auch unklar.

Diese Option ist nur verfügbar, wenn Screen mit der definierten NETHACK-Flagge kompiliert wurde. Die Standardeinstellung wird dann durch das Vorhandensein der Umgebungsvariablen $NETHACKOPTIONS und der Datei ~/.nethackrc bestimmt – wenn eines von beiden vorhanden ist, ist die Standardeinstellung „ein“.

next

Zum nächsten Fenster wechseln. Dieser Befehl kann wiederholt verwendet werden, um durch die Liste der Fenster zu wechseln.

nonblock [ ein | aus | numsec ]

Weist Screen an, wie mit Benutzerschnittstellen (Anzeigen) umzugehen ist, die keine Ausgaben mehr akzeptieren. Dies kann passieren, wenn ein Benutzer ^S drückt oder eine TCP/Modem-Verbindung unterbrochen wird, aber kein Hangup-Signal empfangen wird. Wenn `nonblock` auf „aus“ eingestellt ist (dies ist die Standardeinstellung), wartet Screen, bis die Anzeige wieder Ausgaben akzeptiert.

Wenn nonblock auf „ein“ eingestellt ist, wartet Screen, bis das Timeout erreicht ist (ein wird wie 1 s behandelt). Wenn die Anzeige immer noch keine Zeichen empfängt, betrachtet Screen sie als blockiert und stoppt die Übertragung von Zeichen an sie. Wenn sie irgendwann wieder Zeichen akzeptiert, hebt Screen die Blockierung der Anzeige auf und zeigt den aktualisierten Fensterinhalt erneut an.


number [[+|-]n]

Ändert die Nummer des aktuellen Fensters. Wenn die angegebene Nummer n bereits von einem anderen Fenster verwendet wird, tauschen beide Fenster ihre Nummern aus. Wenn kein Argument angegeben wird, wird die aktuelle Fensternummer (und der Titel) angezeigt. Mit +' oder-' kann die Fensternummer um den angegebenen relativen Betrag geändert werden.

obuflimit [limit]

Wenn der Ausgabepuffer mehr Bytes enthält als das angegebene Limit, werden keine weiteren Daten von den Fenstern gelesen. Der Standardwert ist 256. Wenn Sie ein schnelles Display (wie xterm) haben, können Sie ihn auf einen höheren Wert setzen. Wenn kein Argument angegeben wird, wird die aktuelle Einstellung angezeigt.

only

Löscht alle Regionen außer der aktuellen.

other

Wechselt zum zuvor angezeigten Fenster. Wenn dieses Fenster nicht mehr existiert, hat other die gleiche Wirkung wie next.

partial [ on | off ]

Definiert, ob die Anzeige nach dem Wechsel zum aktuellen Fenster aktualisiert werden soll (wie mit redisplay). Dieser Befehl betrifft nur das aktuelle Fenster. Um alle Fenster sofort zu beeinflussen, verwenden Sie den Befehl allpartial. Standardmäßig ist dies off, da es derzeit keinen Befehl defpartial gibt.

password [crypted_pw]

Geben Sie ein verschlüsseltes Passwort in Ihrer .screenrc-Datei an, und Screen fordert dieses an, wenn jemand versucht, eine getrennte Sitzung wiederherzustellen. Dies ist nützlich, wenn Sie privilegierte Programme unter Screen ausführen und Ihre Sitzung vor Wiederherstellungsversuchen durch einen anderen Benutzer schützen möchten, der sich als Ihr Benutzer ausgibt (d. h. jeder Superuser). Wenn kein verschlüsseltes Passwort angegeben wird, fordert Screen zweimal zur Eingabe eines Passworts auf und speichert die Verschlüsselung im Zwischenspeicher. Standardmäßig ist dies none, wodurch die Passwortprüfung deaktiviert wird.

paste [registers [dest_reg]]

Schreibt den (verketteten) Inhalt der angegebenen Register in die Stdin-Warteschlange des aktuellen Fensters. Das Register . wird als Zwischenspeicher behandelt. Wenn kein Parameter angegeben wird, wird der Benutzer aufgefordert, ein einzelnes Register zum Einfügen anzugeben. Der Zwischenspeicher kann mit den Befehlen copy, history und readbuf gefüllt werden. Andere Register können mit den Befehlen register, readreg und paste gefüllt werden. Wenn paste mit einem zweiten Argument aufgerufen wird, wird der Inhalt der angegebenen Register in das benannte Zielregister anstelle des Fensters eingefügt. Wenn . als zweites Argument verwendet wird, ist der Anzeigezwischenspeicher das Ziel. Beachten Sie, dass paste eine Vielzahl von Ressourcen verwendet: Wann immer ein zweites Argument angegeben wird, ist kein aktuelles Fenster erforderlich. Wenn die Quellspezifikation nur Register enthält (nicht den Zwischenspeicher), muss es kein aktuelles Display (Terminal) geben, da die Register eine globale Ressource sind. Der Zwischenspeicher existiert einmal für jeden Benutzer.


pastefont [ ein | aus ]

Weisen Sie screen an, die Schriftarteninformationen in den Zwischenspeicher einzufügen. Standardmäßig wird dies nicht durchgeführt. Dieser Befehl ist besonders nützlich für Mehrzeichen-Schriften wie Kanji.

pow_break

Öffnen Sie die Terminalzeile des Fensters erneut und senden Sie eine Unterbrechungsbedingung. Siehe `break'.

pow_detach

Power-Trennung. Im Wesentlichen das Gleiche wie detach, sendet aber auch ein HANGUP-Signal an den übergeordneten Prozess von screen. VORSICHT: Dies führt zu einer Abmeldung, wenn screen von Ihrer Login-Shell aus gestartet wurde.

pow_detach_msg [message]

Die hier angegebene Nachricht wird jedes Mal ausgegeben, wenn eine `Power-Trennung' durchgeführt wurde. Sie kann als Ersatz für eine Abmeldungsmeldung oder zum Zurücksetzen der Baudrate usw. verwendet werden. Ohne Parameter wird die aktuelle Nachricht angezeigt.

prev

Wechseln Sie zum Fenster mit der nächst niedrigeren Nummer. Dieser Befehl kann wiederholt verwendet werden, um die Liste der Fenster zu durchlaufen.

printcmd [cmd]

Wenn cmd keine leere Zeichenkette ist, verwendet screen die Terminalfunktionen po/pf nicht, wenn es eine ANSI-Drucksequenz ESC [ 5 i erkennt, sondern leitet die Ausgabe an cmd weiter. Dies sollte normalerweise ein Befehl wie lpr oder printcmd sein. Ohne Befehl wird die aktuelle Einstellung angezeigt. Die ANSI-Sequenz ESC [ 4 i beendet den Druck und schließt die Pipe.

Warnung: Seien Sie vorsichtig mit diesem Befehl! Wenn andere Benutzer Schreibzugriff auf Ihr Terminal haben,
können diese Druckbefehle auslösen.

process [key]

Fügen Sie den Inhalt des angegebenen Registers in die Eingabewarteschlange von screen ein. Wenn kein Argument angegeben wird, werden Sie aufgefordert, einen Registernamen einzugeben. Der Text wird so analysiert, als ob er von der Tastatur des Benutzers eingegeben worden wäre. Dieser Befehl kann verwendet werden, um mehrere Aktionen an eine einzelne Taste zu binden.

quit

Beenden Sie alle Fenster und beenden Sie screen. Beachten Sie, dass auf VT100-ähnlichen Terminals die Tasten C-4 und C-\ identisch sind. Dies macht die Standardbindungen gefährlich: Achten Sie darauf, nicht C-a C-4 zu tippen, wenn Sie Fenster Nr. 4 auswählen. Verwenden Sie den leeren Bind-Befehl (z. B. bind '^\'), um eine Tastenbindung zu entfernen.

readbuf [encoding] [filename]

Liest den Inhalt der angegebenen Datei in den Zwischenspeicher. Sie können screen die Kodierung der Datei über die Option -e mitteilen. Wenn keine Datei angegeben ist, wird die screen-exchange-Datei verwendet. Siehe auch den Befehl bufferfile.

readreg [encoding] [register [filename]]

Tut eines von zwei Dingen, abhängig von der Anzahl der Argumente: Mit null oder einem Argument wird der Inhalt des Zwischenspeichers in das angegebene oder aufgeforderte Register dupliziert. Mit zwei Argumenten wird der Inhalt der benannten Datei in das Register gelesen, genau wie readbuf den Inhalt der screen-exchange-Datei in den Zwischenspeicher liest. Sie können screen die Kodierung der Datei über die Option -e mitteilen. Das folgende Beispiel fügt den Inhalt der System-Passwortdatei in das screen-Fenster ein (wobei eine Kopie im Register p verbleibt):

C-a : readreg p /etc/passwd
C-a : paste p

redisplay

Zeigt das aktuelle Fenster erneut an. Notwendig, um eine vollständige Neuanzeige zu erhalten, wenn der Teilaktualisierungsmodus aktiv ist.

register [-eencoding]key-string

Speichert die angegebene Zeichenkette im Register mit dem Schlüssel key-string. Die Kodierung der Zeichenkette kann über die Option -e angegeben werden. Siehe auch den Befehl paste.

remove

Löscht die aktuelle Region. Dies ist eine No-Op, wenn nur eine Region vorhanden ist.

removebuf

Entfernt die Verbindung zur Bildschirm-Austauschdatei, die von den Befehlen writebuf und readbuf verwendet wird.

rendition [ bell | monitor | silence | so ] attr [ color ]

Ändert die Art und Weise, wie Screen die Titel von Fenstern rendert, die die Flags „monitor“ oder „bell“ in caption oder hardstatus oder windowlist gesetzt haben. Siehe das Kapitel „STRING ESCAPES“ für die Syntax der Modifikatoren. Der Standardwert für monitor ist derzeit =b (fett, aktive Farben), für bell =ub (unterstrichen, fett und aktive Farben) und =u für silence.

reset

Setzt das virtuelle Terminal auf seine beim Einschalten vorhandenen Werte zurück. Nützlich, wenn seltsame Einstellungen (wie z. B. Scrollbereiche oder Grafikzeichensätze) von einer Anwendung übrig geblieben sind.

resize [-h|-v|-b|-l|-p] [[+|-] n[%] |=|max|min|_|0]

Ändert die Größe der aktuellen Region. Der Platz wird von den umgebenden Regionen entfernt oder ihnen hinzugefügt, je nach der Reihenfolge der Aufteilungen. Die verfügbaren Optionen für die Größenänderung sind -h (horizontal), -v (vertikal), -b (beide), -l (lokal für die Ebene) und -p (senkrecht). Horizontale Größenänderungen fügen der Region Breite hinzu oder entfernen sie, vertikale Größenänderungen fügen Höhe hinzu oder entfernen sie, und beide fügen Größe in beiden Dimensionen hinzu oder entfernen sie. Lokal und senkrecht sind ähnlich wie horizontal und vertikal, berücksichtigen aber, wie eine Region aufgeteilt wurde. Wenn die letzte Aufteilung einer Region horizontal war, wirkt eine lokale Größenänderung wie eine vertikale Größenänderung. Wenn die letzte Aufteilung einer Region vertikal war, wirkt eine lokale Größenänderung wie eine horizontale Größenänderung. Senkrechte Größenänderungen wirken entgegengesetzt zu lokalen Größenänderungen.

Wenn keine Option angegeben ist, ist „lokal“ der Standardwert.

Die Anzahl der hinzuzufügenden oder zu entfernenden Zeilen kann auf verschiedene Arten angegeben werden. Durch die Angabe einer Zahl n wird die Größe der Region um diesen absoluten Betrag geändert. Sie können einen relativen Betrag angeben, indem Sie ein Pluszeichen + oder ein Minuszeichen - vor den Betrag setzen, z. B. zum Hinzufügen von +n Zeilen oder zum Entfernen von -n Zeilen. Die Größenänderung kann auch als absoluter oder relativer Prozentsatz durch Anhängen eines Prozentzeichens % ausgedrückt werden. Die Verwendung von Null 0 ist ein Synonym für min, und die Verwendung eines Unterstrichs _ ist ein Synonym für max.

Hier sind einige Beispiele:

resize +N
erhöht die aktuelle Region um N

resize -N
verringert die aktuelle Region um N

resize N
setzt die aktuelle Region auf N

resize 20%
setzt die aktuelle Region auf 20 % der ursprünglichen Größe

resize +20%
erhöht die aktuelle Region um 20 %

resize -b =
macht alle Fenster gleich groß

resize max
maximiert die aktuelle Region

resize min
minimiert die aktuelle Region

Ohne Argumente fordert Screen auf, wie die aktuelle Region in der Größe geändert werden soll.

Siehe focusminsize, wenn Sie die minimale Größe, die eine Region haben kann, beschränken möchten.

screen [-opts] [n] [cmd [args]|//group]

Ein neues Fenster wird erstellt. Die Optionen zur Flusskontrolle (-f, -fn und -fa), die Titeloption (auch bekannt als -t), die Anmeldeoptionen (-l und -ln), die Terminaltypoption (-T <term>), die Option für alle Funktionen (-a) und die Scrollback-Option (-h <num>) können für jeden Befehl angegeben werden. Die Option (-M) aktiviert die Überwachung für dieses Fenster. Die Option (-L) aktiviert die Ausgabe-Protokollierung für dieses Fenster. Wenn eine optionale Zahl n im Bereich 0..MAXWIN-1 angegeben wird, wird der neu erstellten Fenster die Fensternummer n zugewiesen (oder, wenn diese Nummer bereits verwendet wird, die nächste verfügbare Nummer). Wenn nach screen ein Befehl angegeben wird, wird dieser Befehl (mit den angegebenen Argumenten) in dem Fenster gestartet; andernfalls wird eine Shell erstellt. Wenn //group angegeben wird, wird ein Container-Typ-Fenster erstellt, in dem andere Fenster erstellt werden können.

Wenn sich beispielsweise die Datei .screenrc wie folgt zusammensetzt:

# Beispiel für .screenrc:
screen 1
screen -fn -t foobar -L 2 telnet foobar

`screen` erstellt ein Shell-Fenster (in Fenster Nr. 1) und ein Fenster mit einer TELNET-Verbindung zum Rechner `foobar` (ohne Flusskontrolle, mit dem Titel `foobar` in Fenster Nr. 2) und schreibt eine Protokolldatei (screenlog.2) der Telnet-Sitzung. Beachten Sie, dass im Gegensatz zu früheren Versionen von `screen` keine zusätzlichen Standardfenster erstellt werden, wenn `screen`-Befehle in Ihrer `.screenrc`-Datei enthalten sind. Nach Abschluss der Initialisierung wechselt `screen` zum letzten in Ihrer `.screenrc`-Datei angegebenen Fenster oder, falls keines vorhanden ist, öffnet es ein Standardfenster Nr. 0.

^ creen verfügt über einige integrierte Funktionen von cu und telnet. Siehe auch das Kapitel FENSTERTYPEN.

scrollback num

Setzt die Größe des Scrollback-Puffers für die aktuellen Fenster auf num Zeilen. Der Standard-Scrollback ist 100 Zeilen. Siehe auch den Befehl defscrollback und verwenden Sie info, um die aktuelle Einstellung anzuzeigen. Um auf den Inhalt des Scrollback-Puffers zuzugreifen und ihn zu verwenden, verwenden Sie den Befehl copy.

select [WindowID]

Wechselt zu dem durch WindowID identifizierten Fenster. Dies kann ein Präfix eines Fenstertitels (alphanumerischer Fensternamen) oder eine Fensternummer sein. Der Parameter ist optional, und wenn er weggelassen wird, werden Sie aufgefordert, eine Kennung einzugeben. Wenn ein neues Fenster erstellt wird, wird ihm die erste verfügbare Nummer zugewiesen. Das erste Fenster kann also mit select 0 aktiviert werden. Die Anzahl der Fenster wird durch den Konfigurationsparameter MAXWIN festgelegt (der standardmäßig 100 ist), kann aber mit dem Befehl maxwin geändert werden. Es gibt zwei spezielle WindowIDs: - wählt das interne leere Fenster aus und . wählt das aktuelle Fenster aus. Letzteres ist nützlich, wenn es mit der Option -X von screen verwendet wird.

sessionname [name]

Benennt die aktuelle Sitzung um. Beachten Sie, dass bei screen -list der Name zusammen mit der Prozess-ID angezeigt wird. Wenn das Argument name weggelassen wird, wird der Name dieser Sitzung angezeigt. Vorsicht: Die Umgebungsvariable $STY spiegelt in bereits vorhandenen Shells immer noch den alten Namen wider. Dies kann zu Verwirrung führen. Die Verwendung dieses Befehls wird im Allgemeinen nicht empfohlen. Verwenden Sie die Option -S in der Befehlszeile, wenn Sie eine neue Sitzung benennen möchten. Standardmäßig wird der Name aus den TTY- und Hostnamen zusammengesetzt.


setenv [var [string]]

Legt die Umgebungsvariable var auf den Wert string fest. Wenn nur var angegeben ist, wird der Benutzer aufgefordert, einen Wert einzugeben. Wenn keine Parameter angegeben sind, wird der Benutzer aufgefordert, sowohl die Variable als auch den Wert einzugeben. Die Umgebung wird von allen nachfolgend erstellten Shells übernommen.

setsid [ ein | aus ]

Normalerweise verwendet Screen unterschiedliche Sitzungen und Prozessgruppen für die Fenster. Wenn setsid ausgeschaltet ist, wird dies nicht mehr durchgeführt und alle Fenster befinden sich in derselben Prozessgruppe wie der Screen-Hintergrundprozess. Dies unterbricht auch die Jobsteuerung, seien Sie also vorsichtig. Standardmäßig ist dies auf „ein“ eingestellt. Dieser Befehl ist wahrscheinlich nur in seltenen Fällen nützlich.

shell command

Legt den Befehl fest, der zum Erstellen einer neuen Shell verwendet werden soll. Dies überschreibt den Wert der Umgebungsvariablen $SHELL. Dies ist nützlich, wenn Sie einen Terminal-Enhancer ausführen möchten, der erwartet, dass das in $SHELL angegebene Programm ausgeführt wird. Wenn der Befehl mit einem '-' Zeichen beginnt, wird die Shell als Login-Shell gestartet. Typische Shells führen nur minimale Initialisierungen aus, wenn sie nicht als Login-Shell gestartet werden. Zum Beispiel wird Bash . ~/.bash_profile nicht lesen, es sei denn, es handelt sich um eine Login-Shell.

shelltitle title

Legt den Titel für alle während des Starts oder mit dem Befehl C-A C-c erstellten Shells fest. Einzelheiten zu einem Titel finden Sie im Abschnitt TITLES (Benennung von Fenstern).

silence [ ein | aus | sek ]

Aktiviert oder deaktiviert die Überwachung von Fenstern auf Inaktivität. Wenn die Inaktivitätsüberwachung aktiviert ist und ein betroffenes Fenster in den Hintergrund verschoben wird, erhalten Sie die Inaktivitätsbenachrichtigung in der Statusleiste, nachdem eine angegebene Zeit der Inaktivität verstrichen ist. Das Standard-Timeout kann mit dem Befehl silencewait oder durch Angabe einer Anzahl von Sekunden anstelle von ein oder aus geändert werden. Die Inaktivitätsüberwachung ist für alle Fenster standardmäßig deaktiviert.

silencewait sek

Definiert die Zeit, die alle auf Inaktivität überwachten Fenster warten, bevor eine Meldung angezeigt wird. Standardwert: 30 Sekunden.

sleep num

Dieser Befehl hält die Ausführung einer .screenrc-Datei für num Sekunden an. Tastatureingaben beenden den Schlafmodus. Er kann verwendet werden, um Benutzern Zeit zu geben, die von echo ausgegebenen Meldungen zu lesen.

slowpaste msec

Definiert die Geschwindigkeit, mit der Text durch den Befehl „Einfügen“ (C-a ]) in das aktuelle Fenster eingefügt wird. Wenn der Wert für slowpaste ungleich Null ist, wird der Text zeichenweise geschrieben. Screen macht eine Pause von msec Millisekunden nach jedem einzelnen Zeichen, damit die Anwendung die Eingabe verarbeiten kann. Verwenden Sie slowpaste nur, wenn Ihr zugrunde liegende System Probleme bei der Flusskontrolle beim Einfügen großer Textmengen aufweist.

sort

Sortiert die Fenster in alphabetischer Reihenfolge ihrer Fenstertitel.

source file

Liest und führt Befehle aus der Datei file aus. Die Befehle source können bis zu einer maximalen Rekursionstiefe von zehn verschachtelt werden. Wenn file kein absoluter Pfad ist und Screen bereits einen Befehl source verarbeitet, wird das übergeordnete Verzeichnis der aktuell ausgeführten source-Befehlsdatei verwendet, um nach der neuen Befehlsdatei zu suchen, bevor das aktuelle Verzeichnis von Screen verwendet wird.


Beachten Sie, dass die Befehle termcap/terminfo/termcapinfo nur beim Start und bei der erneuten Verbindung funktionieren, daher müssen sie über die Standard-Screenrc-Dateien aufgerufen werden, damit sie wirksam sind.

sorendition [attr[color]]

Dieser Befehl ist veraltet. Siehe „rendition so“ stattdessen.

split[-v]

Teilt die aktuelle Region in zwei neue Regionen auf. Alle Regionen auf dem Bildschirm werden so angepasst, dass Platz für die neue Region entsteht. Das leere Fenster wird in der neuen Region angezeigt. Standardmäßig wird eine horizontale Aufteilung erstellt, wobei die neuen Regionen übereinander angeordnet werden. Mit -v wird eine vertikale Aufteilung erstellt, wodurch die neuen Regionen nebeneinander angeordnet werden. Verwenden Sie die Befehle remove oder only, um Regionen zu löschen. Verwenden Sie focus, um zwischen Regionen zu wechseln.

Wenn eine Region entgegengesetzt zu ihrer vorherigen Aufteilung aufgeteilt wird (d. h. vertikal dann horizontal oder horizontal dann vertikal), wird eine neue Ebene erstellt. Die Ebene wird verwendet, um die Regionen, die gleich aufgeteilt sind, zu gruppieren. Normalerweise sollte ein Benutzer die Ebenen weder sehen noch sich darum kümmern müssen, aber sie beeinflussen das Verhalten einiger Befehle (focus und resize).

Bei der aktuellen Implementierung von Screen wird die Bildlaufgeschwindigkeit in einer vertikal aufgeteilten Region deutlich geringer sein als in einer nicht aufgeteilten Region. Dies sollte berücksichtigt werden, wenn Sie Systembefehle wie cat oder tail -f verwenden müssen.

startup_message [ on | off ]

Legen Sie fest, ob Sie die Copyright-Mitteilung beim Start sehen möchten. Standardmäßig ist dies auf „on“ eingestellt, wie Sie wahrscheinlich bemerkt haben.

status [ top | up | down | bottom ] [ left | right ]

Das Statusfenster befindet sich standardmäßig in der unteren linken Ecke. Mit diesem Befehl können Sie die Statusmeldungen an eine beliebige Ecke des Bildschirms verschieben. top ist dasselbe wie up, down ist dasselbe wie bottom.

stuff [string]

Fügt die Zeichenkette string in den Eingabepuffer des aktuellen Fensters ein. Dies ist wie der Befehl paste, hat aber viel weniger Overhead. Ohne Parameter wird Screen zur Eingabe einer einzufügenden Zeichenkette auffordern. Sie können keine großen Puffer mit dem Befehl stuff einfügen. Er ist am nützlichsten für Tastenkombinationen. Siehe auch bindkey.

su [username [password [password2]]]

Ersetzt den Benutzer einer Anzeige. Der Befehl fordert zur Eingabe aller fehlenden Parameter auf. Wenn Passwörter als Parameter angegeben werden, müssen diese unverschlüsselt angegeben werden. Das erste Passwort wird mit der System-Passwortdatenbank verglichen, das zweite Passwort wird mit dem Screen-Passwort verglichen, das mit den Befehlen acladd oder password festgelegt wurde. Su kann für den Screen-Administrator nützlich sein, um Multiuser-Setups zu testen. Wenn die Identifizierung fehlschlägt, hat der Benutzer Zugriff auf die Befehle detach, license, version, help und displays.

suspend

Setzt Screen in den Ruhezustand. Die Fenster befinden sich im Zustand „detached“, während Screen im Ruhezustand ist. Diese Funktion setzt voraus, dass die Shell Jobsteuerung durchführen kann.

term term

In der Umgebung jedes Fensters, das Screen öffnet, wird die Variable $TERM standardmäßig auf screen gesetzt. Wenn jedoch keine Beschreibung für Screen in der lokalen Termcap- oder Terminfo-Datenbank installiert ist, setzen Sie $TERM auf beispielsweise vt100. Dies schadet nicht viel, da Screen VT100/ANSI-kompatibel ist. Die Verwendung des Befehls term wird für andere Zwecke als die Standardeinstellung nicht empfohlen. Wenn Sie beispielsweise spezielle $TERM-Einstellungen (z. B. vt100) für den nächsten Befehl screen -T vt100 rlogin othermachine festlegen möchten, verwenden Sie diesen Befehl, anstatt die Standardeinstellung zu ändern.


termcap term terminal-tweaks[window-tweaks]

terminfo term terminal-tweaks[window-tweaks]

termcapinfo term terminal-tweaks[window-tweaks]

Verwenden Sie diesen Befehl, um den Termcap-Eintrag Ihres Terminals zu ändern, ohne sich die Mühe machen zu müssen, einen benutzerdefinierten Termcap-Eintrag zu erstellen. Außerdem können Sie optional den für die Fenster generierten Termcap anpassen. Sie müssen diese Befehle in einer der Screenrc-Startdateien platzieren, da sie nach dem Start des Terminalemulators keine Bedeutung haben.

Wenn Ihr System die Terminfo-Datenbank anstelle von Termcap verwendet, versteht Screen den Befehl terminfo, der die gleichen Auswirkungen wie der Befehl termcap hat. Es werden zwei separate Befehle bereitgestellt, da es subtile syntaktische Unterschiede gibt, z. B. wenn die Parameterinterpolation (mit %) erforderlich ist. Beachten Sie, dass die Termcap-Namen der Fähigkeiten mit dem Befehl terminfo verwendet werden müssen.

In vielen Fällen, in denen die Argumente sowohl in der Terminfo- als auch in der Termcap-Syntax gültig sind, können Sie den Befehl termcapinfo verwenden, der nur eine Abkürzung für ein Paar von termcap- und terminfo-Befehlen mit identischen Argumenten ist.

Das erste Argument gibt an, welche Terminal(s) von dieser Definition betroffen sein sollen. Sie können mehrere Terminalnamen durch Trennen mit | angeben. Verwenden Sie *, um alle Terminals zu erfassen, und vt*, um alle Terminals zu erfassen, die mit vt beginnen.

Jedes Tweak-Argument enthält eine oder mehrere Termcap-Definitionen (getrennt durch :), die am Anfang des entsprechenden Termcap-Eintrags eingefügt werden, um ihn zu erweitern oder vorhandene Werte zu überschreiben. Die erste Tweak-Änderung betrifft den Termcap Ihres Terminals und enthält Definitionen, die Ihr Terminal verwendet, um bestimmte Funktionen auszuführen. Geben Sie eine leere Zeichenkette an, um diese unverändert zu lassen (z. B. ''). Die zweite (optionale) Tweak-Änderung betrifft alle Fenster-Termcaps und sollte Definitionen enthalten, die Screen versteht (siehe der Abschnitt VIRTUAL TERMINAL).

Einige Beispiele:

termcap xterm* LP:hs@

Informiert Screen, dass alle Terminals, die mit xterm beginnen, feste automatische Ränder haben, die es ermöglichen, die letzte Position auf dem Bildschirm zu aktualisieren (LP), aber sie haben nicht wirklich eine Statusleiste (kein hs - fügen Sie @ an, um Einträge zu deaktivieren). Beachten Sie, dass wir LP für alle Terminalnamen, die mit vt beginnen, annehmen, aber nur, wenn Sie keinen Termcap-Befehl für dieses Terminal angeben. termcap vt* LP

termcap vt102|vt220 Z0=\E[?3h:Z1=\E[?3l

Gibt die feste Rand-Fähigkeit LP für alle Terminals an, die mit vt beginnen, und die zweite Zeile fügt auch die Escape-Sequenzen hinzu, um in den (Z0) und aus dem (Z1) 132-Zeichen-pro-Zeile-Modus zu wechseln, wenn es sich um ein VT102 oder VT220 handelt. (Sie müssen Z0 und Z1 in Ihrem Termcap angeben, um die Befehle zur Änderung der Breite zu verwenden.)


termcap vt100  ""  l0=PF1:l1=PF2:l2=PF3:l3=PF4

Dies lässt Ihre vt100-Termcap-Definition unverändert und fügt die Beschriftungen der Funktionstasten zur Termcap-Definition jedes Fensters hinzu.

termcap h19|z19  am@:im=\E@:ei=\EO  dc=\E[P

Nimmt eine h19- oder z19-Termcap-Definition und schaltet die automatische Seitenumbruchfunktion (am@) aus und aktiviert die Einfügemodus- (im) und Ende-Einfügemodus- (ei) Funktionen (das @ in der im-Zeichenkette steht nach dem =, daher ist es Teil der Zeichenkette). Das Hinzufügen der im- und ei-Definitionen zu der Termcap-Definition Ihres Terminals führt dazu, dass screen automatisch die Zeicheneinfügungsfunktion in der Termcap-Definition jedes Fensters anzeigt. Jedes Fenster erhält außerdem die Löschzeichen-Funktion (dc) in seiner Termcap-Definition, die screen in eine Zeilenaktualisierung für das Terminal übersetzt (wir tun so, als ob es keine Zeichenlöschfunktion unterstützt).

Wenn Sie die Termcap-Definition jedes Fensters vollständig angeben möchten, sollten Sie stattdessen die Variable $SCREENCAP setzen, bevor Sie screen ausführen. Sehen Sie die Diskussion über das VIRTUELLE TERMINAL in diesem Handbuch und die Manpage termcap(5) für weitere Informationen über Termcap-Definitionen.

time   [Zeichenkette]

Verwendet die Nachrichtenleiste, um die aktuelle Uhrzeit, den Hostnamen und die durchschnittliche Systemlast über 1, 5 und 15 Minuten anzuzeigen (falls dies auf Ihrem System verfügbar ist). Für fensterspezifische Informationen verwenden Sie info.

Wenn eine Zeichenkette angegeben wird, ändert diese das Format des Zeitberichts, wie es im Abschnitt "ZEICHENKETTEN-ESCAPES" beschrieben ist. Screen verwendet standardmäßig "%c:%s %M %d %H%? %l%?".

title [Fenstertitel]

Setzt den Namen des aktuellen Fensters auf den Fenstertitel. Wenn kein Name angegeben wird, fordert screen zur Eingabe auf. Dieser Befehl wurde in früheren Versionen als aka bezeichnet.

unbindall

Löst alle Bindungen auf. Dies kann nützlich sein, wenn screen nur für seine Detach-Funktionen verwendet wird, z. B. wenn eine Konsolenanwendung als Daemon ausgeführt werden soll. Wenn es aus irgendeinem Grund erforderlich ist, nach diesem Befehl Befehle zu binden, verwenden Sie screen -X.

unsetenv var

Setzt eine Umgebungsvariable zurück.

utf8 [ ein | aus [ ein | aus ]]

Ändert die in dem aktuellen Fenster verwendete Zeichenkodierung. Wenn utf8 aktiviert ist, werden die an das Fenster gesendeten Zeichenketten UTF-8-kodiert und umgekehrt. Wenn der Parameter weggelassen wird, wird die Einstellung umgeschaltet. Wenn ein zweiter Parameter angegeben wird, wird auch die Kodierung der Anzeige geändert (dies sollte jedoch mit der Option -U von screen erfolgen). Siehe auch defutf8, die die Standardeinstellung für ein neues Fenster ändert.

vbell [ ein | aus ]

Setzt die Einstellung für das visuelle Glockensignal für dieses Fenster. Wenn der Parameter weggelassen wird, wird die Einstellung umgeschaltet. Wenn vbell aktiviert ist, aber Ihr Terminal kein visuelles Glockensignal unterstützt, wird eine vbell-Nachricht in der Statusleiste angezeigt, wenn das Glockenzeichen (^G) empfangen wird. Die Unterstützung für ein visuelles Glockensignal eines Terminals wird durch die Termcap-Variable vb (terminfo: flash) definiert.


Standardmäßig ist vbell deaktiviert, daher wird das akustische Signal verwendet. Siehe auch bell_msg.

vbell_msg [message]

Legt die visuelle Glockennachricht fest. Die Nachricht wird in der Statuszeile ausgegeben, wenn das Fenster ein Glockenzeichen (^G) empfängt, vbell auf ein aktiviert ist, aber das Terminal keine visuelle Glocke unterstützt. Die Standardnachricht lautet Wuff, Wuff!!. Ohne Parameter wird die aktuelle Nachricht angezeigt.

vbellwait sec

Definiert eine Verzögerung in Sekunden nach jeder Anzeige der visuellen Glockennachricht des Bildschirms. Der Standardwert ist 1 Sekunde.

verbose [on | off]

Wenn verbose aktiviert ist, wird der Befehlsname ausgegeben, wenn ein Fenster erstellt wird (oder aus einem Zombie-Zustand wiederhergestellt wird). Standardmäßig ist es deaktiviert. Ohne Parameter wird die aktuelle Einstellung angezeigt.

version

Gibt die aktuelle Version und das Kompilierungsdatum in der Statuszeile aus.

wall message

Schreibt eine Nachricht an alle Bildschirme. Die Nachricht wird in der Statuszeile des Terminals angezeigt.

width [-w|-d] [cols [lines]]

Ändert die Fensterbreite zwischen 80 und 132 Spalten oder setzt sie auf cols Spalten, wenn ein Argument angegeben ist. Dies erfordert ein geeignetes Terminal und die Termcap-Einträge Z0 und Z1. Weitere Informationen finden Sie in der Termcap-Dokumentation. Sie können auch eine neue Höhe angeben, wenn Sie beide Werte ändern möchten. Die Option -w weist Screen an, die Anzeigegröße unverändert zu lassen und nur die Fenstergröße festzulegen, -d das Gegenteil.

windowlist [ -b ] [ -m ] [ -g ]

windowlist string [string]

windowlist title [title]

Zeigt alle Fenster in einer Tabelle zur visuellen Fensterauswahl an. Wenn sich Screen in einer Fenstergruppe befand, verlässt Screen diese Gruppe und zeigt dann die Fenster in dieser Gruppe an. Wenn die Option -b angegeben wird, wechselt Screen vor der Anzeige der Liste in das leere Fenster, so dass das aktuelle Fenster ebenfalls auswählbar ist. Die Option -m ändert die Reihenfolge der Fenster, anstatt sie nach Fensternummern zu sortieren; Screen verwendet stattdessen seine interne Liste der zuletzt verwendeten Fenster. Die Option -g zeigt die Fenster innerhalb aller Gruppen auf dieser Ebene und darunter an.

Die folgenden Tasten werden zur Navigation in windowlist verwendet:

k, C-p oder Pfeil nach oben Bewegt eine Zeile nach oben.

j, C-n oder Pfeil nach unten    Bewegt eine Zeile nach unten.

C-g oder Escape Verlässt windowlist.

C-a oder Home   Bewegt zur ersten Zeile.

C-e oder End    Bewegt zur letzten Zeile.

C-u oder C-d    Bewegt eine halbe Seite nach oben oder unten.

C-b oder C-f    Bewegt eine volle Seite nach oben oder unten.

.9  Mit den Zahlen-Tasten zur ausgewählten Zeile bewegen.

Mausklick   Bewegt zur ausgewählten Zeile. Verfügbar, wenn mousetrack auf ein gesetzt ist.

/   Suchen.

n   Wiederholt die Suche in Vorwärtsrichtung.

N   Wiederholt die Suche in Rückwärtsrichtung.

m   MRU umschalten.

g   Gruppenverschachtelung umschalten.

a   Alle Fensteransicht.

C-h oder Rücktaste  Aus der Gruppe zurückgehen.

,   Nummern mit dem vorherigen Fenster vertauschen.

.   Nummern mit dem nächsten Fenster vertauschen.

K   Dieses Fenster schließen.

Leerzeichen oder Eingabetaste     Wählt dieses Fenster aus.

Das Tabellenformat kann mit der Option string und title geändert werden, wobei der Titel als Tabellenüberschrift angezeigt wird, während die Zeilen mithilfe der Option string erstellt werden. Die Standardeinstellung ist Num Name%=Flags für den Titel und %3n %t%=%f für die Zeilen. Weitere Informationen finden Sie im Abschnitt STRING ESCAPES (z. B. Farbcodierungen).

^ indowlist benötigt eine Region von mindestens 10 Zeichen Breite und 6 Zeichen Höhe, um angezeigt zu werden.

windows [ string ]

Verwendet die Nachrichtenleiste, um eine Liste aller Fenster anzuzeigen. Jedes Fenster wird durch seine Nummer und den Namen des darin gestarteten Prozesses (oder seinen Titel) aufgelistet; das aktuelle Fenster ist mit einem * gekennzeichnet, das vorherige Fenster mit einem -; alle Fenster, in denen Benutzer angemeldet sind, sind mit einem $ gekennzeichnet; ein Hintergrundfenster, das ein Signal erhalten hat, ist mit einem ! gekennzeichnet; ein Hintergrundfenster, das überwacht wird und in dem Aktivitäten stattgefunden haben, ist mit einem @ gekennzeichnet; ein Fenster, für das die Ausgabeloggung aktiviert ist, ist mit (L) gekennzeichnet; Fenster, die von anderen Benutzern belegt sind, sind mit & gekennzeichnet; Fenster im Zombie-Zustand sind mit Z gekennzeichnet. Wenn diese Liste zu lang ist, um auf der Statusleiste des Terminals anzuzeigen, wird nur der Bereich um das aktuelle Fenster angezeigt. Der optionale Parameter string folgt dem Format STRING ESCAPES. Wenn ein Parameter string übergeben wird, ist die Ausgabe nicht begrenzt. Der Standardbefehl ohne Parameter ist auf 1024 Byte begrenzt.

wrap [ on | off ]

Legt die Zeilenumbruch-Einstellung für das aktuelle Fenster fest. Wenn der Zeilenumbruch aktiviert ist, wird das zweite aufeinanderfolgende druckbare Zeichen am Ende einer Zeile an den Anfang der nächsten Zeile umbrochen. Als zusätzliche Funktion wird auch die Rücktaste (^H) durch den linken Rand auf die vorherige Zeile umbrechen. Standardmäßig ist on. Ohne Optionen wird der Status von wrap umgeschaltet.

writebuf [-e encoding] [Dateiname]

Schreibt den Inhalt des Zwischenspeicherpuffers in die angegebene Datei oder in die öffentlich zugängliche Bildschirm-Austauschdatei, wenn kein Dateiname angegeben ist. Dies wird als primitives Mittel zur Kommunikation zwischen Bildschirmbenutzern auf demselben Host betrachtet. Wenn eine Codierung angegeben wird, wird der Zwischenspeicherpuffer während des Schreibvorgangs in die entsprechende Codierung umgewandelt. Der Dateiname kann mit dem Befehl bufferfile festgelegt werden und lautet standardmäßig /tmp/screen-exchange.

writelock [ on | off | auto]

Zusätzlich zu den Zugriffskontrolllisten können nicht alle Benutzer gleichzeitig in dasselbe Fenster schreiben. Standardmäßig befindet sich writelock im Modus auto und erteilt dem Benutzer, der zuerst zu diesem Fenster wechselt, die exklusive Schreibberechtigung. Wenn er das Fenster verlässt, können andere Benutzer die Schreibberechtigung erhalten (automatisch). Die Schreibberechtigung des aktuellen Fensters wird mit dem Befehl writelock off deaktiviert. Wenn der Benutzer den Befehl writelock on ausführt, behält er die exklusive Schreibberechtigung, auch wenn er zu anderen Fenstern wechselt.

xoff

xon

Fügt ein CTRL-s / CTRL-q-Zeichen in die stdin-Warteschlange des aktuellen Fensters ein.


    zmodem [off | auto | catch | pass]

    zmodem sendcmd [string]

    zmodem recvcmd [string]

Definiert die Zmodem-Unterstützung für Screen. Screen erkennt zwei verschiedene Modi, wenn eine Zmodem-Anfrage erkannt wird: pass und catch. Wenn der Modus auf pass gesetzt ist, leitet Screen alle Daten an das angehängte Programm weiter, bis das Ende der Übertragung erreicht ist. Im catch-Modus fungiert Screen als Zmodem-Endpunkt und startet die entsprechenden rz/sz-Befehle. Wenn der Modus auf ^ uto gesetzt ist, verwendet Screen den catch-Modus, wenn das Fenster ein TTY ist (z. B. eine serielle Verbindung), andernfalls wird der pass-Modus verwendet.

Sie können die Vorlagen definieren, die Screen im catch-Modus verwendet, über die zweite und dritte Form.

Beachten Sie auch, dass dies eine experimentelle Funktion ist.

    zombie [keys[onerror]]

Standardmäßig werden Screen-Fenster aus der Fensterliste entfernt, sobald der Prozess des Fensters (z. B. die Shell) beendet wird. Wenn eine Zeichenkette mit zwei Tasten für den zombie-Befehl angegeben wird, bleiben "tote" Fenster in der Liste. Der kill-Befehl kann verwendet werden, um ein solches Fenster zu entfernen. Das Drücken der ersten Taste im "toten" Fenster hat die gleiche Wirkung. Wenn die zweite Taste gedrückt wird, versucht Screen, das Fenster wiederherzustellen. Der Prozess, der ursprünglich im Fenster ausgeführt wurde, wird erneut gestartet.

Das Aufrufen von zombie ohne Parameter setzt die Zombie-Einstellung zurück, wodurch Fenster verschwinden, wenn ihr Prozess beendet wird.

Da die Zombie-Einstellung global für alle Fenster manipuliert wird, sollte dieser Befehl wahrscheinlich defzombie genannt werden, dies ist aber nicht der Fall.

Optional können Sie das Wort onerror nach den Tasten setzen. Dadurch wird Screen den Exit-Status des im Fenster ausgeführten Prozesses überwachen. Wenn er normal ('0') beendet wird, verschwindet das Fenster. Jeder andere Exit-Wert führt dazu, dass das Fenster zu einem Zombie wird.

    zombie_timeout[seconds]

Standardmäßig werden Screen-Fenster aus der Fensterliste entfernt, sobald der Prozess des Fensters (z. B. die Shell) beendet wird. Wenn Zombie-Tasten definiert sind (vergleichen Sie mit dem obigen ^ ombie-Befehl), ist es möglich, auch einen Timeout festzulegen, wenn Screen versucht, ein "totes" Screen-Fenster automatisch wiederherzustellen.

DIE NACHRICHTENZEILE

Screen zeigt informative Nachrichten und andere Diagnoseinformationen in einer Nachrichtenzeile an. Obwohl diese Zeile so konzipiert ist, dass sie am unteren Bildschirmrand angezeigt wird, kann sie während der Kompilierung so konfiguriert werden, dass sie am oberen Rand des Bildschirms angezeigt wird. Wenn Ihr Terminal eine Statuszeile in seiner Termcap-Datei definiert hat, verwendet Screen diese zum Anzeigen seiner Nachrichten; andernfalls wird eine Zeile des aktuellen Bildschirms vorübergehend überschrieben, und die Ausgabe wird kurzzeitig unterbrochen. Die Nachrichtenzeile wird nach einigen Sekunden automatisch entfernt, kann aber auch früher entfernt werden (bei Terminals ohne Statuszeile), indem man mit dem Tippen beginnt.

Die Nachrichtenzeilenfunktion kann von einer Anwendung verwendet werden, die im aktuellen Fenster ausgeführt wird, mithilfe der ANSI-Datenschutz-Nachrichtensteuersatzsequenz. Versuchen Sie beispielsweise in der Shell Folgendes:

    echo '<esc>^Hello world from window '$WINDOW'<esc>\\'

wobei <esc> ein Escape-Zeichen, ^ ein Literal-Pfeil nach oben und \\ zu einem einzelnen Backslash wird.


FENSTERTYPEN

Screen bietet drei verschiedene Fenstertypen. Neue Fenster werden mit dem Befehl screen erstellt (siehe auch den Eintrag im Kapitel ANPASSUNG). Der erste Parameter des Befehls screen definiert, welcher Fenstertyp erstellt wird. Die verschiedenen Fenstertypen sind allesamt Sonderfälle des normalen Typs. Sie wurden hinzugefügt, um die effiziente Verwendung von Screen als Konsolen-Multiplexer mit 100 oder mehr Fenstern zu ermöglichen.

Das normale Fenster enthält eine Shell (Standard, wenn kein Parameter angegeben wird) oder ein beliebiges anderes Systemkommando, das von einer Shell aus ausgeführt werden könnte (z. B. slogin usw.).

Wenn ein TTY-Name (Zeichen-Spezialgerät) (z. B. /dev/ttya) als erster Parameter angegeben wird, wird das Fenster direkt mit diesem Gerät verbunden. Dieser Fenstertyp ähnelt screen cu -l /dev/ttya. Für den Zugriff auf den Geräteknoten sind Lese- und Schreibrechte erforderlich, und es wird versucht, das Gerät exklusiv zu öffnen, um die Verbindung als belegt zu kennzeichnen. Ein optionaler Parameter ist erlaubt, der aus einer durch Kommas getrennten Liste von Flags besteht, die der Notation von stty(1) entsprechen:

`<Baudrate>`

Normalerweise 300, 1200, 9600 oder 19200. Dies beeinflusst sowohl die Sende- als auch die Empfangsgeschwindigkeit.

`cs8` oder `cs7`

Gibt die Übertragung von acht (oder sieben) Bits pro Byte an.

`cstopb` oder `-cstopb`

Gibt zwei Stopp-Bits pro Zeichen an (eins mit '-').

`parenb` oder `-parenb`

Generiert ein Paritätsbit in der Ausgabe und erwartet ein Paritätsbit in der Eingabe.

`parodd` oder `-parodd`

Setzt die gerade Parität (oder die ungerade Parität mit '-').

`ixon` oder `-ixon`

Aktiviert (oder deaktiviert) die Software-Flusskontrolle (STRG-S/STRG-Q) zum Senden von Daten.

`ixoff` oder `-ixoff`

Aktiviert (oder deaktiviert) die Software-Flusskontrolle zum Empfangen von Daten.

`istrip` oder `-istrip`

Löscht (oder behält) das achte Bit in jedem empfangenen Byte.

Möglicherweise möchten Sie so viele dieser Optionen wie anwendbar angeben. Nicht angegebene Optionen führen dazu, dass der Terminaltreiber die Parameterwerte der Verbindung selbst ermittelt. Diese Werte sind systemspezifisch und können entweder Standardwerte oder Werte sein, die von einer vorherigen Verbindung gespeichert wurden.

Für TTY-Fenster zeigt der Befehl info einige der Modem-Steuerleitungen in der Statusleiste an. Dazu gehören möglicherweise RTS, CTS, DTR, DSR, CD und mehr. Dies hängt von den verfügbaren ^ octl()-Funktionen und System-Header-Dateien sowie von den physischen Fähigkeiten der seriellen Schnittstelle ab. Signale, die logisch niedrig (inaktiv) sind, haben ihren Namen vorangestellt mit einem Ausrufezeichen (!), andernfalls ist das Signal logisch hoch (aktiv). Signale, die von der Hardware nicht unterstützt, aber über die ioctl()-Schnittstelle verfügbar sind, werden normalerweise niedrig angezeigt.

Wenn das CLOCAL-Statusbit auf wahr gesetzt ist, wird die gesamte Gruppe der Modem-Signale in geschweifte Klammern ({ und }) gesetzt. Wenn das CRTSCTS- oder TIOCSOFTCAR-Bit gesetzt ist, werden die Signale CTS bzw. CD in Klammern angezeigt.

Für TTY-Fenster bewirkt der Befehl break, dass die Datenübertragungsleitung (TxD) für einen bestimmten Zeitraum auf niedrig gesetzt wird. Es wird erwartet, dass dies auf der anderen Seite als Break-Signal interpretiert wird. Es werden keine Daten gesendet, und keine der Modem-Steuerleitungen wird geändert, wenn ein Break-Signal gesendet wird.


Wenn der erste Parameter //telnet ist, wird als zweiter Parameter ein Hostname erwartet, und ein optionaler dritter Parameter kann eine TCP-Portnummer (Standard-Dezimalwert 23) angeben. Screen stellt eine Verbindung zu einem Server her, der auf dem Remote-Host lauscht, und verwendet das Telnet-Protokoll, um mit diesem Server zu kommunizieren.

Für Telnet-Fenster zeigt der Befehl info Details über die Verbindung in eckigen Klammern ([ und ]) am Ende der Statuszeile an.

b      BINÄR. Die Verbindung befindet sich im Binärmodus.

e      ECHO. Lokales Echo ist deaktiviert.

c      SGA. Die Verbindung befindet sich im „Zeichenmodus“ (Standard: „Zeilenmodus“).

t      TTYPE. Der Remote-Host hat den Terminaltyp angefordert. Screen sendet den Namen „screen“, es sei denn, es wird anders angegeben (siehe auch den Befehl `term`).

w      NAWS. Der Remote-Host wird über Größenänderungen des Fensters benachrichtigt.

f      LFLOW. Der Remote-Host sendet Flusssteuerungsinformationen. (Wird derzeit ignoriert.)

Zusätzliche Flags für das Debugging sind x, t und n (XDISPLOC, TSPEED und NEWENV).

Für Telnet-Fenster sendet der Befehl break den Telnet-Code IAC BREAK (Dezimalwert 243) an den Remote-Host.

Dieser Fenstertyp ist nur verfügbar, wenn Screen mit der Option ENABLE_TELNET kompiliert wurde.

STRING-ESCAPES

Screen bietet einen Escape-Mechanismus zum Einfügen von Informationen wie der aktuellen Zeit in Nachrichten oder Dateinamen. Das Escape-Zeichen ist „%“, mit einer Ausnahme: Innerhalb des Hardstatus eines Fensters wird stattdessen „^%“ („^E“) verwendet.

Hier ist die vollständige Liste der unterstützten Escapes:

%      das Escape-Zeichen selbst

E      setzt %? auf „true“, wenn das Escape-Zeichen gedrückt wurde.

e      Kodierung

f      Flags des Fensters, siehe Fenster für die Bedeutung der einzelnen Flags

F      setzt %? auf „true“, wenn das Fenster den Fokus hat

h      Hardstatus des Fensters

H      Hostname des Systems

n      Fensternummer

P      setzt %? auf „true“, wenn sich der aktuelle Bereich im Kopier-/Einfügemodus befindet

S      Sitzungsname

s      Fenstergröße

t      Fenstertitel

u      alle anderen Benutzer in diesem Fenster

w      alle Fensternummern und -namen. Mit dem Qualifizierer „-“: bis zum aktuellen Fenster; mit dem Qualifizierer „+“: beginnend mit dem Fenster nach dem aktuellen.

W      alle Fensternummern und -namen mit Ausnahme des aktuellen Fensters

x      der ausgeführte Befehl einschließlich der Argumente, der in diesem Fenster ausgeführt wird

X      der ausgeführte Befehl ohne Argumente, der in diesem Fenster ausgeführt wird

?      der Teil bis zum nächsten „%?“ wird nur angezeigt, wenn ein „%“-Escape innerhalb des Teils zu einem nicht leeren String expandiert.

:      ansonsten Teil von „%?“

=      Füllt die Zeichenkette bis zur Breite der Anzeige auf (ähnlich wie hfill in TeX). Wenn eine Zahl angegeben wird, wird bis zu einem Prozentsatz der Fensterbreite aufgefüllt. Ein Qualifizierer „0“ weist Screen an, die Zahl als absolute Position zu behandeln. Sie können angeben, relativ zur letzten absoluten Auffüllposition aufzufüllen, indem Sie einen Qualifizierer „+“ hinzufügen, oder relativ zum rechten Rand aufzufüllen, indem Sie „-“ verwenden. Das Auffüllen kürzt die Zeichenkette, wenn sich die angegebene Position vor der aktuellen Position befindet. Fügen Sie den Qualifizierer „L“ hinzu, um dies zu ändern.

<      entspricht '%=', führt aber nur eine Abschneidung durch, ohne mit Leerzeichen aufzufüllen

>      Markiert die aktuelle Textposition für die nächste Abschneidung. Wenn der Bildschirm eine Abschneidung benötigt, versucht er, diese so durchzuführen, dass die markierte Position in den angegebenen Prozentsatz des Ausgabebereichs verschoben wird. (Der Bereich beginnt an der letzten absoluten Auffüllposition und endet
an der durch den Abschneidungsoperator angegebenen Position). Der Qualifizierer 'L' weist den Bildschirm an, die abgeschnittenen Teile mit '...' zu kennzeichnen.

{      Attribut-/Farbmodifikator-String, der mit der nächsten } endet

`      Ersetzt durch die Ausgabe eines 'Backtick'-Befehls. Der Längenqualifizierer wird missbraucht,
um einen der Befehle zu identifizieren.

Die Escape-Sequenzen 'c' und 'C' können mit einem '0' versehen werden, damit der Bildschirm anstelle von Leerzeichen die Null als Füllzeichen verwendet. Der Qualifizierer '0' bewirkt auch, dass die Escape-Sequenz '=' absolute Positionen verwendet. Die Escape-Sequenzen 'n' und '=' verstehen einen Längenqualifizierer (z. B. '%3n'), 'D' und 'M' können mit 'L' versehen werden, um lange Namen zu generieren, und 'w' und 'W' zeigen die Fensterflags an, wenn 'L' angegeben ist.

Ein Attribut-/Farbmodifikator wird verwendet, um die Attribute oder Farbeinstellungen zu ändern. Sein Format ist [Attributmodifikator] [Farb Beschreibung]. Der Attributmodifikator muss durch einen Änderungstypindikator versehen werden, wenn er mit einer Farb Beschreibung verwechselt werden kann. Die folgenden Änderungstypen sind bekannt:

+      fügt das angegebene Set zu den aktuellen Attributen hinzu

-      entfernt das Set aus den aktuellen Attributen

!      invertiert das Set in den aktuellen Attributen

=      ändert die aktuellen Attribute in das angegebene Set

Das Attributset kann entweder als hexadezimale Zahl oder als Kombination der folgenden Buchstaben angegeben werden:

d      gedimmt
u      unterstrichen
b      fett
r      umkehren
s      /Hervorhebung
B      blinkend

Farben werden entweder als hexadezimale Zahl oder als zwei Buchstaben codiert, die die gewünschte Hintergrund- und Vordergrundfarbe angeben (in dieser Reihenfolge). Die folgenden Farben sind bekannt:

k      schwarz
r      rot
g      grün
y      gelb
b      blau
m      magenta
c      cyan
w      weiß
d      Standardfarbe
.      Farbe unverändert lassen

Die großgeschriebenen Versionen der Buchstaben geben helle Farben an. Sie können auch die Pseudo-Farbe 'i' verwenden, um nur die Helligkeit einzustellen und die Farbe unverändert zu lassen. Eine einstellige/buchstabenartige Farbbeschreibung wird als Vorder- oder Hintergrundfarbe behandelt, je nach den aktuellen Attributen: Wenn der Umkehrmodus gesetzt ist, wird die Hintergrundfarbe anstelle der Vordergrundfarbe geändert. Wenn Sie dies nicht wünschen, setzen Sie der Farbe ein .. vor. Wenn Sie das gleiche Verhalten für zweistellige Farbbeschreibungen wünschen, setzen Sie auch diesen ein ..

Als Sonderfall stellt %{-} die Attribute und Farben wieder her, die vor der letzten Änderung eingestellt wurden (d. h. es wird eine Ebene des Farbänderungsstapels entfernt).

Beispiele:

G      Farbe auf hellgrün setzen

+b r   Fett roten Text verwenden

= yd   Alle Attribute löschen, in Standardfarbe auf gelbem Hintergrund schreiben.

%-Lw%{= BW}%50>%n%f* %t%{-}%+Lw%<

Die verfügbaren Fenster, zentriert am aktuellen Fenster, und auf die verfügbare Breite abgeschnitten. Das aktuelle Fenster wird in Weiß auf blau angezeigt. Dies kann mit hardstatus alwayslastline verwendet werden.

%?%F%{.R.}%?%3n %t%? [%h]%?

Die Fensternummer und der Titel und der Hardstatus des Fensters, falls einer gesetzt ist. Verwenden Sie außerdem einen roten Hintergrund, wenn dies das aktive Fenster ist. Nützlich für die Beschriftungszeichenfolge.

FLUSSSTEUERUNG

Jedes Fenster hat eine Flusssteuerungseinstellung, die bestimmt, wie Screen mit den XON- und XOFF-Zeichen umgeht (und möglicherweise dem Interrupt-Zeichen). Wenn die Flusssteuerung deaktiviert ist, ignoriert Screen die XON- und XOFF-Zeichen, was es dem Benutzer ermöglicht, diese direkt an das aktuelle Programm zu senden, indem er sie einfach eingibt (nützlich für den Emacs-Editor zum Beispiel). Der Nachteil ist, dass es länger dauert, bis die Ausgabe eines normalen Programms als Reaktion auf ein XOFF angehalten wird. Wenn die Flusssteuerung aktiviert ist, werden die XON- und XOFF-Zeichen verwendet, um die Ausgabe des aktuellen Fensters sofort anzuhalten. Sie können diese Zeichen immer noch an das aktuelle Programm senden, aber Sie müssen die entsprechenden zwei-Zeichen-Screen-Befehle verwenden (normalerweise C-a q (xon) und C-a s (xoff)). Die Xon/Xoff-Befehle sind auch nützlich, um C-s und C-q an ein Terminal zu senden, das diese Zeichen abfängt.

Jedes Fenster hat einen anfänglichen Flusssteuerungswert, der entweder mit der Option -f oder dem Befehl defflow in der Datei .screenrc festgelegt wird. Standardmäßig sind die Fenster auf automatisches Flusssteuerungsumschalten eingestellt. Es kann dann interaktiv zwischen den drei Zuständen „fixiert ein“, „fixiert aus“ und „automatisch“ mit dem Befehl „flow“ gewechselt werden, der an „C-a f“ gebunden ist.

Der automatische Flusssteuerungsumschaltmodus behandelt die Flusssteuerung mit dem TIOCPKT-Modus (wie rlogin). Wenn der TTY-Treiber TIOCPKT nicht unterstützt, versucht Screen, den richtigen Modus basierend auf der aktuellen Einstellung der Anwendungstastatur zu ermitteln – wenn diese aktiviert ist, ist die Flusssteuerung deaktiviert, und umgekehrt. Selbstverständlich können Sie die Flusssteuerung bei Bedarf weiterhin manuell steuern.

Wenn Sie mit aktivierter Flusssteuerung arbeiten und feststellen, dass das Drücken der Interrupt-Taste (normalerweise Cc) die Anzeige erst nach dem Scrollen von weiteren 6-8 Zeilen unterbricht, versuchen Sie, Screen mit der Interrupt-Option auszuführen (fügen Sie das Flag „interrupt“ zum Befehl „flow“ in Ihrer Datei .screenrc hinzu oder verwenden Sie die Befehlszeilenoption -i). Dadurch wird die Ausgabe, die Screen vom unterbrochenen Programm gesammelt hat, geleert. Ein Nachteil ist, dass der Speicher des virtuellen Terminals die nicht geleerte Version der Ausgabe enthält, was in seltenen Fällen zu geringfügigen Ungenauigkeiten in der Ausgabe führen kann. Wenn Sie beispielsweise zwischen den Bildschirmen wechseln und zurückkehren oder den Bildschirm mit C-a l aktualisieren, sehen Sie die Version der Ausgabe, die Sie erhalten hätten, wenn „interrupt“ aktiviert wäre. Außerdem müssen Sie möglicherweise die Flusssteuerung deaktivieren (oder den automatischen Flusssteuerungsmodus verwenden, um sie automatisch zu deaktivieren), wenn Sie ein Programm ausführen, bei dem Sie erwarten, dass Sie das Interrupt-Zeichen als Eingabe eingeben, da es möglich ist, die Ausgabe des virtuellen Terminals an Ihr physisches Terminal zu unterbrechen, wenn die Flusssteuerung aktiviert ist. Wenn dies geschieht, stellt eine einfache Aktualisierung des Bildschirms mit C-a l diesen wieder her. Probieren Sie die einzelnen Modi aus und verwenden Sie den Modus, den Sie am bequemsten finden.


TITEL (Fensternamen)

Sie können den Namen jedes Fensters in der Fensteranzeige (die mit dem Befehl windows (C-a w) angezeigt wird) anpassen, indem Sie ihn mit einem der Titelbefehle festlegen. Normalerweise ist der angezeigte Name der tatsächliche Befehlsname des in dem Fenster ausgeführten Programms. Es ist jedoch manchmal nützlich, verschiedene Programme mit demselben Namen zu unterscheiden oder den Namen bei Bedarf zu ändern, um den aktuellen Zustand des Fensters widerzuspiegeln.

Der Standardname für alle Shell-Fenster kann mit dem Befehl shelltitle in der Datei .screenrc festgelegt werden, während alle anderen Fenster mit einem Screen-Befehl erstellt werden und daher mit der Option -t benannt werden können. Interaktiv gibt es die Escape-Sequenz title-string (<esc>kname<esc>) und den Befehl title (C-a A). Ersteres kann von einer Anwendung ausgegeben werden, um den Fensternamen unter Softwaresteuerung zu steuern, und letzteres fordert zur Eingabe eines Namens auf, wenn es eingegeben wird. Sie können auch vordefinierte Namen an Tasten binden, um mit dem Befehl title Dinge schnell festzulegen, ohne eine Eingabeaufforderung anzuzeigen. Das Ändern des Titels mit dieser Escape-Sequenz kann über die Befehle defdynamictitle und dynamictitle gesteuert werden.

Schließlich verfügt Screen über eine shellspezifische Heuristik, die durch die Festlegung des Fensternamens auf search|name und die Anordnung, dass eine Null-Titel-Escape-Sequenz als Teil Ihrer Eingabeaufforderung ausgegeben wird, aktiviert wird. Der Teil search gibt eine End-of-Prompt-Suchzeichenfolge an, während der Teil name den Standard-Shell-Namen für das Fenster angibt. Wenn der Name mit einem : endet, fügt Screen, was es für den aktuell im Fenster ausgeführten Befehl hält, an das Ende des Shell-Namens des Fensters an (z. B. name:cmd). Andernfalls überschreibt der aktuelle Befehlsname den Shell-Namen, während er ausgeführt wird.

So funktioniert es: Sie müssen Ihre Shell-Eingabeaufforderung so ändern, dass sie eine Null-Titel-Escape-Sequenz (<esc>k<esc>) als Teil Ihrer Eingabeaufforderung ausgibt. Der letzte Teil Ihrer Eingabeaufforderung muss mit der Zeichenfolge übereinstimmen, die Sie für den Teil search des Titels angegeben haben. Sobald dies eingerichtet ist, verwendet Screen die Titel-Escape-Sequenz, um den vorherigen Befehlsnamen zu löschen und sich auf den nächsten Befehl vorzubereiten. Wenn dann eine neue Zeile von der Shell empfangen wird, wird nach dem Ende der Eingabeaufforderung gesucht. Wenn dies gefunden wird, wird das erste Wort nach der übereinstimmenden Zeichenfolge erfasst und als Befehlsname verwendet. Wenn der Befehlsname mit !, % oder ^ beginnt, verwendet Screen das erste Wort in der folgenden Zeile (falls vorhanden) anstelle des gerade gefundenen Namens. Dies hilft csh-Benutzern, bessere Befehlsnamen zu erhalten, wenn sie Jobsteuerung oder Befehlsverlaufsfunktionen verwenden.


Hier sind einige Beispiele für .screenrc:

screen -t top 2 nice top

Wenn Sie diese Zeile zu Ihrer .screenrc hinzufügen, wird der Befehl „nice top“ in Fenster 2 gestartet, und zwar mit dem Namen „top“ und nicht „nice“.

shelltitle '> |csh'
screen 1

Diese Befehle würden eine Shell mit dem angegebenen „shelltitle“ starten. Der angegebene Titel ist ein automatischer Titel, der erwartet, dass die Eingabeaufforderung und der eingegebene Befehl wie folgt aussehen:

/usr/joe/src/dir> trn

(es achtet auf „> “ für den Befehlsnamen). Der Fensterstatus würde den Namen „trn“ anzeigen,
während der Befehl ausgeführt wird, und nach Abschluss wieder zu „csh“ zurückkehren.

bind R screen -t '% |root:' su

Wenn sich dieser Befehl in Ihrer .screenrc befindet, würde er die Tastenkombination C-a R an den Befehl „su“ binden und ihm einen automatischen Titelnamen von „root:“ geben. Damit dieser automatische Titel funktioniert, könnte der Bildschirm wie folgt aussehen:

% !em
emacs file.c

Hier hat der Benutzer den Befehl „!em“ für den csh-Verlauf eingegeben, wodurch der zuvor eingegebene Befehl „emacs“ ausgeführt wurde. Der Fensterstatus würde während der Ausführung des Befehls „root:emacs“ anzeigen und nach Abschluss einfach „root:“ anzeigen.

bind o title
bind E title ""
bind u title (unknown)

Das erste Binding hat keine Argumente, sodass Sie bei Eingabe von Ca o aufgefordert werden, einen Titel einzugeben. Das zweite Binding würde die aktuelle Einstellung eines automatischen Titels löschen (C-a E). Das dritte Binding würde den aktuellen Fenstertitel auf „(unknown)“ setzen (C-a u).

Eine Sache, die Sie bei der Verwendung einer Null-Titel-Escape-Sequenz in Ihrer Eingabeaufforderung beachten sollten, ist, dass einige Shells (wie csh) alle Nicht-Steuerzeichen als Teil der Länge der Eingabeaufforderung zählen. Wenn diese unsichtbaren Zeichen keine Vielfachen von 8 sind, führt das Zurücktasten über ein Tabulatorzeichen zu einer falschen Anzeige. Eine Möglichkeit, dies zu umgehen, ist die Verwendung einer Eingabeaufforderung wie dieser:

set prompt='^[[0000m^[k^[\% '

Die Escape-Sequenz <esc>[0000m normalisiert nicht nur die Zeichenattribute, sondern rundet auch die Länge der unsichtbaren Zeichen auf 8 auf. Bash-Benutzer möchten die Escape-Sequenz möglicherweise in PROMPT_COMMAND ausgeben:

PROMPT_COMMAND='printf "\033k\033\134"'

(Ich habe \134 verwendet, um ein `\` auszugeben, aufgrund eines Fehlers in Bash v1.04).

DAS VIRTUELLE TERMINAL

Jedes Fenster in einer Screen-Sitzung emuliert ein VT100-Terminal mit einigen zusätzlichen Funktionen. Der VT100-Emulator ist fest codiert, es können keine anderen Terminaltypen emuliert werden. In der Regel versucht Screen, so viele wie möglich von den VT100/ANSI-Standards zu emulieren. Wenn Ihr Terminal jedoch bestimmte Funktionen nicht unterstützt, ist die Emulation möglicherweise nicht vollständig. In diesen Fällen muss Screen die Anwendungen darüber informieren, dass einige der Funktionen fehlen. Dies ist kein Problem auf Maschinen, die termcap verwenden, da Screen die Variable $TERMCAP verwenden kann, um die Standard-Screen-Termcap anzupassen.

Wenn Sie jedoch eine rlogin-Verbindung zu einer anderen Maschine herstellen oder Ihr Computer nur terminfo unterstützt, schlägt diese Methode fehl. Aus diesem Grund bietet Screen eine Möglichkeit, mit diesen Fällen umzugehen. Hier ist, wie es funktioniert:

Wenn Screen versucht, einen Terminalnamen für sich selbst zu ermitteln, sucht es zuerst nach einem Eintrag namens screen., wobei der Inhalt Ihrer $TERM-Variable ist. Wenn ein solcher Eintrag nicht vorhanden ist, versucht Screen, screen (oder screen-w, wenn das Terminal breit ist (132 Spalten oder mehr)), zu verwenden. Wenn selbst dieser Eintrag nicht gefunden werden kann, wird stattdessen vt100 verwendet.


Die Idee ist, dass, wenn Sie ein Terminal haben, das eine wichtige Funktion nicht unterstützt (z. B. Zeichen löschen oder bis zum Zeilenende löschen), Sie einen neuen Termcap-/Terminfo-Eintrag für Screen erstellen können (mit dem Namen Screen.<dumbterm>), in dem diese Funktion deaktiviert ist. Wenn dieser Eintrag auf Ihren Geräten installiert ist, können Sie eine Rlogin-Verbindung herstellen und dennoch den korrekten Termcap-/Terminfo-Eintrag beibehalten. Der Terminalname wird in der Variablen $TERM aller neuen Fenster gespeichert. Screen setzt auch die Variable $TERMCAP, die die Fähigkeiten des emulierten virtuellen Terminals widerspiegelt. Beachten Sie jedoch, dass diese Variable auf Systemen, die die Terminfo-Datenbank verwenden, keine Wirkung hat. Darüber hinaus wird die Variable $WINDOW auf die Fensternummer jedes Fensters gesetzt.

Die tatsächliche Menge der vom virtuellen Terminal unterstützten Funktionen hängt von den Funktionen des physischen Terminals ab. Wenn beispielsweise das physische Terminal keine Unterstreichungsfunktion unterstützt, fügt Screen die Funktionen us und ue nicht in die Variable $TERMCAP des Fensters ein. Eine Mindestanzahl von Funktionen muss jedoch von einem Terminal unterstützt werden, um Screen auszuführen; nämlich Bildlauf, Bildschirm löschen und direkte Cursoradressierung (zusätzlich dazu läuft Screen nicht auf Hardcopy-Terminals oder auf Terminals, die Zeichen überschreiben).

Sie können den von Screen verwendeten Wert für $TERMCAP auch mit dem Befehl termcap .screenrc oder durch Definieren der Variablen $SCREENCAP vor dem Start anpassen. Wenn letzteres definiert ist, wird sein Wert wörtlich in die Variable $TERMCAP jedes Fensters kopiert. Dies kann entweder die vollständige Terminaldefinition oder eine Datei sein, in der das Terminal für Screen (und/oder Screen-w) definiert ist.

Beachten Sie, dass Screen den Befehl terminfo .screenrc verwendet, wenn das System die Terminfo-Datenbank anstelle von Termcap verwendet.

Wenn die boolesche Funktion G0 im Termcap-Eintrag für das Terminal vorhanden ist, auf dem Screen aufgerufen wurde, unterstützt die Terminalemulation von Screen mehrere Zeichensätze. Dies ermöglicht es einer Anwendung, beispielsweise den VT100-Grafikzeichensatz oder nationale Zeichensätze zu verwenden. Die folgenden Steuerfunktionen aus ISO 2022 werden unterstützt: Zeichensatz sperren G0 (SI), Zeichensatz sperren G1 (SO), Zeichensatz sperren G2, Zeichensatz sperren G3, Einzel-Zeichen-Umschaltung G2 und Einzel-Zeichen-Umschaltung G3. Wenn ein virtuelles Terminal erstellt oder zurückgesetzt wird, wird der ASCII-Zeichensatz als G0 bis G3 festgelegt. Wenn die Funktion G0 vorhanden ist, wertet Screen die Funktionen S0, E0 und C0 aus, falls vorhanden. S0 ist die Sequenz, die das Terminal verwendet, um den Grafikzeichensatz anstelle von SI zu aktivieren und zu starten. E0 ist das entsprechende Gegenstück zu SO. C0 gibt eine Zeichen-für-Zeichen-Übersetzungszeichenfolge an, die während des Semi-Grafik-Modus verwendet wird. Diese Zeichenfolge ist wie die Funktion acsc in Terminfo aufgebaut.

Wenn die Funktionen po und pf in der Termcap-Eintragung des Terminals vorhanden sind, können Anwendungen, die in einem Screen-Fenster ausgeführt werden, Ausgaben an den Druckerport des Terminals senden. Dadurch kann ein Benutzer eine Anwendung in einem Fenster ausführen, die Ausgaben an einen an den Terminal angeschlossenen Drucker sendet, während alle anderen Fenster weiterhin aktiv sind (der Druckerport wird für jeden ausgegebenen Datenblock aktiviert und deaktiviert). Als Nebeneffekt können Programme, die in verschiedenen Fenstern ausgeführt werden, gleichzeitig Ausgaben an den Drucker senden. An den Drucker gesendete Daten werden nicht im Fenster angezeigt. Der Befehl info zeigt eine Zeile an, die mit PRIN beginnt, während der Drucker aktiv ist.

Screen verwaltet eine Hardstatus-Zeile für jedes Fenster. Wenn ein Fenster ausgewählt wird, wird die Hardstatus-Zeile der Anzeige aktualisiert, um mit der Hardstatus-Zeile des Fensters übereinzustimmen. Wenn die Anzeige keine Hardstatus-Zeile hat, wird die Zeile als Standard-Screen-Nachricht angezeigt. Die Hardstatus-Zeile kann mit dem ANSI-Befehl für Anwendungsprogramme (APC) geändert werden: ESC_<String>ESC. Als praktische Erweiterung für Xterm-Benutzer wird auch die Sequenz ESC]0..2;<String>^G akzeptiert.

Einige Funktionen werden nur dann in die $TERMCAP-Variable des virtuellen Terminals eingefügt, wenn sie vom physischen Terminal effizient implementiert werden können. Zum Beispiel wird dl (Zeile löschen) nur dann in die $TERMCAP-Variable eingefügt, wenn das Terminal entweder die Zeilenlöschung selbst oder Scrollbereiche unterstützt. Beachten Sie, dass dies zu Verwirrung führen kann, wenn die Sitzung an einem anderen Terminal wiederhergestellt wird, da der Wert von $TERMCAP nicht von übergeordneten Prozessen geändert werden kann.

Die Funktion "alternativer Bildschirm" ist standardmäßig nicht aktiviert. Verwenden Sie den Befehl altscreen in der .screenrc-Datei, um diese zu aktivieren.

Im Folgenden finden Sie eine Liste der von Screen erkannten Steuerungsequenzen. (V) und (A) kennzeichnen VT100-spezifische bzw. ANSI- oder ISO-spezifische Funktionen.

ESC E                      Nächste Zeile

ESC D                      Index

ESC M                      Umgekehrter Index

ESC H                      Horizontale Tabulator-Einstellung

ESC Z                      VT100-Identifikationszeichenfolge senden

ESC 7                 (V)  Cursor und Attribute speichern

ESC 8                 (V)  Cursor und Attribute wiederherstellen

ESC [s                (A)  Cursor und Attribute speichern

ESC [u                (A)  Cursor und Attribute wiederherstellen

ESC c                      Auf den Anfangszustand zurücksetzen

ESC g                      Visuelles Klingeln

ESC Pn p                   Cursor-Sichtbarkeit (97801)

Pn = 6                     Unsichtbar

Pn = 7                     Sichtbar

ESC =                 (V)  Anwendungs-Tastaturmodus

ESC >                 (V)  Numerischer Tastaturmodus

ESC # 8               (V)  Bildschirm mit E's füllen

ESC \                 (A)  Zeichenketten-Terminator

ESC ^                 (A)  Datenschutz-Nachricht (Nachrichtenzeile)

ESC !                      Globale Nachrichten-Zeichenkette (Nachrichten-Zeile)

ESC k                      Alias-Definitions-Zeichenkette

ESC P                 (A)  Gerätesteuerungs-Zeichenkette. Gibt eine Zeichenkette direkt an das Host-Terminal aus,
ohne Interpretation.

ESC _                 (A)  Anwendungsprogramm-Befehl (Hardstatus)

ESC ] 0 ; string ^G   (A)  Betriebssystembefehl (Hardstatus, xterm-Titel-Hack)

ESC ] 83 ; cmd ^G     (A)  Führt einen Bildschirmbefehl aus. Dies funktioniert nur, wenn die Unterstützung für mehrere Benutzer in Screen kompiliert ist. Der Pseudo-Benutzer :window: wird verwendet, um die Zugriffskontrollliste zu überprüfen. Verwenden Sie addacl :window: -rwx #?, um einen Benutzer mit
keinen Rechten zu erstellen und nur die erforderlichen Befehle zuzulassen.

Control-N             (A)  Lock Shift G1 (SO)

Control-O             (A)  Lock Shift G0 (SI)

ESC n                 (A)  Lock Shift G2

ESC o                 (A)  Lock Shift G3

ESC N                 (A)  Single Shift G2

ESC O                 (A)  Single Shift G3

ESC ( Pcs             (A)  Zeichensatz als G0 festlegen

ESC ) Pcs             (A)  Zeichensatz als G1 festlegen

ESC * Pcs             (A)  Zeichensatz als G2 festlegen

ESC + Pcs             (A)  Zeichensatz als G3 festlegen

ESC [ Pn ; Pn H            Direkte Cursor-Adressierung

ESC [ Pn ; Pn f            wie oben

ESC [ Pn J                 Löschen im Bildschirm

Pn = None oder 0             Von Cursor bis zum Ende des Bildschirms

Pn = 1                     Von Beginn des Bildschirms bis zum Cursor

Pn = 2                     Ganzer Bildschirm

ESC [ Pn K                 Löschen in Zeile

Pn = None oder 0             Von Cursor bis zum Ende der Zeile

Pn = 1                     Von Beginn der Zeile bis zum Cursor

Pn = 2                     Ganze Zeile

ESC [ Pn X                 Zeichen löschen

ESC [ Pn A                 Cursor nach oben

ESC [ Pn B                 Cursor nach unten

ESC [ Pn C                 Cursor nach rechts

ESC [ Pn D                 Cursor nach links

ESC [ Pn E                 Cursor zur nächsten Zeile

ESC [ Pn F                 Cursor zur vorherigen Zeile

ESC [ Pn G                 Cursor zur horizontalen Position

ESC [ Pn `                 wie oben

ESC [ Pn d                 Cursor zur vertikalen Position

ESC [ Ps ;...; Ps m        Grafische Darstellung auswählen

Ps = None oder 0             Standarddarstellung

Ps = 1                     Fett

Ps = 2                (A)  Schwach

Ps = 3                (A)  Hervorgehobener Modus (ANSI: Kursiv)

Ps = 4                     Unterstrichen

Ps = 5                     Blinkend

Ps = 7                     Negatives Bild

Ps = 22               (A)  Normale Intensität

Ps = 23               (A)  Hervorgehobener Modus deaktiviert (ANSI: Kursiv deaktiviert)

Ps = 24               (A)  Nicht unterstrichen

Ps = 25               (A)  Nicht blinkend

Ps = 27               (A)  Positives Bild

Ps = 30               (A)  Vordergrundfarbe Schwarz

Ps = 31               (A)  Vordergrundfarbe Rot

Ps = 32               (A)  Vordergrundfarbe Grün

Ps = 33               (A)  Vordergrundfarbe Gelb

Ps = 34               (A)  Vordergrundfarbe Blau

    Ps = 35               (A)  Vordergrund Magenta

    Ps = 36               (A)  Vordergrund Cyan

    Ps = 37               (A)  Vordergrund Weiß

    Ps = 39               (A)  Vordergrund Standard

    Ps = 40               (A)  Hintergrund Schwarz

    Ps = ...

    Ps = 49               (A)  Hintergrund Standard

    ESC [ Pn g                 Tabulator löschen

    Pn = None oder 0             Tabulator an der aktuellen Position löschen

    Pn = 3                     Alle Tabulatoren löschen

    ESC [ Pn ; Pn r       (V)  Scrollbereich festlegen

    ESC [ Pn I            (A)  Horizontaler Tabulator

    ESC [ Pn Z            (A)  Rückwärtstabulator

    ESC [ Pn L            (A)  Zeile einfügen

    ESC [ Pn M            (A)  Zeile löschen

    ESC [ Pn @            (A)  Zeichen einfügen

    ESC [ Pn P            (A)  Zeichen löschen

    ESC [ Pn S                 Scrollbereich nach oben scrollen

    ESC [ Pn T                 Scrollbereich nach unten scrollen

    ESC [ Pn ^                 wie oben

    ESC [ Ps ;...; Ps h        Modus setzen

    ESC [ Ps ;...; Ps l        Modus zurücksetzen

    Ps = 4                (A)  Einfügemodus

    Ps = 20               (A)  Automatischer Zeilenumbruchmodus

    Ps = 34                    Normale Cursor-Sichtbarkeit

    Ps = ?1               (V)  Anwendungscursortasten

    Ps = ?3               (V)  Terminalbreite auf 132 Spalten ändern

    Ps = ?5               (V)  Invertierte Farben

    Ps = ?6               (V)  Ursprungsmodus

    Ps = ?7               (V)  Zeilenumbruchmodus

    Ps = ?9                    X10-Mausverfolgung

    Ps = ?25              (V)  Sichtbarer Cursor

    Ps = ?47                   Alternativer Bildschirm (alte xterm-Kodierung)

    Ps = ?1000            (V)  VT200-Mausverfolgung

    Ps = ?1047                 Alternativer Bildschirm (neue xterm-Kodierung)

    Ps = ?1049                 Alternativer Bildschirm (neue xterm-Kodierung)

    ESC [ 5 i             (A)  Relay zum Drucker starten (ANSI Media Copy)

    ESC [ 4 i             (A)  Relay zum Drucker stoppen (ANSI Media Copy)

    ESC [ 8 ; Ph ; Pw t        Fenster auf `Ph' Zeilen und `Pw' Spalten vergrößern/verkleinern (SunView-speziell)

    ESC [ c                    VT100-Identifikationszeichenfolge senden

    ESC [ x                    Terminalparameterbericht senden

    ESC [ > c                  VT220-Sekundärgeräteattributzeichenfolge senden

    ESC [ 6 n                  Cursorpositionsbericht senden

INPUTVERTALING

Um eine vollständige VT100-Emulation zu ermöglichen, muss das Terminal erkennen, dass eine Zeichenfolge im Eingabestrom durch eine Tasteneingabe des Benutzers generiert wurde, und die entsprechende VT100-Escape-Sequenz einfügen. Das Terminal bietet eine sehr flexible Möglichkeit, dies zu erreichen, indem es ermöglicht wird, beliebige Befehle beliebigen Zeichenfolgen zuzuordnen. Für die Standard-VT100-Emulation fügt der Befehl immer eine Zeichenfolge in den Eingabepuffer des Fensters ein (siehe auch den Befehl „stuff“ in der Befehlstabelle). Da sich die durch eine Tasteneingabe generierten Sequenzen nach einer erneuten Verbindung von einem anderen Terminaltyp aus ändern können, ist es möglich, Befehle an den Namen des Termcaps der Tasten zu binden. Das Terminal fügt nach jeder erneuten Verbindung die korrekte Bindung ein. Weitere Details zur Syntax und Beispiele finden Sie im Befehl „bindkey“.

Hier ist die Tabelle der Standard-Tastenkombinationen. Die vierte Spalte zeigt an, welcher Befehl ausgeführt wird, wenn die Tastatur in den Anwendungsmodus geschaltet wird.

┌─────────────────┬──────────────┬──────────┬──────────┐
│ Tastenname      │ Termcap-Name │ Befehl    │ App-Modus │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Cursor hoch     │ ku           │ \033[A   │ \033OA   │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Cursor runter   │ kd           │ \033[B   │ \033OB   │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Cursor rechts    │ kr           │ \033[C   │ \033OC   │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Cursor links     │ kl           │ \033[D   │ \033OD   │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Funktionstaste 0│ k0           │ \033[10~ │          │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Funktionstaste 1│ k1           │ \033OP   │          │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Funktionstaste 2│ k2           │ \033OQ   │          │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Funktionstaste 3│ k3           │ \033OR   │          │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Funktionstaste 4│ k4           │ \033OS   │          │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Funktionstaste 5│ k5           │ \033[15~ │          │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Funktionstaste 6│ k6           │ \033[17~ │          │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Funktionstaste 7│ k7           │ \033[18~ │          │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Funktionstaste 8│ k8           │ \033[19~ │          │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Funktionstaste 9│ k9           │ \033[20~ │          │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Funktionstaste 10│ k;           │ \033[21~ │          │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Funktionstaste 11│ F1           │ \033[23~ │          │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Funktionstaste 12│ F2           │ \033[24~ │          │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Home            │ kh           │ \033[1~  │          │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Ende            │ kH           │ \033[4~  │          │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Einfügen        │ kI           │ \033[2~  │          │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Löschen         │ kD           │ \033[3~  │          │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Seite hoch      │ kP           │ \033[5~  │          │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Seite runter    │ kN           │ \033[6~  │          │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Nummernblock 0  │ f0           │ 0        │ \033Op   │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Nummernblock 1  │ f1           │ 1        │ \033Oq   │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Nummernblock 2  │ f2           │ 2        │ \033Or   │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Nummernblock 3  │ f3           │ 3        │ \033Os   │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Nummernblock 4  │ f4           │ 4        │ \033Ot   │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Nummernblock 5  │ f5           │ 5        │ \033Ou   │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Nummernblock 6  │ f6           │ 6        │ \033Ov   │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Nummernblock 7  │ f7           │ 7        │ \033Ow   │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Nummernblock 8  │ f8           │ 8        │ \033Ox   │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Nummernblock 9  │ f9           │ 9        │ \033Oy   │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Nummernblock +  │ f+           │ +        │ \033Ok   │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Nummernblock -  │ f-           │ -        │ \033Om   │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Nummernblock *  │ f*           │ *        │ \033Oj   │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Nummernblock /  │ f/           │ /        │ \033Oo   │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Nummernblock =  │ fq           │ =        │ \033OX   │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Nummernblock .  │ f.           │ .        │ \033On   │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Nummernblock ,  │ f,           │ ,        │ \033Ol   │
├─────────────────┼──────────────┼──────────┼──────────┤
│ Nummernblock Enter│ fe           │ \015     │ \033OM   │
└─────────────────┴──────────────┴──────────┴──────────┘

SPEZIELLE TERMINALFUNKTIONEN

Die folgende Tabelle beschreibt alle Terminalfunktionen, die von Screen erkannt werden und nicht im termcap(5)-Handbuch aufgeführt sind. Sie können diese Funktionen in Ihren Termcap-Einträgen (in /etc/termcap) platzieren oder sie mit den Befehlen termcap, terminfo und termcapinfo in Ihren Screenrc-Dateien verwenden. Es ist oft nicht möglich, diese Funktionen in der Terminfo-Datenbank zu platzieren.

LP   (bool) Das Terminal verfügt über VT100-ähnliche Ränder („magische Ränder“). Beachten Sie, dass diese Funktion veraltet ist, da Screen stattdessen die Standardfunktion „xn“ verwendet.

Z0   (str) Ändert die Breite auf 132 Spalten.

Z1   (str) Ändert die Breite auf 80 Spalten.

WS   (str) Ändert die Größe des Bildschirms. Diese Funktion hat die gewünschte Breite und Höhe als Argumente. Beispiel für SunView(tm): ‚\E[8;%d;%dt‘.

NF   (bool) Das Terminal benötigt keine Flusssteuerung. Sendet ^S und ^Q direkt an die Anwendung. Entspricht ‚Fluss deaktiviert‘. Das Gegenteil dieser Funktion ist ‚nx‘.

G0   (bool) Das Terminal kann ISO 2022-Zeichensatz-Auswahlanweisungen verarbeiten.

S0   (str) Schaltet den Zeichensatz ‚G0‘ auf den angegebenen Zeichensatz um. Standard ist ‚\E(%.‘.

E0   (str) Schaltet den Zeichensatz ‚G0‘ zurück auf den Standardzeichensatz. Standard ist ‚\E(B‘.

C0   (str)   Verwenden Sie die Zeichenkette als Konvertierungstabelle für Schriftart '0'. Weitere
Details finden Sie in der Beschreibung der Funktion 'ac'.

CS   (str)   Schalten Sie die Cursor-Tasten in den Anwendungsmodus.

CE   (str)   Schalten Sie die Cursor-Tasten wieder in den normalen Modus.

AN   (bool)  Aktivieren Sie die automatische Löschfunktion. Weitere Informationen finden Sie im
Befehl 'autonuke'.

OL   (num)   Legen Sie die maximale Größe des Ausgabepuffers fest. Weitere Informationen finden
Sie im Befehl 'obuflimit'.

KJ   (str)   Legen Sie die Kodierung des Terminals fest. Die gültigen Kodierungen finden Sie im
Befehl 'encoding'.

AF   (str)   Ändern Sie die Vordergrundfarbe eines Zeichens auf ANSI-konforme Weise. Diese Funktion
ist fast immer auf '\E[3%dm' eingestellt ('\E[3%p1%dm' bei Terminfo-Geräten).

AB   (str)   Wie 'AF', aber ändert die Hintergrundfarbe.

AX   (bool)  Versteht das Terminal ANSI-Befehle zum Einstellen der Standard-Vorder- und
Hintergrundfarbe (\E[39m / \E[49m)?

XC   (str)   Beschreibt eine Übersetzung von Zeichen in Zeichenketten in Abhängigkeit von der
aktuellen Schriftart. Weitere Details folgen im nächsten Abschnitt.

XT   (bool)  Das Terminal unterstützt spezielle Xterm-Sequenzen (OSC, Mausverfolgung).

C8   (bool)  Das Terminal benötigt Fettdruck, um hochintensive Farben anzuzeigen (z. B. Eterm).

TF   (bool)  Fügen Sie fehlende Funktionen zur Termcap/Info-Datei hinzu. (Standardmäßig
festgelegt).

ZEICHENÜBERSETZUNG

Screen verfügt über einen leistungsstarken Mechanismus zur Übersetzung von Zeichen in beliebige Zeichenketten, je nach verwendeter Schriftart und Terminaltyp. Verwenden Sie diese Funktion, wenn Sie mit einem gängigen Standardzeichensatz (z. B. ISO8851-Latin1) arbeiten möchten, auch auf Terminals, bei denen die ungewöhnlicheren Zeichen auf mehrere nationale Schriftsatzseiten verteilt sind.

Syntax:
XC=<charset-mapping>{,,<charset-mapping>}
<charset-mapping> := <designator><template>{,<mapping>}
<mapping> := <char-to-be-mapped><template-arg>

Die Elemente in geschweiften Klammern können beliebig oft wiederholt werden.

Ein <charset-mapping> teilt Screen mit, wie Zeichen in der Schriftart <designator> ('B': ASCII, 'A': UK, 'K': Deutsch usw.) in Zeichenketten übersetzt werden sollen. Jedes <mapping> beschreibt, in welche Zeichenkette ein einzelnes Zeichen übersetzt werden soll. Ein Template-Mechanismus wird verwendet, da die Codes in den meisten Fällen viele Gemeinsamkeiten aufweisen (z. B. Zeichenketten zum Umschalten in und aus einem anderen Zeichensatz). Jedes Vorkommen von '%' in <template> wird durch das zusammen mit dem Zeichen angegebene <template-arg> ersetzt. Wenn Ihre Zeichenketten überhaupt nicht ähnlich sind, verwenden Sie '%' als Template und fügen Sie die vollständige Zeichenkette in <template-arg> ein. Ein Mechanismus zur Maskierung wurde hinzugefügt, um es zu ermöglichen, ein echtes '%' zu verwenden. Das Zeichen '\' maskiert die Sonderzeichen '\', '%' und ','.

Hier ist ein Beispiel:

termcap hp700 'XC=B\E(K%\E(B,\304[,\326\\,\334]'

Dies teilt Screen mit, wie ISO-Latin1-Zeichen (Zeichensatz 'B') auf einem hp700-Terminal, das einen deutschen Zeichensatz hat, übersetzt werden sollen. '\304' wird in '\E(K[\E(B' und so weiter übersetzt. Beachten Sie, dass diese Zeile dreimal geparst wird, bevor die interne Nachschlagetabelle erstellt wird, daher ist eine Menge Maskierung erforderlich, um ein einzelnes '\' zu erzeugen.

Eine weitere Erweiterung wurde hinzugefügt, um mehr Emulation zu ermöglichen: Wenn eine Zuordnung das nicht maskierte Zeichen '%' übersetzt, wird es an das Terminal gesendet, wenn Screen in den entsprechenden <designator> wechselt. In diesem speziellen Fall wird davon ausgegangen, dass das Template nur '%' ist, da die Zeichenkettenschaltersequenz und die Zeichenzuordnungen normalerweise nicht viel gemeinsam haben.


Dieses Beispiel zeigt eine Verwendung der Erweiterung:

termcap xterm 'XC=K%,%\E(B,[\304,\\\\\326,]\334'

Hier wird ein Teil des deutschen ('K') Zeichensatzes auf einem xterm emuliert. Wenn screen zu dem 'K'-Zeichensatz wechseln muss, wird '\E(B' an das Terminal gesendet, d.h. der ASCII-Zeichensatz wird anstattdessen verwendet. Die Vorlage ist einfach '%', so dass die Zuordnung unkompliziert ist: '[' wird zu '\304', '\' zu '\326' und ']' zu '\334' gemappt.

UMWELT

COLUMNS        Anzahl der Spalten auf dem Terminal (überschreibt den Termcap-Eintrag).
HOME           Verzeichnis, in dem nach .screenrc gesucht wird.
LINES          Anzahl der Zeilen auf dem Terminal (überschreibt den Termcap-Eintrag).
LOCKPRG        Bildschirmsperrprogramm.
NETHACKOPTIONS Aktiviert die Nethack-Option.
PATH           Wird zum Auffinden von Programmen verwendet, die ausgeführt werden sollen.
SCREENCAP      Zum Anpassen des TERMCAP-Wertes eines Terminals.
SCREENDIR      Alternatives Socket-Verzeichnis.
SCREENRC       Alternative Benutzerscreenrc-Datei.
SHELL          Standard-Shellprogramm zum Öffnen von Fenstern (Standardwert /bin/sh). Siehe auch
.screenrc-Befehl.
STY            Alternativer Socket-Name.
SYSSCREENRC    Alternative systemweite Screenrc-Datei.
TERM           Terminalname.
TERMCAP        Terminalbeschreibung.
WINDOW         Fensternummer eines Fensters (zur Erstellungszeit).

DATEIEN

.../screen-4.?.??/etc/screenrc
.../screen-4.?.??/etc/etcscreenrc Beispiele in der Screen-Verteilung für private und

globale Initialisierungsdateien. $SYSSCREENRC /etc/screenrc Screen-Initialisierungskommandos $SCREENRC $HOME/.screenrc Wird nach /etc/screenrc gelesen $SCREENDIR/S- /run/screen/S- Socket-Verzeichnisse (Standard) /usr/tmp/screens/S- Alternative Socket-Verzeichnisse. /.termcap Wird von der Funktion "termcap" geschrieben /usr/tmp/screens/screen-exchange oder /tmp/screen-exchange Screen-`Interprozesskommunikationspuffer' hardcopy.[0-9] Screen-Bilder, die von der Funktion "hardcopy" erstellt wurden screenlog.[0-9] Ausgabeprotokolldateien, die von der Funktion "log" erstellt wurden /usr/lib/terminfo/?/* oder /etc/termcap Terminal-Funktionsdatenbanken /run/utmp Login-Aufzeichnungen $LOCKPRG Programm, das ein Terminal sperrt.

AUTOREN

Ursprünglich erstellt von Oliver Laumann. Lange Zeit von Juergen Weigert, Michael Schroeder, Micah Cowan und Sadrul Habib Chowdhury gepflegt und weiterentwickelt. Seit 2015 von Amadeusz Slawinski <_> und Alexander Naumov <_> gepflegt und weiterentwickelt.

COPYLEFT

Copyright (c) 2018-2023 Alexander Naumov <_> Amadeusz Slawinski <_> Copyright (c) 2015-2017 Juergen Weigert <_> Alexander Naumov <_> Amadeusz Slawinski <_> Copyright (c) 2010-2015 Juergen Weigert <_> Sadrul Habib Chowdhury <_> Copyright (c) 2008, 2009 Juergen Weigert <_> Michael Schroeder <_> Micah Cowan <_> Sadrul Habib Chowdhury <_> Copyright (C) 1993-2003 Juergen Weigert <_> Michael Schroeder <_> Copyright (C) 1987 Oliver Laumann


Dieses Programm ist eine freie Software; Sie können es weiterverbreiten und/oder ändern unter den Bedingungen der GNU General Public License, wie sie von der Free Software Foundation veröffentlicht wurde; entweder Version 3 oder (nach Ihrer Wahl) eine spätere Version. Dieses Programm wird in der Hoffnung verteilt, dass es nützlich sein wird, aber OHNE JEGLICHE GARANTIE; ohne jegliche implizite Garantie der MARKTGÄNGIGKEIT oder FÜR EINEN BESTIMMTEN ZWECK. Einzelheiten finden Sie in der GNU General Public License. Sie sollten eine Kopie der GNU General Public License zusammen mit diesem Programm erhalten haben (siehe die Datei COPYING); falls nicht, schreiben Sie an die Free Software Foundation, Inc., 59 Temple Place - Suite 330 Boston, MA 02111-1307, USA.

MITWIRKER

Vincent Lefevre <_>, Carl Drougge <_>, Maarten ter Huurne <_>, Jussi Kukkonen <_>, Eric S. Raymond <_>, Thomas Renninger <_>, Axel Beckert <_>, Ken Beal <_>, Rudolf Koenig <_>, Toerless Eckert <_>, Wayne Davison <_>, Patrick Wolfe <_>, Bart Schaefer <_>, Nathan Glasser <_>, Larry W. Virden <_>, Howard Chu <_>, Tim MacKenzie <_>, Markku Jarvinen <_>, Marc Boucher <_>, Doug Siebert <_>, Ken Stillson <_>, Ian Frechett <_>, Brian Koehmstedt <_>, Don Smith <_>, Frank van der Linden <_>, Martin Schweikert <_>, David Vrona <_>, E. Tye McQueen <_>, Matthew Green <_>, Christopher Williams <_>, Matt Mosley <_>, Gregory Neil Shapiro <_>, Johannes Zellner <_>, Pablo Averbuj <_>.

VERFÜGBARKEIT

Die neueste offizielle Version von Screen ist über anonymes FTP von ftp.gnu.org/gnu/screen/ oder einem anderen GNU-Distributionszentrum verfügbar. Die Startseite von Screen ist https://savannah.gnu.org/projects/screen/ und das Git-Repository ist https://git.savannah.gnu.org/cgit/screen.git. Wenn Sie helfen möchten, senden Sie eine Nachricht an _.

FEHLER

^ m' (Löschmodus) undxs' werden nicht korrekt behandelt (sie werden ignoriert). `xn' wird als magische-Rand-Anzeige behandelt.

Screen hat keine Ahnung von doppelhohen oder doppelten Zeichen. Aber dies ist der einzige Bereich, in dem vttest fehlschlagen darf.

Es ist nicht möglich, die Umgebungsvariable $TERMCAP zu ändern, wenn beim erneuten Verbinden ein anderer Terminaltyp verwendet wird.

Die Unterstützung von Terminfo-basierten Systemen ist sehr begrenzt. Das Hinzufügen zusätzlicher Funktionen zu $TERMCAP hat möglicherweise keine Auswirkungen.

Screen verwendet keine Hardware-Tabs.

Screen muss auf den meisten Systemen als Set-UID mit dem Eigentümer Root installiert werden, um die Möglichkeit zu haben, den Eigentümer der TTY-Gerätedatei für jedes Fenster korrekt zu ändern. Möglicherweise sind auch spezielle Berechtigungen erforderlich, um die Datei /run/utmp zu schreiben.

Einträge in /run/utmp werden nicht entfernt, wenn Screen mit SIGKILL beendet wird. Dies führt dazu, dass einige Programme (wie "w" oder "rwho") angeben, dass ein Benutzer angemeldet ist, obwohl dies nicht der Fall ist.


Der Bildschirm kann eine seltsame Warnung anzeigen, wenn Ihr TTY keinen Utmp-Eintrag hat.

Wenn die Modemverbindung unterbrochen wurde, kann sich Screen möglicherweise nicht automatisch trennen (oder beenden), es sei denn, der Gerätetreiber ist so konfiguriert, dass er ein HANGUP-Signal sendet. Um eine Screen-Sitzung zu trennen, verwenden Sie die Befehlszeilenoption -D oder -d.

Wenn ein Passwort festgelegt ist, trennen die Befehlszeilenoptionen -d und -D die Sitzung dennoch, ohne eine Aufforderung anzuzeigen.

Sowohl breaktype als auch defbreaktype ändern die Methode zur Generierung von Break-Signalen, die von allen Terminalgeräten verwendet wird. Die erste sollte eine fensterspezifische Einstellung ändern, während die zweite nur die Standardeinstellung für neue Fenster ändern sollte.

Beim Verbinden mit einer Multiuser-Sitzung wird die Datei .screenrc des Benutzers nicht geladen. Die persönlichen Einstellungen jedes Benutzers müssen in der Datei .screenrc enthalten sein, von der die Sitzung gestartet wird, oder müssen manuell geändert werden.

Eine ausgeprägte Vorstellungskraft ist am nützlichsten, um alle Funktionen voll auszuschöpfen.

Senden Sie Fehlerberichte, Korrekturen, Verbesserungen, T-Shirts, Geld, Bier und Pizza an _.

SIEHE AUCH

termcap(5), utmp(5), vi(1), captoinfo(1), tic(1), tty(4), pty(7)