Linux-консоль — интерфейс ядра Linux, позволяющий вводить текстовые данные с клавиатуры и отображать их на экране. Исторически, консоль стала первым интерфейсом ядра, реализованным ещё в 1991 году. Linux-консоль поддерживает так называемые виртуальные консоли — сеансы работы с консолью, между которыми можно переключаться[1]. В любой момент времени клавиатура и экран могут быть подключены только к одной из консолей, при этом вывод программы сохраняется в буфере, который отображается на экране когда соответствующая консоль выбрана. Консоль Linux, а также виртуальные консоли реализуются VT-подсистемой ядра и не зависят от пользовательского пространства.[2] В этом Linux-консоль противоположна эмулятору терминала, который является программой пользовательского пространства и обычно запускается в среде графической оболочки. Как правило после загрузки графической оболочки доступ к основной консоли отключается. Однако при желании пользователь может оставить возможность переключиться на другую виртуальную консоль.

Цель править

Linux консоль позволяет ядру и другим процессам отображать текстовые сообщения пользователю, а также получать от него введённые текстовые данные. В Linux следующие устройства могут быть использованы в качестве системной консоли: эмулятор терминала[3], физический терминал, подключенный последовательный порт[4] или USB[5], знакогенератор VGA-совместимого видеоадаптера[6], интерфейс linux framebuffer[7]. Некоторые современные дистрибутивы Linux в процессе включения компьютера во время загрузки дистрибутива показывают индикатор загрузки или графический логотип, вместо отображения linux-консоли.

Во время загрузки ядра консоль обычно используется для отображения детальной информации о процессе загрузки. Журнал загрузки включает информацию об обнаруженном железе, а также все изменения статуса загрузки ядра. После завершения загрузки ядра запускается процесс init (также отправляющий вывод на консоль), который обрабатывает загрузку остальной системы, включая запуск любых фоновых демонов.

После завершения процесса init, служит основой для работы виртуальных консолей (запускаемых по нажатию Ctrl-Alt-F1 — Ctrl-Alt-F12), каждый из которых при включении запускает процесс getty, который запускает процесс /bin/login для аутентификации пользователя. После аутентификации запускается командная оболочка.

См. также править

Примечания править

  1. Kconfig « tty « drivers - kernel/git/torvalds/linux.git - Linux kernel source tree. git.kernel.org. Дата обращения: 4 января 2021. Архивировано 7 декабря 2021 года.
  2. David Rheinsberg. Deprecating CONFIG_VT (англ.). Ponyhof (12 августа 2012). Дата обращения: 4 января 2021. Архивировано 12 ноября 2020 года.
  3. Linux Kernel Driver DataBase: CONFIG_VT_CONSOLE: Support for console on virtual terminal. cateee.net. Дата обращения: 4 января 2021. Архивировано 6 марта 2021 года.
  4. Linux Kernel Driver DataBase: CONFIG_SERIAL_CONSOLE: Support for serial port console. cateee.net. Дата обращения: 4 января 2021. Архивировано 15 января 2021 года.
  5. Linux Kernel Driver DataBase: CONFIG_USB_SERIAL_CONSOLE: USB Serial Console device support. cateee.net. Дата обращения: 4 января 2021. Архивировано 6 декабря 2020 года.
  6. Linux Kernel Driver DataBase: CONFIG_VGA_CONSOLE: VGA text console. cateee.net. Дата обращения: 4 января 2021. Архивировано 28 февраля 2021 года.
  7. Linux Kernel Driver DataBase: CONFIG_FRAMEBUFFER_CONSOLE: Framebuffer Console support. cateee.net. Дата обращения: 4 января 2021. Архивировано 20 июля 2018 года.