Provided by: manpages-de_4.21.0-2_all bug

BEZEICHNUNG

       console_codes - Steuer- und Escape-(Maskier-)Sequenzen für die Linux-Konsole

BESCHREIBUNG

       Die  Linux-Konsole  implementiert eine große Teilmenge der Steuersequenzen des VT102 und nach ECMA-48/ISO
       6429/ANSI X3.64 sowie bestimmte interne (private-mode) Sequenzen für die Änderung  der  Farbpalette,  die
       Abbildung/Zuordnung  von  Zeichensätzen  usw.  In den folgenden tabellarischen Beschreibungen enthält die
       zweite Spalte ECMA-48- oder DEC-Kürzel (letztere  sind  ggfs.  mit  dem  Präfix  DEC  versehen)  für  die
       angegebene Funktion. Sequenzen ohne ein Kürzel gehören weder zu ECMA-48 noch VT102.

       Nachdem  die  gesamte  normale Bearbeitung der Ausgabe abgeschlossen ist und ein Zeichenstrom den für die
       Druckausgabe zuständigen Konsolentreiber erreicht, ist der erste Bearbeitungsschritt die Umcodierung  der
       Zeichen in den für die Druckausgabe verwendeten Zeichensatz.

       Wenn   sich   die   Konsole   im   UTF-8-Modus   befindet,  werden  die  eingehenden  Bytes  zunächst  in
       16-Bit-Unicode-Codes umgewandelt. Ansonsten wird jedes Byte gemäß der  aktuellen  Zuordnungstabelle  (die
       die  Bytes  in  Unicode-Werte  übersetzt)  transformiert.  Das  wird  im folgenden Abschnitt Zeichensätze
       diskutiert.

       Im Normalfall wird der Unicode-Wert in  eine  Schrift-Index  umgewandelt  und  dieser  im  Video-Speicher
       abgelegt,  so  dass  der  entsprechende  Glyph  (wie  er  im  Video-ROM enthalten ist) auf dem Bildschirm
       erscheint. Beachten Sie, dass die Verwendung  von  Unicode  (und  die  Gestaltung  der  PC-Hardware)  die
       gleichzeitige Nutzung von 512 verschiedenen Glyphen ermöglicht.

       Wenn  der  aktuelle  Unicode-Wert ein Steuerzeichen ist oder gerade eine Escape-Sequenz verarbeitet wird,
       wird der Wert speziell behandelt. Anstatt in einen Schrift-Index umgewandelt und als Glyph  angezeigt  zu
       werden,  kann  er  Cursor-Bewegungen  oder  andere  Steuerfunktionen  auslösen.  Das  wird  im  Abschnitt
       Steuersequenzen für die Linux-Konsole diskutiert.

       Grundsätzlich ist es nicht  ratsam,  Terminal-Steuersequenzen  in  Programmen  fest  zu  kodieren.  Linux
       unterstützt eine terminfo(5)-Datenbank von Terminal-Fähigkeiten. Anstatt manuell Escape-Sequenzen für die
       Konsole  einzugeben,  werden  Sie  fast immer eine Bildschirmbibliothek oder ein Dienstprogramm einsetzen
       wollen, welche die terminfo(5)-Datenbank  auswerten  können.  Beispiele  sind  ncurses(3),  tput(1)  oder
       reset(1).

   Steuersequenzen für die Linux-Konsole
       Dieser Abschnitt beschreibt alle Steuerzeichen und Escape-Sequenzen, die spezielle Funktionen (also etwas
       anderes als das Schreiben eines Glyphen an der aktuellen Cursor-Position) auf der Linux-Konsole aufrufen.

       Steuerzeichen

       Ein  Steuerzeichen trägt (vor der Umwandlung gemäß der Zuordnungstabelle) einen der 14 Codes 00 (NUL), 07
       (BEL), 08 (BS), 09 (HT), 0a (LF), 0b (VT), 0c (FF), 0d (CR), 0e (SO), 0f (SI), 18  (CAN),  1a  (SUB),  1b
       (ESC),  7f (DEL). Sie können einen »Steuerzeichen-anzeigen«-Modus festlegen (siehe unten) und 07, 09, 0b,
       18,  1a,  7f  als  Zeichen  anzeigen   lassen.   Trotzdem   werden   im   UTF-8-Modus,   unabhängig   vom
       »Steuerzeichen-anzeigen«-Modus, alle Codes zwischen 00 und 1f als Steuerzeichen betrachtet.

       Auf ein Steuerzeichen wird unverzüglich (auch in der Mitte eine Escape-Sequenz) reagiert, es anschließend
       verworfen  und die Escape-Sequenz am nächsten Zeichen weiter bearbeitet. (Allerdings beginnt mit ESC eine
       neue Escape-Sequenz, die möglicherweise eine frühere unvollendete abbricht.  CAN  und  SUB  brechen  jede
       Escape-Sequenz  ab.)  Die  anerkannten  Steuerzeichen sind BEL, BS, HT, LF, VT, FF, CR, SO, SI, CAN, SUB,
       ESC, DEL, CSI. Sie tun, was man erwarten würde:

       BEL (0x07, ^G)
              gibt einen Signalton.

       BS (0x08, ^H)
              setzt den Cursor um ein Zeichen (eine Spalte) zurück (bleibt aber auf der gleichen Zeile).

       HT (0x09, ^I)
              geht zum nächsten Tabulator oder zum Ende der Zeile, wenn es davor keinen Tabulator mehr gibt.

       LF (0x0A, ^J)
       VT (0x0B, ^K)
       FF (0x0C, ^L)
              bewirken allesamt einen Zeilenvorschub. Ist der LF/NL-Modus (new-line) gesetzt, wird außerdem  ein
              Wagenrücklauf ausgelöst.

       CR (0x0D, ^M)
              erzeugt einen Wagenrücklauf.

       SO (0x0E, ^N)
              aktiviert den G1-Zeichensatz.

       SI (0x0F, ^O)
              aktiviert den G0-Zeichensatz.

       CAN (0x18, ^X)
       SUB (0x1A, ^Z)
              bricht Escape-Sequenzen ab.

       ESC (0x1B, ^[)
              leitet eine Escape-Sequenz ein.

       DEL (0x7F)
              wird ignoriert.

       CSI (0x9B)
              ist gleichbedeutend mit ESC [.

       Escape-Sequenzen, die keine Steuersequenzen einleiten
       ESC c     RIS      Reset.
       ESC D     IND      Zeilenvorschub
       ESC E     NEL      Zeilenumbruch
       ESC H     HTS      Tabulatorstop auf die aktuelle Spalte setzen
       ESC M     RI       Zeilenvorschub rückgängig machen
       ESC Z     DECID    DEC-private Identifizierung. Der Kernel liefert die Zeichenkette ESC [ ? 6 c zurück,
                          die behauptet, dass es ein VT102 sei.
       ESC 7     DECSC    Aktuellen Zustand speichern (Cursor-Koordinaten, Attribute und die Zeichensätze, auf
                          die G0 und G1 weisen).
       ESC 8     DECRC    Stellt den zuletzt mittels ESC 7 gespeicherten Zustand wieder her.
       ESC %              Startsequenz zur Auswahl eines Zeichensatzes
       ESC % @            Wählt den Standard (ISO 646 / ISO 8859-1)
       ESC % G               Wählt UTF-8
       ESC % 8               Wählt UTF-8 (obsolet)
       ESC # 8   DECALN   DEC-Bildschirmausrichtungs-Prüfung - füllt den Bildschirm mit Es.
       ESC (              Startsequenz, die den G0-Zeichensatz definiert (gefolgt von B, 0, U oder K, wie unten)
       ESC ( B            Standard auswählen (ISO-8859-1-Zuordnung).
       ESC ( 0            VT100-Graphik-Zuordnung auswählen.
       ESC ( U            Leere Zuordnung auswählen - direkt zum Zeichen-ROM.
       ESC ( K            Benutzerdefinierte Zuordnung auswählen - die Zuordnung, die durch das Dienstprogramm
                          mapscrn(8) geladen wird.
       ESC )              Startsequenz,die G1 definiert (gefolgt von B, 0, U oder K, wie oben).
       ESC >     DECPNM   Numerischen Tastenfeldmodus setzen
       ESC =     DECPAM   Anwendungstastenfeldmodus setzen
       ESC ]     OSC      Betriebssystembefehl-Präfix
       ESC ] R            setzt die Palette zurück.
       ESC ] P            Setzt die Palette, wobei die Parameter in 7 hexadezimalen Ziffern nrrggbb nach dem
                          abschließenden P angegeben werden. Hier ist n die Farbe (0-15) und rrggbb zeigt die
                          Rot-/Grün-/Blauwerte (0-255) an.

       ECMA-48-CSI-Sequenzen

       CSI  (or  ESC  [)  wird  von einer Folge (höchstens NPAR (16)) von Parametern gefolgt, die durch Semikola
       getrennte Dezimalzahlen sind. Ein leerer oder nicht vorhandener Parameter  wird  als  0  angenommen.  Der
       Folge von Parametern kann ein Fragezeichen vorangestellt werden.

       Allerdings  wird  nach  CSI  [  (oder  ESC  [  [)  ein  einzelnes Zeichen gelesen und die gesamte Sequenz
       ignoriert. (Die Idee ist, eine wiedergegebene Funktionstaste zu ignorieren.)

       Die Aktion einer CSI-Sequenz wird über ihr abschließendes Zeichen bestimmt.
       @   ICH       Die angegebene Anzahl von Leerzeichen einfügen.
       A   CUU       Cursor die angegebene Anzahl an Zeilen nach oben bewegen.
       B   CUD       Cursor die angegebene Anzahl an Zeilen nach unten bewegen.
       C   CUF       Cursor die angegebene Anzahl an Spalten nach rechts bewegen.
       D   CUB       Cursor die angegebene Anzahl an Spalten nach links bewegen.
       E   CNL       Cursor die angegebene Anzahl an Zeilen nach unten bewegen, in Spalte 1.
       F   CPL       Cursor die angegebene Anzahl an Zeilen nach oben bewegen, in Spalte 1.
       G   CHA       Cursor an die angegebene Spalte in der aktuellen Zeile bewegen.
       H   CUP       Cursor an die angegebene Zeile und Spalte bewegen (Ursprung bei 1,1).
       J   ED        Anzeige löschen (Vorgabe: vom Cursor bis zum Ende der Anzeige).
                     ESC [ 1 J: Vom Beginn bis zum Cursor löschen.
                     ESC [ 2 J: Ganze Anzeige löschen.
                     ESC [ 3 J: ganzen Bildschirm löschen, auch Rückrollpuffer (seit Linux 3.0).
       K   EL        Zeile löschen (Vorgabe: vom Cursor bis zum Zeilenende).
                     ESC [ 1 K: Vom Beginn der Zeile bis zum Cursor löschen.
                     ESC [ 2 K: Ganze Zeile löschen.
       L   IL        Die angegebene Anzahl an Leerzeilen einfügen.
       M   DL        Die angegebene Anzahl an Zeilen löschen.
       P   DCH       Die angegebene Anzahl an Zeichen auf der aktuellen Zeile löschen.
       X   ECH       Die angegebene Anzahl von Zeichen auf der aktuellen Zeile löschen.
       a   HPR       Cursor die angegebene Anzahl an Spalten nach rechts bewegen.
       c   DA        ESC [ ? 6 c: »I am a VT102« antworten.
       d   VPA       Cursor zu der angegebene Zeile, aktuelle Spalte, bewegen
       e   VPR       Cursor die angegebene Anzahl an Zeilen nach unten bewegen.
       f   HVP       Cursor zu der angegebenen Zeile,Spalte bewegen.
       g   TBC       Ohne Parameter: Tabulator an der aktuellen Position löschen.
                     ESC [ 3 g:  alle Tabulatoren löschen.
       h   SM        Modus setzen (siehe unten).
       l   RM        Modus zurücksetzen (siehe unten).
       m   SGR       Attribute setzen (siehe unten).
       n   DSR       Statusbericht (siehe unten).
       q   DECLL     Tastatur-LEDs setzen.
                     ESC [ 0 q: Alle LEDs löschen.
                     ESC [ 1 q: Rollen-LED setzen
                     ESC [ 2 q: Num-LED setzen
                     ESC [ 3 q: Feststelltasten-LED setzen
       r   DECSTBM   Region zum Rollen setzen; Parameter sind obere und untere Zeile.
       s   ?         Cursor-Position speichern.
       u   ?         Cursor-Position wiederherstellen.
       `   HPA       Cursor an die angegebene Spalte in der aktuellen Zeile bewegen.

       ECMA-48 Wählt Graphikwiedergabe

       Die ECMA-48-SGR-Sequenz ESC [ Parameter m setzt die Anzeigeattribute. Es können  mehrere  durch  Semikola
       getrennte  Attribute in der gleichen Sequenz gesetzt werden. Ein leerer Parameter (zwischen Semikola oder
       Zeichenketteneinleitungs- und -beendigungszeichen) wird als Null interpretiert.
       Param      Ergebnis
       0          Alle Attribute auf ihre Standardwerte zurücksetzen
       1          Fett setzen
       2          Halb-hell setzen (auf einer Farbanzeige mit Farben simuliert)
       3          setzt kursiv (seit Linux 2.6.22; auf einer Farbanzeige mit Farben simuliert).
       4          unterstreichen setzen (auf einer Farbanzeige mit Farben simuliert) (die zur Simulation der
                  Abdunklung oder des Unterstreichens verwandten Farben werden mittels ESC ] … gesetzt)
       5          Blinken setzen
       7          inverse Anzeige setzen
       10         ausgewählte Zuordnung zurücksetzen, Bildschirmsteuerschalter anzeigen und Metaschalter
                  umschalten (ECMA-48 sagt »primary font« (Hauptschrift)).
       11         Null-Zuordnung auswählen, Bildschirmsteuerschalter setzen, Metaschalter-Umschalter
                  zurücksetzen (ECMA-48 sagt »first alternate font« (erste alternative Schrift)).
       12         Null-Zuordnung auswählen, Bildschirmsteuerschalter setzen, Metaschalter-Umschalter setzen
                  (ECMA-48 sagt »second alternate font« (zweite alternative Schrift)). Der
                  Metaschalter-Umschalter führt dazu, dass das hohe Bit eines Bytes umgeschaltet wird, bevor die
                  Übersetzung der Zuordnungstabelle durchgeführt wird.
       21         Unterstreichen setzen; vor Linux 4.17 setzte dieser Wert normale Intensität (wie dies auf
                  vielen anderen Terminals erfolgt)
       22         Setzt normale Intensität
       23         schaltet kursiv aus (seit Linux 2.6.22).
       24         Unterstreichen aus
       25         Blinken aus
       27         inverse Anzeige aus
       30         Schwarzen Vordergrund setzen
       31         Roten Vordergrund setzen
       32         Grünen Vordergrund setzen
       33         Braunen Vordergrund setzen
       34         Blauen Vordergrund setzen
       35         Violetten Vordergrund setzen
       36         zyanen Vordergrund setzen
       37         Weißen Vordergrund setzen
       38         256/24-Bit-Vordergrundfarben folgen, gequetscht in 16 Grundlagenfarben (vor Linux 3.16:
                  schaltet Unterstreichen ein, setzt Vorgabevordergrundfarbe)
       39         Vordergrundfarbe setzen (vor Linux 3.16: schaltet Unterstreichen aus, setzt
                  Vorgabevordergrundfarbe)
       40         Schwarzen Hintergrund setzen
       41         Roten Hintergrund setzen
       42         Grünen Hintergrund setzen
       43         Braunen Hintergrund setzen
       44         Blauen Hintergrund setzen
       45         Violetten Hintergrund setzen
       46         zyanen Hintergrund setzen
       47         Weißen Hintergrund setzen
       48         256/24-Bit-Hintergrundfarben folgen, gequetscht in 8 Grundlagenfarben
       49         Standardhintergrundfarbe setzen
       90..97     Vordergrundfarben zu hellen Versionen von 30..37 setzen
       100..107   Hintergrund setzen, identisch zu 40..47 (hell nicht unterstützt)

       Befehle 38 und 48 benötigen weitere Argumente:
       ;5;x       256  Farben:  Werte  0..15  sind  IBGR  (schwarz,  rot,  grün,  …  weiß),  16..231   ist   ein
                  6x6x6-Farbwürfel, 232..255 eine Graustrufenrampe
       ;2;r;g;b   24-Bit-Farbe, r/g/b-Komponenten sind im Bereich 0..255

       ECMA-48-Modus-Schalter

       ESC [ 3 h
              DECCRM (Standardmäßig aus): Steuerzeichen anzeigen.

       ESC [ 4 h
              DECIM (Standardmäßig aus): Einfügemodus setzen.

       ESC [ 20 h
              LF/NL (standardmäßig aus): Automatisch Ausgabe von LF, VT oder FF mit CR folgen.

       ECMA-48-Statusberichtsbefehle

       ESC [ 5 n
              Gerät-Statusbericht (DS): Antwort ist ESC [ 0 n (Terminal i.O.).

       ESC [ 6 n
              Cursor-Positionsbericht (CPR): Antwort ist ESC [ y ; x R, wobei x,y die Cursor-Position ist.

       Sequenzen des DEC-Private-Mode (DECSET/DECRST)

       Diese   werden  nicht  in  ECMA-48  beschrieben.  Es  werden  die  Modus-Setz-Sequenzen  aufgeführt,  die
       Modus-Zurücksetz-Sequenzen können ermittelt werden, indem das abschließende »h«  durch  ein  »l«  ersetzt
       wird.

       ESC [ ? 1 h
              DECCKM  (standardmäßig aus): Wenn gesetzt, senden die Cursor-Tasten statt ESC [ die Vorsequenz ESC
              O.

       ESC [ ? 3 h
              DECCOLM (standardmäßig aus = 80  Spalten):  80/132-Spalten-Modus-Umschaltung.  Die  Treiberquellen
              merken   an,   dass  dies  alleine  nicht  reicht,  Hilfsprogramme  wie  resizecons(8)  haben  die
              Hardware-Register auf der Konsole der Video-Karte zu ändern.

       ESC [ ? 5 h
              DECSCNM (standardmäßig aus): Inversen Videomodus setzen.

       ESC [ ? 6 h
              DECOM (standardmäßig aus): Wenn gesetzt, erfolgt die Adressierung des Cursors relativ  zur  oberen
              linken Ecke der Rollen-Region.

       ESC [ ? 7 h
              DECAWM  (standardmäßig  ein):  Schaltet  automatischen Zeilenumbruch ein. In diesem Modus wird ein
              Graphikzeichen, das nach Spalte 80 ausgegeben wird (oder Spalte 132, falls DECCOLM an ist)  zuerst
              einen Umbruch auf den Anfang der folgenden Zeile erzwingen.

       ESC [ ? 8 h
              DECARM (standardmäßig ein): Schaltet Tastatur-Autowiederholung ein.

       ESC [ ? 9 h
              X10-Mausberichtserstattung   (standardmäßig   aus):   Berichtsmodus  auf  1  setzen  (oder  auf  0
              zurücksetzen) – siehe unten.

       ESC [ ? 25 h
              DECTECM (standardmäßig ein): Macht Cursor sichtbar.

       ESC [ ? 1000 h
              X11-Mausberichtserstattung  (standardmäßig  aus):  Berichtsmodus  auf  2  setzen   (oder   auf   0
              zurücksetzen) – siehe unten.

       Private CSI-Sequenzen der Linux-Konsole

       Die  folgenden  Sequenzen  sind  weder  ECMA-48 noch native VT102. Sie sind für den Linux-Konsolentreiber
       nativ. Farben sind in SGR-Parametern:  0 = schwarz, 1 = rot, 2 = grün, 3 = braun, 4 = blau, 5 =  magenta,
       6 = zyan, 7 = weiss; 8-15 = helle Versionen von 0-7.
       ESC [ 1 ; n ]       Farbe n als Unterstreichfarbe setzen.
       ESC [ 2 ; n ]       Farbe n als Abdunklungsfarbe setzen
       ESC [ 8 ]           Das aktuelle Farbpaar als Standardattribute setzen.
       ESC [ 9 ; n ]       Bildabschaltzeitüberschreitung auf n Minuten setzen.
       ESC [ 10 ; n ]      Glockentonfrequenz in Hz setzen.
       ESC [ 11 ; n ]      Glockendauer in ms setzen.
       ESC [ 12 ; n ]      Bringt die angegebene Konsole nach vorne.
       ESC [ 13 ]          Bildabschaltung aufheben.
       ESC [ 14 ; n ]      Setzt das VESA-Energiesparzeitinterval in Minuten.
       ESC [ 15 ]          Bringt die vorhergehende Konsole nach vorne. (Seit Linux 2.6.0).
       ESC [ 16 ; n ]      Setzt das Cursor-Blinkintervall in Millisekunden (seit Linux 4.2).

   Zeichensätze
       Der  Kernel  kennt  4  Übersetzungen  von Bytes in Konsolen-Bildschirmsymbole. Die vier Tabellen sind: a)
       Latin1 -> PC, b) VT100-Graphik -> PC, c) PC -> PC, d) benutzerdefiniert.

       Es gibt zwei Zeichensätze, genannt G0 und G1, und einer der  beiden  ist  der  aktuelle  Zeichensatz  (am
       Anfang G0). Durch Eingabe von ^N wird G1 der aktuelle, durch ^O wird G0 der aktuelle.

       Diese  Variablen  G0  und  G1  zeigen auf eine Übersetzungstabelle und können durch den Benutzer geändert
       werden. Ursprünglich zeigen Sie auf die Tabellen a) und b). Die Sequenz ESC ( B und ESC ( 0 und ESC  (  U
       und  ESC ( K führen dazu, dass G0 auf die Übersetzungstabelle a), b), c) respektive d) zeigt. Die Sequenz
       ESC ) B u ESC ) 0 und ESC ) U und ESC ) K führen dazu, dass G1 auf die  Übersetzungstabelle  a),  b),  c)
       respektive d) zeigt.

       Die  Sequenz  ESC  c  führt  dazu,  dass  das  Terminal  zurückgesetzt  wird. Dies möchten Sie, falls der
       Bildschirm verstümmelt ist. Der häufige Vorschlag »echo ^V^O« macht nur G0 aktuell, es  gibt  aber  keine
       Garantie,  dass  G0  auf Tabelle a) zeigt. Manche Distributionen enthalten ein Programm reset(1), das nur
       »echo ^[c« ausführt. Falls Ihr Terminfo-Eintrag für die Konsole korrekt ist (und  einen  Eintrag  rs1=\Ec
       hat), dann wird auch »tput reset« funktionieren.

       Die  benutzerdefinierte  Zuordnungstabelle  kann  mittels  mapscrn(8)  gesetzt  werden.  Das Ergebnis der
       Zuordnung ist, dass das Symbol s = Zuord[c]  an  den  Videospeicher  gesandt  wird,  wenn  das  Symbol  c
       ausgegeben  wird.  Das  Bitmap,  das  dem s entspricht, wird im Zeichensatz-ROM gefunden und kann mittels
       setfont(8) geändert werden.

   Maus-Nachverfolgung
       Die   Maus-Nachverfolgungseinrichtung   ist   dazu   gedacht,   xterm(1)-kompatible   Maus-Statusberichte
       zurückzuliefern. Da der Konsolentreiber keine Möglichkeit hat, das Gerät oder die Art der Maus zu kennen,
       werden  diese  Berichte nur im Konsoleneingabe-Stream zurückgeliefert, wenn der virtuelle Terminaltreiber
       ein Maus-Aktualisierungs-Ioctl empfängt. Diese Ioctls müssen durch eine  Maus-bewusste  Benutzeranwendung
       wie der Daemon gpm(8) erzeugt werden.

       Die  durch  xterm(1)  erstellten  Maus-Nachverfolgungs-Escape-Sequenzen  kodieren numerische Parameter in
       einem einzelnen Zeichen als Wert+040. Beispielsweise  ist  »!«  1.  Das  Bildschirmkoordinatensystem  ist
       1-basiert.

       Der  X10-Kompatibilitätsmodus  sendet  Escape-Sequenzen  beim  Knopfdruck  und  kodiert  den  Ort und den
       gedrückten Mausknopf. Er wird durch Senden von ESC [ ? 9 h aktiviert und durch ESC [ ? 9  l  deaktiviert.
       Beim  Knopfdruck  sendet xterm(1) ESC [ M bxy (6 Zeichen). Hier ist b Knopf-1 und x und y sind die X- und
       Y-Koordinaten der Maus, als der Knopf gedrückt wurde. Dies ist der gleiche Code, wie ihn auch der  Kernel
       erstellt.

       Normaler  Nachverfolgungsmodus  (nicht  in  Linux 2.0.24 implementiert) sendet eine Escape-Sequenz sowohl
       beim Druck als auch beim Loslassen des Knopfes. Informationen über Änderungstasten werden  auch  gesandt.
       Er wird durch Senden von ESC [ ? 1000 h aktiviert und durch ESC [ ? 1000 l deaktiviert. Beim Drücken oder
       Loslassen  eines  Knopfes  sendet  xterm(1)  ESC  [  M  bxy.  Die  niedrigen zwei Bits von b kodieren die
       Knopfinformationen: 0=Mk1 gedrückt, 1=Mk2  gedrückt,  2=Mk3  gedrückt,  3=losgelassen.  Die  oberen  Bits
       kodieren,  welche  Änderungstasten  unten  waren,  als  der  Knopf  gedrückt wurde und werden aufaddiert:
       4=Umschalt, 8=Meta, 16=Strg. Wieder sind x und y die X- und Y-Koordinate des Mausereignisses.  Die  obere
       linke Ecke ist (1,1).

   Vergleich mit anderen Terminals
       Viele  verschiedene  Terminaltypen  wie die Linux-Konsole werden als »VT100-kompatibel« beschrieben. Hier
       werden die Unterschiede zwischen der Linux-Konsole und den zwei anderen wichtigsten, der  DEC  VT102  and
       xterm(1), beschrieben.

       Umgang mit Steuerzeichen

       Das VT102 erkennt auch die folgenden Steuerzeichen:

       NUL (0x00)
              wurde ignoriert.

       ENQ (0x05)
              löste eine Rückantwortnachricht aus.

       DC1 (0x11, ^Q, XON)
              fährt mit der Übertragung fort.

       DC3 (0x13, ^S, XOFF)
              führt dazu, dass VT100 alle Codes außer XOFF und XON ignoriert (und deren Übertragung beendet).

       VT100-artige DC1/DC3-Verarbeitung kann durch den Terminal-Treiber aktiviert sein.

       Das  Programm  xterm(1)  erkennt  (im VT100-Modus) die Steuerzeichen BEL, BS, HT, LF, VT, FF, CR, SO, SI,
       ESC.

       Escape-Sequenzen

       VT100-Konsolesequenzen sind in der Linux-Konsole nicht implementiert:
       ESC N     SS2   Einfache    Umschaltung    2    (wählt    den
                       G2-Zeichensatz nur für das nächste Zeichen).
       ESC O     SS3   Einfache    Umschaltung    3    (wählt    den
                       G3-Zeichensatz nur für das nächste Zeichen).
       ESC P     DCS   Gerätesteuerzeichenkette (wird  durch  ESC  \
                       beendet)
       ESC X     SOS   Beginn der Zeichenkette
       ESC ^     PM    Vertraulichkeitsnachricht (mit ESC \ beendet)
       ESC \     ST    Zeichenkettenendzeichen
       ESC * …         Bestimmt den G2-Zeichensatz
       ESC + …         Bestimmt den G3-Zeichensatz

       Das  Programm xterm(1) erkennt (im VT100-Modus) ESC c, ESC # 8, ESC >, ESC =, ESC D, ESC E, ESC H, ESC M,
       ESC N, ESC O, ESC P … ESC \, ESC Z (es beantwortet ESC [ ? 1 ; 2 c mit »I am a VT100 with advanced  video
       option«)  und  ESC ^ … ESC \ mit den gleichen Bedeutungen wie oben angezeigt. Es akzeptiert ESC (, ESC ),
       ESC *, ESC + gefolgt von 0, A, B für die DEC-Spezialzeichen und der Linienzeichenmenge, UK- und US-ASCII,
       respektive.

       Der Benutzer kann xterm(1) konfigurieren, auf VT220-spezifische Steuersequenzen zu reagieren und es  wird
       sich  selbst  als  VT52,  VT100  und  höher  identifizieren,  abhängig  von der Art der Konfiguration und
       Initialisierung.

       Es   akzeptiert   ESC   ]   (OSC)   für   das   Setzen   bestimmter   Ressourcen.   Zusätzlich   zu   dem
       ECMA-48-Zeichenkettenabschlusszeichen   (ST)  akzeptiert  xterm(1)  ein  BEL,  um  eine  OSC-Zeichenkette
       abzuschließen. Es gibt einige weitere OSC-Steuersequenzen, die von xterm(1) erkannt werden:
       ESC ] 0 ; txt ST        Icon-Name und  Fenstertitel  auf  txt
                               setzen.
       ESC ] 1 ; txt ST        Icon-Name auf txt setzen.
       ESC ] 2 ; txt ST        Fenstertitel auf txt setzen.
       ESC ] 4 ; num; txt ST   ANSI-Farbe num auf txt setzen.
       ESC ] 10 ; txt ST       Dynamische Textfarbe auf txt setzen.
       ESC ] 4 6 ; Name ST     Ändert   Protokollierdatei  auf  Name
                               (normalerweise       durch       eine
                               Kompilieroption deaktiviert).
       ESC ] 5 0 ; fn ST       Schrift auf fn setzen.

       Es  erkennt  die folgenden mit leicht veränderter Bedeutung (mehr Zustand wird gesichert, Verhalten näher
       an VT100/VT220):
       ESC 7  DECSC   Cursor speichern.
       ESC 8  DECRC   Cursor wiederherstellen.

       Sie erkennt auch
       ESC F          Cursor    auf    untere    linke    Ecke    des    Bildschirms    (falls     durch     die
                      hpLowerleftBugCompat-Ressource von xterm(1) aktiviert).
       ESC l          Speicher-Sperre (für HP-Terminals).
                      Sperrt Speicher oberhalb des Cursors.
       ESC m          Speicher entsperren (für HP-Terminals).
       ESC n   LS2    Aktiviert den Zeichensatz G2.
       ESC o   LS3    Aktiviert den Zeichensatz G3.
       ESC |   LS3R   Aktiviert den Zeichensatz G3 als GR.
                      Hat im Xterm keinen sichtbaren Effekt.
       ESC }   LS2R   Aktiviert den Zeichensatz G2 als GR.
                      Hat im Xterm keinen sichtbaren Effekt.
       ESC ~   LS1R   Aktiviert den Zeichensatz G1 als GR.

       Es erkennt auch ESC % und stellt eine komplettere UTF-8-Implementierung auf der Linux-Konsole bereit.

       CSI-Sequenzen

       Alte  Versionen  von  xterm(1), beispielsweise aus X11R5, interpretierten das Blinken-SGR als fettes SGR.
       Neuere Versionen, die ANSI-Farben implementierten, beispielsweise 1995 XFree86 3.1.2A, verbesserten dies,
       indem sie  es  erlaubten,  das  Blink-Attribut  als  Farbe  darzustellen.  Moderne  Versionen  von  Xterm
       implementieren  Blinken-SGR  als blinkender Text und erlauben weiterhin die Darstellung von farbigem Text
       als alternative Darstellung von SGRs. Unveränderte X11R5-Versionen erkannten die Farbeinstellungs-SGR bis
       zur Veröffentlichung X11R6.8, das das Xterm aus  XFree86  aufnahm,  nicht.  Alle  durch  Linux  erkannten
       ECMA-48-CSI-Sequenzen  werden  auch  von  xterm erkannt, allerdings implementiert xterm(1) eine Reihe von
       ECMA-48- und DEC-Steuersequenzen, die von Linux nicht erkannt werden.

       Das Programm xterm(1) erkennt sämtliche der oben aufgeführten  Privaten-Modus-DEC-Sequenzen,  aber  keine
       der  Privaten-Modus-Linux-Sequenzen.  Für  eine  Diskussion der xterm(1) eigenen Privaten-Modus-Sequenzen
       lesen Sie das Dokument Xterm Control Sequences von Edward Moy,  Stephen  Gildea  und  Thomas  E.  Dickey,
       verfügbar  mit  der  X-Distribution.  Dieses  Dokument,  obwohl  sehr  knapp,  ist  viel länger als diese
       Handbuchseite. Für einen chronologischen Überblick, gibt

              http://invisible-island.net/xterm/xterm.log.html

       Änderungen an Xterm im Detail.

       Das Programm vttest

              http://invisible-island.net/vttest/

       zeigt viele dieser Steuersequenzen. Die Quelldistribution von xterm(1) enthält auch Beispielskripte,  die
       andere Funktionalitäten ausführen.

ANMERKUNGEN

       ESC 8 (DECRC) ist nicht in der Lage, den mit ESC % geänderten Zeichensatz wiederherzustellen.

FEHLER

       In Linux 2.0.23 ist CSI defekt und NUL wird innerhalb von Escape-Sequenzen nicht ignoriert.

       Einige   ältere   Kernelversionen   (nach   Linux   2.0)   interpretieren  8-Bit-Steuersequenzen.  Dieses
       »C1-Steuerungen«  verwenden  Codes  zwischen  128   und   159,   um   ESC   [,   ESC   ]   und   ähnliche
       Zweibyte-Steuersequenzstarter  zu  ersetzen.  Davon  gibt es in modernen Kerneln noch Fragmente (entweder
       übersehene oder durch Anpassung an UTF-8 defekte), aber die Implementierung ist unvollständig und  sollte
       als unzuverlässig betrachtet werden.

       Die    »Privaten-Modus«-Sequenzen    von    Linux    folgen    nicht    den   Regel   von   ECMA-48   für
       Privaten-Modus-Steuersequenzen.     Insbesondere     verwenden     die     in     ]     endenden     kein
       Standard-Zeichenkettenendzeichen.  Die  OSC- (Palettensetz-)Sequenz ist ein größeres Problem, da xterm(1)
       diese als Steuersequenz interpretieren könnte, die ein Zeichenkettenendzeichen (ST) benötigt. Anders  als
       setterm(1)-Sequenzen,  die  ignoriert  werden  (da  sie  ungültige  Steuersequenzen  sind),  scheinen die
       Paletten-Sequenzen xterm(1) zum Aufhängen zu bringen (allerdings wird dies durch Drücken der Eingabetaste
       korrigiert). Um Anwendungen  zu  berücksichtigen,  die  die  Verwendung  von  Linux-Steuersequenzen  hart
       einkodiert haben, setzen Sie die Ressource brokenLinuxOSC von xterm(1) auf »true«.

       Eine  ältere  Version dieses Dokuments implizierte, dass Linux die ECMA-48-Steuersequenz für unsichtbaren
       Text erkannte. Sie wird ignoriert.

SIEHE AUCH

       ioctl_console(2), charsets(7)

ÜBERSETZUNG

       Die   deutsche    Übersetzung    dieser    Handbuchseite    wurde    von    Martin    Eberhard    Schauer
       <Martin.E.Schauer@gmx.de>,    Helge    Kreutzmann    <debian@helgefjell.de>    und    Mario   Blättermann
       <mario.blaettermann@gmail.com> erstellt.

       Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder  neuer
       bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.

       Wenn  Sie  Fehler  in  der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die
       Mailingliste der Übersetzer.

Linux man-pages 6.03                             5. Februar 2023                                console_codes(4)