== Интерактивный режим работы

Некоторым шагам *altboot* требуется интерактивное взаимодействие с
пользователем. Перед такими шагами следует включать шаг *fg*, даже
если никаких диалогов в результате работы не будет выведено. По
умолчанию интерактивная консоль находится на втором терминале (*tty2*).
В *bootchain* авто-переключение на интерактивную консоль отложено на
(BC_FGVT_ACTIVATE=7)+1, т.е. по умолчанию на 8 секунд без *bc_debug*
или на 2 секунды с включённым *bc_debug*. Переключение выполняется
немедленно по нажатию *Alt-F2* или автоматически: а) при появлении
диалога ввода; б) по истечении заданного таймаута.

При автоматической активации интерактивной консоли прогресс бар
*plymouth* временно отключается. Можно его убрать вручную, нажав
клавишу *Esc*. Он возобновляется автоматически при завершении работы
демона в интерактивном режиме. При появлении ошибок или диалогов ввода
в интерактивном режиме отслеживание глобального таймаута make-initrd
(*ROOTDELAY*) приостанавливается, а после закрытия таких диалогов
*ROOTDELAY* переустанавливается в значение по умолчанию (180 секунд)
и отслеживание глобального таймаута возобновляется.

Есть три параметра загрузки для управления интерактивным взаимодействием:

* *nolines* (флаг) — Запрещает в диалогах вывод линий символами
  псевдографики. Полезно, если в системе нет шрифтов для их поддержки.
  В этом случае линии выводятся символами из обычного набора ASCII.
* *noaskuser* (флаг) — Запрещает диалоги ввода. Обычные сообщения и сообщения
  об ошибках также являются диалогами ввода, поскольку требуют реакции
  пользователя. Использование данного параметра приведёт к фатальной
  ошибке в коде, который попытается открыть диалог ввода. Поэтому altboot
  написан таким образом, чтобы учитывать данный параметр и если ввод
  запрещён, ограничиваться, по возможности, выводом сообщений в журнал.
* *console* (строка, ядерный) — Большинство его значений приводит к
  тому же эффекту, что и параметр «noaskuser», журнал на tty3 не выводится,
  вся работа выполняется на единственном терминале /dev/console.

Запретить вывод таких виджетов, как *gauge* (прогресс бар) или основанного
на нём *ponder* (бесконечный процесс), нельзя, но если загрузка происходит
очень быстро, то по умолчанию этих диалогов пользователь даже не заметит,
так как переключение на интерактивную консоль отложено обычно на 8 секунд,
в которые укладывается даже самая медленная загрузка в stage1. К тому же
они являются диалогами вывода, так что, даже если пользователь их увидит,
он не сможет как-либо повлиять на процесс загрузки.

См. также:

* https://bugzilla.altlinux.org/30472
* https://bugzilla.altlinux.org/41521
* https://bugzilla.altlinux.org/41097
* https://bugzilla.altlinux.org/41096
* https://bugzilla.altlinux.org/48448

