Herkunft des / etc / termcap Linux-Eintrags

7

Warum gibt es eine Art von $TERMgenannt in linuxbeschrieben /etc/termcap? Warum und wann wurde es erstellt und worum geht es? Könnten wir nicht einfach bei bleiben vt-generic? Ist linuxnur ein üblicher Name und eine Reihe von Funktionen für eine Linux-Konsole (wie zum Beispiel etcoder homesind es übliche Namen für Verzeichnisse unter root und niemand kümmert sich darum) oder gab es technische Gründe für die Einführung?

user1042840
quelle

Antworten:

11

Die Terminalbeschreibung ist nach Linux benannt, das einen eigenen Konsolenemulator bereitstellt (wie auch mehrere andere Kernel).

Mit Ausnahme von FreeBSD erhalten alle Linux- und modernen BSD-Plattformen "termcap", indem sie es in ncurses aus der terminfo-Datenbank ableiten . Konsoleneinträge sind spezifisch für die Systeme, in denen sie implementiert sind (im Gegensatz zu vielen Terminalemulatoren, die auf mehr als einer Plattform ausgeführt werden).

In einem Kommentar in ncurses 1.8.6 (Oktober 1994) zur linuxTerminalbeschreibung heißt es:

# Note that the statdard Linux console is now called 'linux' instead
# of 'console'. terminals with sizes other than 80x25 need to append
# their size to linux and add an entry like the one for 132x43 below

Das war spezifisch für Linux, aber die Verallgemeinerung folgte, als ncurses portiert wurde.

In den ncurses-Quellen ist dieser Abschnitt von INSTALLsehr alt (gesehen in 1.9.7a im November 1995), aber nicht veraltet:

    Naming the Console Terminal                                            

    In various systems there has been a practice of designating the system
    console driver type as `console'.  Please do not do this!  It
    complicates peoples' lives, because it can mean that several different
    terminfo entries from different operating systems all logically want to
    be called `console'.

    Please pick a name unique to your console driver and set that up
    in the /etc/inittab table or local equivalent.  Send the entry to the
    terminfo maintainer (listed in the misc/terminfo file) to be included
    in the terminfo file, if it's not already there.  See the
    term(7) manual page included with this distribution for more on
    conventions for choosing type names.

    Here are some recommended primary console names:

            linux   -- Linux console driver
            freebsd -- FreeBSD
            netbsd  -- NetBSD
            bsdos   -- BSD/OS

    If you are responsible for integrating ncurses for one of these
    distributions, please either use the recommended name or get back
    to us explaining why you don't want to, so we can work out nomenclature
    that will make users' lives easier rather than harder.

In der Terminaldatenbank gibt es einen Abschnitt für diese: ANSI-, UNIX-KONSOLE- UND SPEZIALTYPEN , obwohl es keine "vt-generische" Beschreibung gibt und (angesichts der Unterschiede zwischen den Variationen) keine plausible Wahl gibt.

Wenn Sie nach "vt-generic" suchen , werden Sie dies wahrscheinlich nur in weniger verbreiteten Implementierungen wie Informix (in dieser Datei zu sehen ) feststellen :

#   @(#)/etc/termcap    0.0 
#
#   Informix product aware termcap file
#
#   Author: Marco Greco, <[email protected]>, Catania, Italy
#
#   Initial release: Jun 97
#   Current release: Jul 98
#
#   Absolutely no warranty -- use at your own risk
#
#   Notes: Adapted from the default Slackware termcap file:
#   added gs, ge, gb, ZG, ZA capabilities, shifted function keys
#   down by one, added ki, kj, kf, kg
#
#   Limit the size of each entry - 4gl apps core dump if applicable
#   entry too long
#
#   Entries other than vt's, console & xterm *untested*
#
# From: [email protected] (Miquel van Smoorenburg)
#
# Okay guys, here is a shorter termcap that does have most
# capabilities and is ncurses compatible. If it works for you
# I'd like to hear about it.

Weiterführende Literatur:

Thomas Dickey
quelle