Origem da entrada do / etc / termcap linux

6

Por que há um tipo de $TERM chamado linux descrito em /etc/termcap ? Por que e quando foi criado e qual é o sentido disso? Não poderíamos ficar com vt-generic ? linux é apenas um nome comum e um conjunto de recursos para um console do Linux (como, por exemplo, etc ou home são nomes habituais para diretórios sob root e ninguém se importa) ou havia alguma razão técnica por trás disso? foi introduzido?

    
por user1042840 02.02.2016 / 22:17

1 resposta

11

A descrição do terminal é nomeada para Linux, que fornece seu próprio emulador de console (assim como vários outros kernels).

Com exceção do FreeBSD, todas as plataformas Linux e modernas do BSD obtêm o "termcap", derivando-o do banco de dados terminfo em ncurses . As entradas do console são específicas para os sistemas nos quais elas são implementadas (diferentemente de muitos emuladores de terminal, que são executados em mais de uma plataforma).

Um comentário na ncurses 1.8.6 (outubro de 1994) para a descrição do terminal linux :

# 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

Isso foi específico para o Linux, mas a generalização foi seguida quando as ncurses foram portadas.

Nas fontes ncurses, esta seção de INSTALL é muito antiga (vista em 1.9.7a em novembro de 1995), mas não desatualizado:

    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.

Há uma seção no banco de dados do terminal para estes: ANSI, UNIX CONSOLE E SPECIAL TYPES , enquanto não há descrição "vt-generic" nem (dadas as diferenças entre as variações), existe uma escolha plausível.

Se você procurar por "vt-generic", provavelmente descobrirá que apenas em implementações menos prevalentes, como o Informix (visto neste arquivo ):

#   @(#)/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.

Leitura adicional:

por 02.02.2016 / 22:44