mgettydefs − скорость и настройки терминала используемые mgetty
Файл /etc/gettydefs содержит информацию, используемую mgetty(1) для установки скорости и настроек терминала. Он так же предоставляет информацию о том, как должно выглядеть приглашение login.
Многие версии UNIX имеют версию getty(1), которая тоже читает /etc/gettydefs. И mgetty и getty ожидают файл /etc/gettydefs похожего формата, но при использовании mgetty доступны дополнительные функции. Соответственно, дополнительные опции просто игнорируются стандартным getty, поэтому эти программы могут сосуществовать, используя один и тот же файл. Но учтите, что mgetty может быть скомпилирован для использования файла отличного от /etc/gettydefs, если ваш getty конфликтует с расширениями. Эта страница руководства описывает /etc/gettydefs и дополнительные возможности, доступные при использовании mgetty(1). Этот документ будет обращаться к getty(1), за исключением тех случаев, когда поведение mgetty отличается.
Каждая запись в /etc/gettydefs имеет следующий формат:
метка# начальные−флаги # конечные−флаги # приглашение #следующая−метка
Каждая запись завершается пустой строкой. Поле приглашения может содержать символы в кавычках, которые будут преобразованы в другие значения. Последовательности и их значения:
\n |
перевод строки |
||
\r |
возврат каретки |
||
\g |
сигнал |
||
\b |
курсор назад |
||
\v |
вертикальная табуляция (VT) |
||
\f |
начало страницы |
||
\t |
табуляция |
||
\L |
имя порта |
||
\C |
время в формате ctime(3) |
||
\N |
количество зарегистрированных на данный момент пользователей. |
||
\U |
количество зарегистрированных на данный момент пользователей. |
||
\D |
дата в формате ДД/ММ |
||
\T |
время в формате чч:мм:сс |
||
\I |
атрибуты CONNECT модема |
||
\sequence |
где "последовательность" − это строка в формате strtol, например: nn |
Учтите, что стандартный getty обычно поддерживает только \b, \r и \n.
Различные поля:
метка |
Это строка, которую getty пытается сопоставить её второму аргументу. Часто это скорость, такая как 1200, на которой предполагается работать, но это не обязательно так (смотри ниже). |
начальные−флаги
Это флаги первоначальных настроек ioctl(2), которые получит терминал, если тип терминала не указан getty. Флаги, которые понимает getty, перечислены в termio(7). mgetty обычно собирается с termios(7) и часто содержит более полные настройки, чем getty.
Обычно в начальных флагах необходим только флаг скорости.
getty автоматически переключит терминал в режим необработанного ввода и позаботится о других флагах. Если используется опция "−s" mgetty(1), установки скорости будут проигнорированы. Начальные флаги настройки остаются в силе пока getty выполняет login(1).
конечные−флаги |
Эти флаги имеют те же значения что и начальные−флаги и устанавливаются непосредственно перед тем getty выполнит login. Опять требуется флаг скорости, если только mgetty не запущен с ключом −s. Два других обычно указываемых конечных−флага − это TAB3, так что символы табуляции отправляются на терминал как пробелы, и HUPCL, который вешает "трубку" линии при окончательном закрытии. |
||
приглашение |
Это поле записи печатается как приглашение ко входу в систему. В отличии от указанных выше полей, где разделительные символы (пробелы, табуляции и знаки новой строки) игнорируются, здесь они входят в поле ввода входа в систему. Это поле игнорируется если mgetty(8) указана опция "−p". |
следующая−метка
Указывает метку, которая используется, если пользователь печатает символ <break> или getty обнаруживает ошибку приёма. getty ищет запись содержащую в поле "метка" значение "следующая−метка" и настраивает терминал в соответствии с этими настройкам. Обычно, последовательность скоростей связана таким образом, что они образуют замкнутое множество. Например, 2400 связана с 1200, которая в свою очередь связана с 300, которая, наконец, связана с 2400. следующая−метка игнорируется mgetty(8).
Несколько дополнительных составных настроек доступны для начальных−флагов и конечных−флагов. Следующие составные флаги поддерживаются mgetty и обычно поддерживаются getty:
SANE |
Аналогично "stty sane". (BRKINT, IGNPAR, ISTRIP, ICRNL, IXON, OPOST, CS8, CREAD, ISIG, ICANON, ECHO, ECHOK) |
||
ODDP |
Нечётный паритет (CS7, PARENB, PARODD) |
||
PARITY,EVENP |
Чётный паритет (CS7, PARENB) |
−ODDP,−PARITY,−EVENP
Нет паритета (сбрасывает PARENB, PARODD, и устанавливает CS8)
RAW |
Не обрабатываемый ввод−вывод (без канонической обработки) (отключает OPOST, ICANON) |
||
−RAW,COOKED |
Включает каноническую обработку (включает OPOST, ICANON) |
||
NL |
Игнорировать переводы строк. (ICRNL, ONLCR) |
||
−NL |
Обрабатывать переводы строк (выключает INLCR, IGNCR, ICRNL, ONLCR, OCRNL, ONLRET) |
||
LCASE |
Игнорировать регистр − обрабатывать все символы, как символы в нижнем регистре. (IUCLC, OLCUC, XCASE) Устанавливать это, если mgetty полагает, что имя пользователя полностью в верхнем регистре. |
||
−LCASE |
Обрабатывать регистр (выключает IUCLC, OLCUC и XCASE) |
||
TABS |
Выводить табуляции как табуляции |
||
−TABS,TAB3 |
Выводить табуляции как пробелы |
||
EK |
Устанавливает VERASE в "#" и VKILL в CKILL соответственно. (Учтите, что во многих getty VERASE установлен в "#" по умолчанию. mgetty по умолчанию VERASE установлен в символ забоя.) |
В дополнение, mgetty (но не getty) может устанавливать управляющие символы, перечисленные в структуре c_cc termio(termios), используя два поля:
<имя символа> <значение>
Например:
VERASE ^h
Значение должно быть установлено как "^<символ>", "\nnn" или "\<символ>" (обычный UNIX экранирующие последовательности \).
Смотри страницы руководства termio(7) и termios(7), чтобы найти список переменных "V", которые можно изменить. Учтите, что многие из них могут быть изменены в массиве c_cc, но не окажут какого−либо эффекта.
Если getty вызван без второго аргумента, getty использует первую запись в /etc/gettydefs, таким образом первая запись в /etc/gettydefs является записью по умолчанию. Она так же используется getty, если указанная метка не может быть найдена. mgetty использует метку по умолчанию "n", но это может быть изменено с помощью настроек. Если /etc/gettydefs отсутствует, существует одна запись, встроенная в команду, которая настраивает терминал на 300 бод (параметр настройки mgetty).
Настоятельно рекомендуется после создания или изменения /etc/gettydefs, пропустить его через mgetty, чтобы проверить опций и удостовериться в отсутствии ошибок.
Две следующие строки показывают пример переключения между 300/1200 бодами, которые полезны для портов dial−up:
1200# B1200 HUPCL # B1200 SANE IXANY TAB3 #login: #300
300# B300 HUPCL # B300 SANE IXANY TAB3 #login: #1200
Следующия строка показывают обычную запись для 9600−бодового проводного соединения (в настоящее время не поддерживается mgetty):
9600# B9600 # B9600 SANE IXANY IXANY ECHOE TAB3 #login: #9600
Следующая строка типична для настройки умного модема и пригодна для mgetty:
19200mg#
B19200 #
B19200 SANE VERASE \b VINTR \003 HUPCL #
\n\D \T \N Users @!login: #19200mg
/etc/gettydefs
mgetty(8), getty(8), login(1), ioctl(2), termio(7), termios(7).
Перевод выполнен на сайте коллективных переводов http://translated.by. Авторы перевода Олег Безначев aka saturn721, Владимир Ступин <vladimir@stupin.su>.