TERM(5)

НАЗВАНИЕ
term - соглашения об именах терминалов

ОПИСАНИЕ
Имена из этого файла используются некоторыми командами [например, man(1), tabs(1), tput(1), vi(1), curses(3X)] и рассматриваются, в качестве значения переменной $TERM, как часть окружения shell'а [см. sh(1), profile(4), environ(5)].

Исходные файлы terminfo(4) содержат элементы, состоящие из полей, разделенных запятыми. [Чтобы получить исходное описание терминала, используйте опцию -I в infocmp(1M).] Пробелы и табуляции после запятых игнорируются. В первой строке каждого описания терминала в базе данных terminfo(4) задаются имена, по которым terminfo(4) распознает терминал. Имена разделяются символами |. Первое имя задает наиболее часто используемое сокращение для терминала [это имя и нужно использовать как значение переменной TERM в $HOME/.profile, см. profile(4)], последнее имя - длинное, полностью определяющее терминал, все остальные имена являются синонимами первого.

Имена терминалов (кроме последнего) должны выбираться в соответствии со следующими соглашениями. Необходимо выбрать некоторое базовое имя, определяющее терминальное оборудование, например, для терминала AT&T 4425 таким именем может быть att4425. Длина базового имени не более восьми символов, в него могут входить малые латинские буквы и цифры. При выборе имени терминала целесообразно опираться на название фирмы-производителя, а не поставщика. Терминалы одного и того же производителя не должны иметь различных базовых имен. Модели одного и того же терминала, различные режимы, в которых может функционировать оборудование, или режимы, которые предпочитают пользователи, обозначаются суффиксами, начинающимися с символа -. Так, терминал AT&T 4425 в режиме 132 колонок обозначится как att4425-w. Рекомендуется использовать следующие суффиксы:
СуффиксЗначениеПримеры
-wРасширенный режим (более 80 колонок)att4425-w
-amС автоматическими границами (этот суффикс обычно используется по умолчанию)vt100-am
-namБез автоматических границvt100-nam
-числоКоличество строк на экранеaaa-60
-naНет клавиш управления курсоромc100-na
-числоpКоличество страниц памятиc100-4p
-rvИнвертированное изображениеatt4415-rv

Чтобы предотвратить конфликты имен при описании различных режимов (например, -w), не рекомендуется в базовых именах использовать дефис. Очень хорошо, если все имена терминалов, которые занесены в базу данных terminfo(4), являются уникальными. Описатели терминалов, которые используются только для включения в другие описатели с помощью use=, должны содержать в своем имени +, например 4415+nl.

Ниже перечислены некоторые имена терминалов; полный список можно получить с помощью команды


   ls  -C /usr/lib/terminfo/?

Команды, поведение которых зависит от типа терминала, должны обрабатывать аргументы вида -T имя_терминала; если такого аргумента нет, команда должна получить тип терминала из переменной окружения $TERM, в которой, в свою очередь, должно содержаться имя_терминала.

ФАЙЛЫ
/usr/lib/terminfo/?/* Скомпилированная база данных описаний терминалов.

СМ. ТАКЖЕ
curses(3X), profile(4), terminfo(4), environ(5).
sh(1), stty(1), tabs(1), tplot(1G), tput(1), vi(1) в Справочнике пользователя.
infocmp(1M) в Справочнике администратора.

СЮРПРИЗЫ
Не все программы используют сформулированные выше соглашения. Некоторые программы, использующие базу данных описаний терминалов, проводят принцип независимости от номенклатуры устройств непоследовательно.