GETTY(1M)
НАЗВАНИЕ
getty - установка типа терминала, его характеристик и
режима работы с линией
СИНТАКСИС
/etc/getty [-h] [-t время_ожидания] линия
[скорость [тип_терминала [режим_работы_с_линией]]]
/etc/getty -c файл
ОПИСАНИЕ
Программа getty запускается процессом init(1M) и обслуживает вторую стадию процедуры входа пользователя в
систему (init - getty - login - shell). Программа getty
может быть выполнена только суперпользователем, то есть
процессом, имеющим в качестве идентификатора пользователя root. Сначала getty выводит на экран поле приглашения из используемой строки файла /etc/gettydefs, затем читает входное имя пользователя и запускает программу login(1), передавая ей это имя в качестве аргумента. Во время чтения имени getty пытается приспособиться к типу и скорости терминала, используя аргументы командной строки.
Аргументам программы getty приписан следующий смысл:
- линия
- Имя терминальной линии, к которой программа getty
должна подключиться; используется как имя файла в
каталоге /dev. Этот файл открывается на чтение и
запись.
- -h
- Если опция -h не указана, то getty принудительно
освободит линию, установив скорость передачи равной нулю, и только затем установит подразумеваемую или заданную скорость.
- -t время_ожидания
- Программа getty завершится, если файл, соответствующий линии, будет успешно открыт, но в течение указанного времени_ожидания (в секундах) в линию не поступит ни одного символа.
- скорость
- Необязательный аргумент - метка описания скорости
и характеристик терминала в файле /etc/gettydefs.
Это описание дает getty информацию о начальной
скорости, о виде приглашения при входе в систему,
о начальных характеристиках терминала, а также о
том, какую скорость попробовать, если данная не
удовлетворила пользователя (о чем он сообщил, нажав клавишу прерывания). Подразумеваемая скорость - 300 бод.
- тип_терминала
- Необязательный аргумент - цепочка символов, задающая тип терминала, подсоединенного к линии. Программа getty распознает только один тип - none (который является и подразумеваемым), что означает
любой терминал, неизвестный системе. Чтобы тип_терминала играл какую-либо роль, в систему должны быть включены подпрограммы обслуживания виртуальных терминалов. Они доступны, но по умолчанию в систему не включаются.
- режим_работы_с_линией
- Необязательный аргумент - цепочка символов, задающая режим работы с линией. Теоретически режимы могут быть разными, но в настоящее время доступен только один, подразумеваемый режим LDISC0.
- -c файл
- Опция проверки корректности. Указанный файл просматривается, как если бы это был файл /etc/gettydefs, и результаты просмотра поступают на стандартный вывод. Если при этом обнаруживаются какие
либо ошибки, то выдаются соответствующие сообщения. Если строки файла корректны, то выводятся
значения флагов [см. ioctl(2) по поводу их интерпретации]. Заметим, что некоторые значения добавляются к флагам автоматически.
Если не указан ни один из необязательных аргументов,
программа getty устанавливает скорость в 300 бод,
бесструктурный режим (реакция на каждый символ), без
отображения вводимых символов, без контроля четности,
символы перевода строки будут заменяться последовательностью (возврат каретки, переход к новой строке) и символы табуляции будут заменяться пробелами при выдаче их
на стандартный вывод. Затем getty выдает приглашение и
приступает к посимвольному вводу входного имени пользователя. Если будет получен символ с нулевым кодом (или произойдет нарушение протокола), делается вывод, что
пользователь нажал клавишу прерывания. В результате
getty произведет попытку использовать следующее значение скорости из серии доступных значений, определенных в файле /etc/gettydefs.
Ввод входного имени пользователя должен завершаться нажатием клавиши перевода строки или возврата каретки. В последнем случае устанавливается соотвестствующая трактовка системой символа возврата каретки [см. ioctl(2)].
Имя пользователя просматривается на предмет наличия в
нем малых букв; если таковых нет и имя не пусто, система в дальнейшем будет преобразовывать все большие буквы в малые.
Наконец, программа getty выполняет системный вызов
exec(2) и заменяется программой login с входным именем
пользователя в качестве аргумента. После имени пользователя могут быть введены дополнительные аргументы, которые будут переданы программе login, и та поместит их
в окружение [см. login(1)].
ФАЙЛЫ
/etc/gettydefs Файл с данными о скорости обмена и ха-
рактеристиками терминалов.
/etc/issue Файл, содержимое которого выдается пе-
ред приглашением к входу в систему.
СМ. ТАКЖЕ
init(1M), tty(7).
ct(1C), login(1) в Справочнике пользователя.
ioctl(2), gettydefs(4), inittab(4) в Справочнике программиста.
СЮРПРИЗЫ
Хотя getty в принципе поддерживает соглашение об экранировании одиночных символов, на некоторые управляющие
символы соглашение не распространяется. Так, при входе
в систему символы #, @, /, !, _, забой, CTRL+U, CTRL+D
и & нельзя употреблять во входном имени или дополнительных аргументах. Программа getty использует эти символы для определения конца строки, принятого протокола
и вида символа забоя; они всегда интерпретируются как
имеющие специальное значение.