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 использует эти символы для определения конца строки, принятого протокола и вида символа забоя; они всегда интерпретируются как имеющие специальное значение.