НАИМЕНОВАНИЕ
console, keyboard, log - системная консоль
ОПИСАНИЕ
Драйвер TTY управляет двумя устройствами, связанными с главным
интерфейсом пользователя, системным экраном и клавиатурой.
Вместе они составляют "Консоль".
Экран
Экран ПК может управляться при помощи Monochrome Display
Adapter, Hercules card, Color Graphics Adapter, Enhanced
Graphics Adapter, или Video Graphics Array. В драйвере
консоли эти устройства представлены как блок видео памяти в
который могут быть записаны значения и отображены, регистр
ввода/вывода устанавливающий видеопамять на отображение
символа, который должен быть отображен в главной-левой
позиции экрана и регистра ввода/вывода, который
устанавливает позицию аппаратного курсора.
Каждый символ в пределах видеопамяти - двухбайтовое слово.
Низший байт представляет собой символьный код, и высший байт
является "приписывающим байтом", который управляет способом
отображения символа и его цветом, а также цветом фона, или
видео интенсивности/четкости/изменения для монохромного
видео.
Это характеристики адаптеров в текстовом режиме:
Адаптер Используемая память Моно/Цв
MDA 4K M
Hercules 4K M
CGA 16K C
EGA 32K M or C
VGA 32K M or C
Драйвер консоли для MDA и Hercules такой же, поскольку
графический режим Hercules не используется в MINIX 3. EGA и
VGA также ведут себя одинаково в текстовом режиме.
EGA адаптер может быть или монохромным или цветным, это
зависит от экрана прилагаемого к нему. VGA адаптер может
быть запущен как в монохромном, так и в цветном режиме, в
зависимости от того, как его инициализировал Монитор
Начальной Загрузки (Boot Monitor).
Драйвер проверяет источник видео, чтобы избежать копирования
содержимого экрана при прокрутке вниз, перемещая при этом
лишь одну линию. Это называют "прокруткой аппаратных
средств", в противоположность копированию памяти ("прокрутка
программного обеспечения").
Источник видео также используется, чтобы запустить несколько
виртуальных консолей в видеопамяти адаптера. Каждая из
этих виртуальных консолей получает свою часть видеопамяти.
Драйвер определяет какая консоль будет задействована и
перемещает источник видео. Обратите внимание, что MDA или
адаптер Hercules могут поддерживать только одну консоль.
CGA может поддержать до четыре консолей 80x25, а EGA и VGA
могут иметь восемь. Наилучший вариант, конфигурировать на
одну консоль меньше чем это возможно, чтобы оставить
некоторую видеопамять свободной для использвания аппаратными
средствами.
Символьные коды используются как индексы в экранном шрифте,
который сохранен в адаптере. Заданный по умолчанию
шрифт - IBM набор символов, который является набором
символов ASCII в низших 128 кодах, и множестве
математической, греческой, непонятной графики, и символах с
диакритическим знаком в высших 128 кодах. Этот шрифт
установлен в MDA, Hercules и CGA адаптерах, но может быть
заменен пользователем, выбрав шрифт для адаптеров VGA и
EGA.
Множество символов управления и управляющих последователь-
ностей осуществляются при помощи драйвера. Как результат,
совместимость с терминалом стандарта ANSI. Termcap(5) - тип
используемый в minix. Нормальное отображение символов
консолью, когда они в позиции курсора и курсор продвинут на
один столбец правее. Данные на экране будут прокручены, если
необходим запуск новой строки. Некоторые символы имеют
специальные эффекты, когда они посланы на консоль. Некоторые
даже имеют отображаются в форме запятой, отделяющей
десятичные числа. Верхний левый символ в позиции (1, 1).
Ниже приведены символы управления и управляющие
последовательности доступные в консоли:
Последовательность Наименование Функция
^@ Null Игнорируемый (дополняющий символ)
^G Bell производит короткий сигнал из динамика "спикера"
^H Backspace перемещает курсор обратно на один столбец, левее.
^I Horizontal Tab перемещает курсор к следующей позиции табуляции.
^J Line Feed перемещает на одну строку вниз, используя прокрутку при необходимости.
^K Vertical Tab тоже самое что и LF
^L Form Feed тоже самое что и LF
^M Carriage Return обозначает перевод каретки. Перемещает в столбец 1.
^[ Escape начало управляющей последовательности
^[M Reverse Index переход на одну строку выше, прокрутка при необходимости
^[[nA Cursor Up перемещает курсор вверх на n строк
^[[nB Cursor Down перемещает курсор вниз на n строк
^[[nC Cursor Forward перемещает курсор вправо на n столбцов
^[[nD Cursor Backward перемещает курсор влево на n столбцов
^[[m;nH Cursor Position перемещает курсор на строку m,и столбец n
^[[sJ Erase in Display Очищает символы следующим образом:
s = 0: от курсора до конца экрана
s = 1: от начала экран до позиции курсора
s = 2: весь экран
^[[sK Erase in Line Очищает символы следующим образом:
s = 0: от курсора до конца строки
s = 1: от начала строки до позиции курсора
s = 2: вся строка
^[[nL Insert Lines вставляет n пустых строк
^[[nM Delete Lines удаляет n строк
^[[n@ Insert Characters вставляет n пустых символов
^[[nP Delete Characters удаляет n символов
^[[nm Character Attribute устанавливает символу следующие атрибуты:
n = 0: нормальный (по умолчанию)
n = 1: полужирный (высокоинтенсивный цвет)
n = 4: подчеркивание (моно) / Циан (цвет)
n = 5: мигание
n = 7: обратное видео (reverse)
n = 30: на черном фоне
n = 31: красный
n = 32: зеленый
n = 33: коричневый
n = 34: синий
n = 35: фуксин
n = 36: циан
n = 37: светло серый
n = 39: цвет по умолчанию (светло серый)
n = 40-47: то же самое для фонового цвета
n = 49: по умолчанию (черный)
Примечание: в версии "полужирный" черным, коричневый и
светло серый - становятся темно серым, желтым и белым.
Копирование шрифта в память на адаптерах VGA и EGA:
ioctl(fd, TIOCSFON, u8_t font[256][32]);
Память шрифта представляет собой 256 символов в 32 строки и
8 пикселей на строку. Первая строка - главная символьная
строка. Крайний левый символ подсвечивается, если
установлен главный самый существенный бит и т.д. Сколько
строк используется, зависит от текущего видео режима. Видео
режим используемый в MINIX 3 80x25 имеет 8x16 символов в
ячейке, 80x28 имеет 8x14 символов, и 132x43 или 132x50
имеет 8x8 символов. Переменная загрузки консоли
используется и Boot Monitor ("Монитор Загрузки")и драйвером
консоли для того, чтобы установить видео режим, программную
прокрутку ("скроллиг") on/off, и VGA экран временного
простоя. См. boot(8).
Клавиатура
Клавиатура выполняет ключевые коды для каждой нажатой
клавиши. Нажатие клавиш преобразуется в символьные коды
или последовательности согласно текущей таблице перевода
клавиатуры. Формат этой таблицы описан в keymap(5).
Символьные коды могут заданы ("прочитаны") консолью, если
не были использованы специальные клавиши быстрого вызова.
Ниже приведены примеры сочетания клавиш:
Клавиши Назначение клавиш
CTRL-ALT-DEL Посылает сигнал аварийного завершения
работы системы
CTRL-ALT-KP-. аналогично времени дополнительной клавиатуры
F1 дамп таблицы процесса
F2 показать карту памяти
F3 переключатель программная/аппаратная прокрутка
F5 показать сетевую статистику
CTRL-F7 посылает сигнал выхода всем процесам в консоли
CTRL-F8 посылает сигнал прерывания
CTRL-F9 посылает сигнал убить процесс. При условии
что не будет получен сигнал от CTRL-F8 или
CTRL-F7, эта комбинация клавиш отменит сигнал.
Обычно использование DEL и CTRL-\, чтобы
послать сигнал выхода и прерывания.
ALT-F1 выбрать виртуальной консоли 0 (/dev/console)
ALT-F2 выбрать виртуальной консоли 1 (/dev/ttyc1)
ALT-F(n+1) выбрать виртуальную консоль n (/dev/ttycn)
ALT-Left выбрать предыдущую виртуальную консоль
ALT-Right выбрать следующую виртуальную консоль
Карта клавиатуры установлена с KIOCSMAP и все необходимые
настройки скрыты в утилите loadkeys.
Устройство регистрирования ("лог процессов" )
Устройство регистрирования может использоваться процессами, чтобы
затем отображать сообщения об отладке в консоли. Устройство
регистрирует все процесс происходящие во время сеанса.
СМ. ТАКЖЕ
tty(4), loadkeys(1), keymap(5), boot(8).
ПРИМЕЧАНИЕ
Процесс вывода превращает Line Feeds в CR LF последовательности.
Не допустите этому удивить вас. Или выключите обработку вывода или
используйте один из синонимов для LF.