Команда tset обеспечивает зависимые от типа терминала установки, такие как установку символов erase и kill, установки или сброс задержек и т.д. Они задаются файлами /etc/ttytype и /etc/termcap.
Тип терминала определяется аргументом type. Он может быть любым типом, имеющимся в файле /etc/termcap. Если аргумент type не определен, то типу терминала присваивается значение переменной среды TERM, если не установлен флаг -h или не задан аргумент -m. В этом случае значение типа читается из файла /etc/ttytype (это имя порта в базе данных, описывающую тип терминала). Имя порта определяется вызовом ttyname(2) в диагностическом выводе. Если в файле /etc/ttytype порт не найден, то типу терминала присваивается значение unknown (неизвестный).
Порты, для которых тип терминала не определен, обозначаются в файле /etc/ttytype как dialup, plugboard и т.д. Пользователь может определить, как эти идентификаторы будут отображаться на действительный тип терминала. За флагом отображения -m следует соответствующий идентификатор (подстрока из четырех или более символов), необязательная тестовая последовательность для проверки скорости передачи и тип терминала, которые будут использованы, если условия отображения удовлетворены. Если определено более одного отображения, то используется первое корректирующее отображение. Пропущенный идентификатор выравнивает все идентификаторы. Скорости передачи (в бодах) определяются как в команде и сравниваются со скоростью диагностического вывода. Тестовая последовательность может быть любой комбинацией из знаков >, =, <, @ , ! (Замечание: знак @ является синонимом '=', а '!' инвертирует последовательность теста. Обратите внимание, что исключающие символы имеют важное значение в интерпретаторе shell).
Если аргумент type, определенный как описано выше, начинается со знак вопроса, пользователю выдается запрос, действительно ли он хочет работать с терминалом данного типа. Пустой ответ означает использование этого типа; иначе, может быть введен другой тип, который будет использован вместо предложенного. (Знак вопроса должен быть исключен для предохранения расширения имени файла интерпретатором shell).
Команда tset наиболее удобна, когда включается в файлы .login (для команды ) или .profile (для команды ), автоматически выполняемые при регистрации, с флагом отображения -m, используемым для определения типа терминала, который вы считаете наиболее удобным для подключения.
ОПЦИИ
-e
эта опция устанавливает соответствие между символом erase и указанным символом 'c', который по умолчанию равен Ctrl-H.
-E
этот флаг идеинтичен флагу -e, кроме того, что он используется на терминалах, которые допускают забой.
-k
эта опция устанавливает соответствие между символом kill и указанным символом 'c', который по умолчанию равен Ctrl-U. Во всех этих флагах '^X' (X - любой символ) эквивалентно Ctrl-X.
-
эта опция печатает тип терминала на стандартном устройстве вывода; это может быть использовано с целью получения информации о типе терминала; для этого наберите:
set termtypy = 'test-'
Если другие опции не заданы, команда test выполняется в быстром режиме ("fast mode") и выводит только тип терминала, пропуская все остальные данные.
-h
вынуждает команду test осуществлять поиск информации в файле /etc/ttytype и пересмотр переменной среды TERM.
-s
эта опция выводит команды setenv (если ваш интерпретатор shell по умолчанию - ) или команды назначения и команды export (если ваш стандартный shell - ). Для опции -s с интерпретатором Bourne shell наберите:
tset -s .>/tmp/tset$$ /tmp/tset$$ rm /tmp/tset$$
-S
эта опция только печатает строки, размещенные в переменной среды. Если вы используйте csh, наберите:
set noglob set term = ('tset -S .' setenv TERM $term[1] setenv TERMCAP "$term[2] unset term unset noglob
-r
эта опция высвечивает тип терминала на диагностическом устройстве вывода.
-Q
эта опция подавляет высвечивание предложений "Erase set to" и "Kill set to".
-I
эта опция подавляет вывод строк, описывающих инициализацию терминала.
-m
эта опция является флагом отображения. Она используется для определения типа терминала, который вы наиболее часто используйте. За ним следует соответствующий идентификатор вашего терминала, находящийся в файле /etc/ttytype. Когда вы подключаетесь к системе, этот флаг присваивает типу терминала значение ident, если вы не определили иначе.
ПРИМЕРЫ
tset gt42
Присваивает типу терминала значение gt42.
tset -m dialup\>300:adm3a -m dialup:dw2 -Qr -e#
Если элемент в файле /etc/ttytype, соответствующий порту регистрации, имеет имя dialup, а скорость передачи порта больше 300 бод, тип терминала будет иметь значение adm3a. Если тот-же элемент в том же файле имеет имя dialup, но скорость передачи меньше или равна 300 бод, то тип терминала будет иметь значение dw2. Символу erase присвоено значение символа #, а тип терминала (но не символ erase) высвечивается на стандартном устройстве вывода.
Если элемент файла /etc/ttytype начинается с dial, тип терминала имеет значение ti733. Если элемент начинается с plug, то команда test выдает подсказку:
TERM = (hp2621)
Если он отличается от желаемого, то наберите новый тип терминала. Если элемент - unknown, то будет выдано сообщение:
TERM = (unknown)
В любом случае символу "пробел" присвоено значение символа erase, тип терминала будет высвечен на стандартном устройстве вывода ошибок, а комбинации Ctrl-U присвоено значение символа kill.
ФАЙЛЫ
/etc/ttytype Имя порта в базе данных, содержащей типы терминалов /etc/termcap База данных, описывающая возможности те- рминала
СМ. ТАКЖЕ
, termcap(5), .
РАЗРЕШЕНИЕ
Эта утилита была разработана в Калифорнийском Университете, г.Беркли, и разрешена к использованию.