termcap(5) | File Formats Manual | termcap(5) |
termcap - Datenbank für Terminalfähigkeiten
Die Termcap-Datenbank ist eine veraltete Einrichtung zur Beschreibung der Fähigkeiten zeichenorientierter Terminals und Drucker. Sie wird nur noch für die Kompatibilität mit alten Programmen beibehalten, neue Programme sollten terminfo(5) und die zugehörigen Bibliotheken verwenden.
Die ASCII-Datei /etc/termcap, der »Database Master«, enthält eine Beschreibung der Fähigkeiten vieler verschiedener Terminaltypen. Programme können hier die Steuersequenzen nachlesen, mit denen die visuelle Darstellung des verwendeten Terminals gesteuert wird. (Weitere Terminalaspekte werden von stty(1) behandelt.) Die Umgebungsvariable TERM dient als Index in der Termcap-Datenbank.
Einträge in Termcap dürfen nur aus einer einzigen logischen Zeile bestehen, mit »\« werden Zeilenumbrüche unterdrückt. Die Felder eines Eintrags werden durch »:« getrennt. Das erste Feld jedes Eintrags beginnt am linken Rand und enthält eine Liste mit Namen für das Terminal, die ihrerseits durch »|« (das Pipe-Symbol) getrennt sind.
Das erste Unterfeld kann (in BSD-Termcap-Einträgen bis 4.3BSD) einen kurzen Namen aus zwei Zeichen enthalten. Die beiden Zeichen dürfen Klein- oder Großbuchstaben sein. In 4.4BSD-Termcap-Einträgen gibt es dieses Feld nicht mehr.
Das zweite Unterfeld (im neueren 4.4BSD-Format ist es das erste) enthält den Namen, den die Umgebungsvariable TERM verwendet. Er sollte aus Kleinbuchstaben bestehen. Wählbare Fähigkeiten der Hardware sollten durch hinzufügen eines Bindestrichs und eines Suffixes zum Namen gekennzeichnet werden. Weiter unten gibt es ein Beispiel dafür. Übliche Suffixe sind w (wide, Zeilenlänge größer als 80 Zeichen), am (automatic margins, automatische Randbegrenzung), nam (no automatic margins, keine automatische Randbegrenzung) und rv (reverse video, Darstellung in dunkler Schrift auf hellem Hintergrund). Das dritte Unterfeld enthält einen langen und aussagekräftigen Namen für diesen Termcap-Eintrag.
Die folgenden Felder enthalten die Fähigkeiten, die das Terminal bietet. Fortsetzungszeilen müssen mit einem Tabulator-Zeichen vom linken Rand aus eingerückt werden.
Obwohl es keine vorgeschriebene Reihenfolge gibt, sieht die Konvention Folgendes vor: Erst die booleschen, dann die numerischen und dann die Zeichenketten-Fähigkeiten, jede Gruppe in sich alphabetisch ohne Rücksicht auf Klein-/Großschreibung sortiert. Fähigkeiten ähnlicher Funktionalität können in eine Zeile geschrieben werden.
Beispiel für:
Kopfzeile: vt|vt101|DEC VT 101 Terminal im 80-Zeichen-Modus:\Kopfzeile: Vt|vt101-w|DEC VT 101 Terminal im Wide-Modus (132 Zeichen):\Boolescher Wert: :bs:\Numerischer Wert: :co#80:\Zeichenkette: :sr=\E[H:\
Boolesche Fähigkeiten
5iDrucker macht keine BildschirmausgabenamAutomatic margins = Automatischer ZeilenumbruchbsStrg-H (8 dez.) führt Rückschritt (backspace) ausbwRückschritt am linken Rand führt zum rechten Rand der VorzeiledaAnzeige oberhalb des sichtbaren Bereichs bleibt erhaltendbAnzeige unterhalb des sichtbaren Bereichs bleibt erhalteneoEin Leerzeichen löscht jedes Zeichen ab der CursorpositionesSteuersequenzen und spezielle Zeichen arbeiten in der StatuszeilegnGenerisches GeräthcHardcopy-Terminal (Konsolen-Drucker)HCCursor schwer erkennbar, wenn nicht in letzter ZeilehsHat eine StatuszeilehzHazeltine Bug, das Terminal kann keine Tilde darstelleninTerminal füllt Lücken mit Nullbytes, nicht mit LeerzeichenkmTerminal hat eine Meta-TastemiCursor-Bewegung funktioniert im EinfügemodusmsCursor-Bewegung funktioniert im HervorhebungsmodusNPKein FüllzeichenNRti kehrt te nicht umnxKein Auffüllen, XON/XOFF muss verwendet werdenosTerminal beherrscht »Fettschrift«ulTerminal unterstreicht, kann aber keine »Fettschrift«xbBeehive glitch, F1 sendet ESCAPE, F2 sendet ^CxnNewline/wraparound glitch (kleiner Fehler bei Zeilenvorschub/-umbruch)xoTerminal benutzt xon/xoff-ProtokollxsWenn hervorgehobener Text überschrieben wird, wird der ersetzendeText ebenfalls hervorgehobenxtTeleray glitch, zerstörerische Tabulatoren und merkwürdige Hervorhebungen
Numerische Fähigkeiten
coAnzahl SpaltendBVerzögerung in Millisekunden (V.i.M) bei Backspace an Hardcopy-TerminalsdCV.i.M. bei Wagenrücklauf an Hardcopy-TerminalsdFV.i.M. bei Seitenvorschub an Hardcopy-TerminalsdNV.i.M. bei Zeilenvorschub an Hardcopy-TerminalsdTV.i.M. bei Tabulatorstopp an Hardcopy-TerminalsdVV.i.M. bei vertikalem Tabulatorstopp an Hardcopy-TerminalsitAbstand zwischen TabulatorpositionenlhHöhe von »soft labels«lmSpeicherzeilen (Lines of memory)lwBreite der »soft labels«liZeilenanzahlNlAnzahl der »soft labels«pbNiedrigste Baudrate, die Auffüllen benötigtsg»Standout glitch«ugUnderline glitchvtNummer eines virtuellen TerminalswsBreite der Statuszeile, falls abweichend von der Bildschirmbreite
Zeichenketten-Fähigkeiten
!1Umschalt-Speichern-Taste!2Umschalt-Suspend-Taste (stoppen, nicht beenden)!3Umschalt-Rückgängig-Taste#1Umschalt-Hilfe-Taste#2Umschalt-Cursor-nach-links-oben-Taste#3Umschalt-Eingabe-Taste#4Umschalt-Cursor links-Taste%0Wiederholen-Taste%1Hilfe-Taste%2Markieren-Taste%3Nachricht-Taste%4Verschieben-Taste%5Nächstes-Objekt-Taste%6Öffnen-Taste%7Optionen-Taste%8Voriges-Objekt-Taste%9Drucken-Taste%aUmschalt-Nachricht-Taste%bUmschalt-Verschieben-Taste%cUmschalt-Weiter-Taste%dUmschalt-Optionen-Taste%eUmschalt-Zurück-Taste%fUmschalt-Drucken-Taste%gUmschalt-Wiederholen-Taste%hUmschalt-Ersetzen-Taste%iUmschalt-Cursor rechts-Taste%jUmschalt-Weitermachen-Taste (siehe 'suspend', w.o.)&0Umschalt-Abbrechen-Taste&1Referenz-Taste&2Auffrisch-Taste&3Ersetzen-Taste&4Neustart-Taste&5Weitermachen-Taste&6Speichern-Taste&7suspend-Taste&8Rückgängig-Taste&9Umschalt-BeginnenTaste*0Umschalt-Suchen-Taste*1Umschalt-Befehl-Taste*2Umschalt-Kopieren-Taste*3Umschalt-Erzeugen-Taste*4Umschalt-Löschzeichen*5Umschalt-Zeile entfernen*6Auswahl-Taste*7Umschalt-Ende-Taste*8Umschalt-Zeileninhalt löschen-Taste*9Umschalt-exit-Taste@0Suchen-Taste@1Beginnen-Taste@2Abbrechen-Taste@3Schließen-Taste@4Befehl-Taste@5Kopieren-Taste@6Erzeugen-Taste@7Ende-Taste@8Eingabe/Absenden-Taste@9exit-Tastealeine Zeile einfügenAL%1 Zeilen einrückenacPaare von Blockgrafik-Zeichen zur Ersetzung eines anderen ZeichensatzesaeEnde alternativer ZeichensatzasStart alternativer Zeichensatz für Blockgrafik-ZeichenbcRückschritt, falls nicht ^HblAudio bell (Piep!)btZurück zum vorigen Tabulator-StoppcbZeile von Anfang bis Cursor löschenccDummy-BefehlszeichencdLöschen bis BildschirmendeceLöschen bis ZeilenendechCursor waagerecht verschieben bis Spalte %1clBildschirm löschen, Cursor nach links obencmCursor verschieben nach Zeile %1 und Spalte %2 (auf dem Bildschirm)CMCursor verschieben nach Zeile %1 und Spalte %2 (im Speicher)crCarriage return (Wagenrücklauf, Eingabezeichen, dez. 13)csScroll-Bereich von Zeile %1 bis %2ctTabulatoren löschencvCursor verschieben bis Zeile %1dcein Zeichen löschenDC%1 Zeichen löschendleine Zeile löschenDL%1 Zeilen löschendmAnfang Lösch-ModusdoCursor eine Zeile nach untenDOCursor #1 Zeilen nach untendsStatuszeile deaktiviereneAalternativen Zeichensatz aktivierenecvom Cursor aus %1 Zeichen löschenedEnde Lösch-ModuseiEnde Einfüge-ModusffSeitenvorschub-Zeichen bei Hardcopy-Terminalsfs? Return character to its position before going to status line ?F1Zeichenkette für Funktionstaste f11F2Zeichenkette für Funktionstaste f12F3Zeichenkette für Funktionstaste f13……F9Zeichenkette für Funktionstaste f19FAZeichenkette für Funktionstaste f20FBZeichenkette für Funktionstaste f21……FZZeichenkette für Funktionstaste f45FaZeichenkette für Funktionstaste f46FbZeichenkette für Funktionstaste f47……FrZeichenkette für Funktionstaste f63hdCursor eine halbe Zeile nach untenhoCursor nach links obenhuCursor eine halbe Zeile nach obeni1Initialisierungs-Zeichenkette 1 beim Anmeldeni3Initialisierungs-Zeichenkette 3 beim AnmeldenisInitialisierungs-Zeichenkette 2 beim Anmeldenicein Zeichen einfügenIC%1 Zeichen einfügenifInitialisierungs-DateiimAnfang Einfüge-Modusip? Insert pad time and needed special characters after insert ?iPInitialisierungs-ProgrammK1obere linke Taste auf dem TastenblockK2mittlere Taste auf dem TastenblockK3obere rechte Taste auf dem TastenblockK4untere linke Taste auf dem TastenblockK5untere rechte Taste auf dem Tastenblockk0Funktionstaste 0k1Funktionstaste 1k2Funktionstaste 2k3Funktionstaste 3k4Funktionstaste 4k5Funktionstaste 5k6Funktionstaste 6k7Funktionstaste 7k8Funktionstaste 8k9Funktionstaste 9k;Funktionstaste 10kaTaste, die alle Tabulatoren löschtkAZeile einfügen-TastekbBackspace (Rückschritt)-TastekBEinen Tabulator zurückkCBildschirm löschen-TastekdCursor herunter-TastekDEntfernen-TastekeTastenblock abschaltenkETaste zum Löschen bis ZeilenendekFTaste für vorwärts-/herunterscrollenkh»Cursor oben links«-TastekH»Cursor hown down«-TastekIZeichen einfügen/Einfügemodus-TasteklCursor links-TastekLZeile löschen-TastekMEinfügemodus-Beenden-TastekNTaste für nächste SeitekPTaste für vorige SeitekrCursor rechts-TastekRTaste für scrolling zurück/hochksTastenblock einschaltenkSLöschen bis Bildschirmende-TastektDiesen Tabulator löschen-TastekTHier Tabulator setzen-TastekuCursor hoch-Tastel0Bezeichnung für nullte Funktionstaste, falls nicht f0l1Bezeichnung für erste Funktionstaste, falls nicht f1l2Bezeichnung für zweite Funktionstaste, falls nicht f2……laBezeichnung für zehnte Funktionstaste, falls nicht f10leCursor ein Zeichen nach linksllCursor nach links untenLECursor %1 Zeichen nach linksLFsoft labels abschaltenLOsoft labels einschaltenmbAnfang BlinkmodusMCsoft margins löschenmdStart FettschriftmeEnde aller Modi wie so, us, mb, md und mrmhStart half bright modemkDunkelmodus (Zeichen nicht sichtbar)MLLinken soft margin setzenmmMeta Modus einschaltenmoMeta Modus abschaltenmpEigenschaft 'gesichert' einschalten (protected attribute)mrAnfang Invers ModusMRRechten soft margin setzenndCursor ein Zeichen nach rechtnwCarriage return BefehlpcPadding ZeichenpfDrucker ausschaltenpkTaste %1 sendet Zeichenkette %2 als ob vom Benutzer eingegebenplTaste %1 führt Zeichenkette %2 im 'local' Modus auspnProgram soft label %1 to to show string %2poDrucker einschaltenpODrucker einschalten für %1 (<256) BytespsBildschirminhalt auf Drucker ausgebenpxTaste %1 sendet Zeichenkette %2 an den Computerr1Reset Zeichenkette 1, um Terminal in Standardeinstellung zu bringenr2Reset Zeichenkette 2, um Terminal in Standardeinstellung zu bringenr3Reset Zeichenkette 3, um Terminal in Standardeinstellung zu bringenRAautomatische Zeilenumbrüche abschaltenrcgespeicherte Cursor Position wiederherstellenrfReset string file nameRFRequest for input (Eingabeanforderung) vom TerminalRICursor %1 Zeichen nach rechtsrpZeichen %1 %2-mal wiederholenrPPadding after character sent in replace modersReset ZeichenketteRXXON/XOFF abschaltensaEigenschaften %1 %2 %3 %4 %5 %6 %7 %8 %9 setzenSAautomatischen Zeilenumbruch einschaltenscCursor Position speichernseEnde Hervorhebungsmodus (standout mode)sfNormales Scrollen eine ZeileSFNormales Scrollen %1 ZeilensoAnfang Hervorhebungsmodus (standout mode)srRückwärts ScrollenSR%1 Zeilen rückwärts ScrollenstTabulator Stopp in allen Zeilen an derzeitiger SpaltenpositionSXXON/XOFF einschaltentazum nächsten Hardware TabulatortcTerminal Beschreibung einem anderen Eintrag entnehmenteBeenden des Programmes, das Cursorbewegungen verwendettiAnfang des Programmes, das Cursorbewegungen verwendettsCursor in Spalte %1 der StatuszeileucZeichen unter Cursor unterstreichen und Cursor 1 nach rechtsueEnde UnterstreichungupCursor eine Zeile hochUPCursor %1 Zeilen hochusAnfang UnterstreichungvbBildschirmdarstellung von 'Piep!' (Visible bell)veNormaler Cursor sichtbarviCursor unsichtbarvsHervorgehobener CursorwiSetze Fenster von Zeile %1 auf %2 und Spalte von %3 auf %4XFXOFF-Zeichen falls nicht ^S
Es gibt mehrere Methoden, Steuercodes für Zeichenketten-Fähigkeiten zu definieren:
Normale Zeichen außer »^«, »\« und »%« werden angezeigt.
Ein ^x bedeutet Strg-x. Strg-A entspricht der Zahl 1.
\x ist ein Spezialcode. x kann eines der folgenden Zeichen sein:
E Escape (27)
n Linefeed (10) Zeilenvorschub
r Carriage return (13) Eingabetaste/Wagenrücklauf
t Tabulation (9) Tabulator
b Backspace (8) Rückschritt
f Form feed (12) Seitenvorschub
0 Null-Zeichen. Ein \xxx bedeutet das Oktal-Zeichen xxx.
- i
- Erhöht Parameter um eins.
- r
- Einzelparameterfähigkeit
- +
- Addiert den Wert des nächsten Zeichens zu diesem Parameter und gibt ihn binär aus
- 2
- ASCII-Ausgabe des Parameters mit einer Feldlänge von 2
- d
- ASCII Ausgabe des Parameters mit einer Feldlänge von 3
- %
- Ausgabe des Zeichens »%«
Bei binären Ausgaben sollten Sie das Null-Zeichen (»\0«) vermeiden, weil es die Zeichenkette beendet. Sie sollten die Ersetzung von Tabulatoren (tabulator expansion) abschalten, wenn ein Tabulator die binäre Ausgabe eines Parameters sein kann.
- Warnung:
- Die oben vorgestellten Metazeichen können falsch sein: sie entstammen der Minix-Termcap, die nicht notwendigerweise kompatibel zu der von Linux ist.
Die Blockgraphik-Zeichen können durch drei Zeichenketten-Fähigkeiten angegeben werden:
- as
- Start des alternativen Zeichensatzes
- ae
- Ende des alternativen Zeichensatzes
- ac
- Zeichenpaare. Das erste Zeichen ist der Name des Blockgrafik-Symbols, das zweite seine Definition.
Folgende Namen stehen zur Verfügung:
+right arrow (>) Pfeil rechts,left arrow (<) Pfeil links.down arrow (v) Pfeil abwärts0full square (#) ausgefülltes RechteckIlantern (#)-upper arrow (^ Pfeil aufwärts'rhombus (+)achess board (:) Schachbrettfdegree (') Gradgplus-minus (#)hsquare (#) Quadratjright bottom corner (+) rechte untere Eckekright upper corner (+) rechte obere Eckelleft upper corner (+) linke obere Eckemleft bottom corner (+) linke untere Eckencross (+) Kreuzoupper horizontal line (-) Oberstrichqmiddle horizontal line (-) Mittelstrichsbottom horizontal line (_) Unterstrichtleft tee (+) Markierung links ?uright tee (+) Markierung rechtsvbottom tee (+) Markierung untenwnormal tee (+) normale Markierungxvertical line (|) vertikaler Strich, Pipe-Symbol~paragraph (???) Absatz
Die Angaben in Klammern sind vorgeschlagene Standardwerte, wie sie von der curses-Bibliothek verwendet werden, falls die Fähigkeiten fehlen.
ncurses(3), termcap(3), terminfo(5)
Die deutsche Übersetzung dieser Handbuchseite wurde von Martin Eberhard Schauer <Martin.E.Schauer@gmx.de> und Dr. Tobias Quathamer <toddy@debian.org> 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.
5. Februar 2023 | Linux man-pages 6.03 |