tinit
Инициализация
терминала
Синтаксис:
tinit [-f файл]
[-pt] [переменная_среды=значение...]
Поддерживаемые платформы:
Neutrino
Опции:
-f файл
Конфигурационный
файл, определяющий запускаемые команды (см. далее). Значение по
умолчанию – /etc/config/ttys.
-p
Запустить
Photon.
-t
Не маскировать
сигнал подавления (SIGTSTP) в порожденном процессе.
переменная_среды=значение
Установить для указанной переменной_среды
указанное значение и добавить ее в окружение.
Описание:
Утилита tinit позволяет вызывать на устройствах
команду login (или другие
программы). Обычно утилита tinit используется
для вызова команды login на консоли
(консолях) и терминалах с последовательным интерфейсом.
Утилита tinit работает как фоновый процесс и
практически всегда запускается с помощью файла /etc/rc.d/rc.sysinit. Если файл /etc/system/config/nophoton не существует в
используемой системе, по умолчанию для запуска утилиты tinit с опцией -p используется файл rc.sysinit.
После
создания указанных программ в качестве порожденных процессов
утилита tinit ожидает
завершения любой из них. Когда выполнение одной из этих команд
завершается, утилита tinit производит
повторный вызов завершенной команды на данном устройстве.
Например,
предположим, что утилита tinit выполнила
запуск команды login на устройстве /dev/con1. После входа в систему
пользователю предоставляется командный интерпретатор. После
выполнения некоторого количества команд пользователь принимает
решение завершить работу командного интерпретатора. В этот
момент утилита tinit обнаруживает
завершение работы и запускает выполнение новой команды login на устройстве /dev/con1.
Конфигурационный
файл ttys
Для
получения информации об используемых терминальных устройствах
и командах, подлежащих запуску на этих устройствах, утилита tinit использует конфигурационный файл
(файл /etc/config/ttys или файл,
указанный пользователем с помощью опции -f). В данном файле содержатся
строки текста, в каждой из которых содержатся четыре поля,
определяющие конфигурационную информацию для одного
устройства. Например:
con1
"/bin/login" qansi-m on
Приведенные в
примере поля определяют следующие параметры:
con1
Первое поле определяет имя устройства. Если полный
путь, начинающийся с символа / (косая черта), не указан, утилита tinit добавляет к имени префикс /dev/. В рассматриваемом примере имя
устройства определяется как /dev/con1. Если требуется
указать терминал, подключенный к последовательному порту, в
данном поле можно указать значение ser1.
"/bin/login".
Во втором поле содержится строка, определяющая путь к
команде, подлежащей запуску на устройстве. В качестве такой
команды может выступать любая требуемая команда. Наиболее
часто используется команда login, как в
рассматриваемом примере по умолчанию, или photon.
qansi-m
В третьем поле
определяется тип терминала. Список доступных типов терминалов
указан в /usr/lib/terminfo.
on
В настоящее
время четвертое и последнее поле при работе утилиты tinit игнорируется. Оно предусмотрено для
возможного расширения в будущем.
Синтаксис
этого файла достаточно прост:
-
Поля можно экранировать
или оставлять неэкранированными. Экранированные поля
заключаются в двойные кавычки (").
-
Неэкранированное поле
отделяется от следующего поля одним или несколькими
пробелами. Экранированное поле отделяется от следующего
поля с помощью закрывающих кавычек, за которыми может
следовать несколько пробелов или следующее поле без
отделения пробелами.
-
Символа начала
управляющей последовательности не предусмотрено, поэтому
включить в экранированное поле двойные кавычки невозможно.
Внутри экранированных полей можно использовать одинарные
кавычки (').
Примечание. Утилита tinit
порождает все экземпляры утилиты login, поэтому любые
переменные среды, устанавливаемые этой утилитой, наследуются.
Благодаря этому командную строку tinit удобно
использовать для определения требуемых переменных среды с
помощью опций переменная_среды.
Файлы:
/etc/config/ttys
Конфигурационный
файл терминалов, используемый для утилиты tinit.