vidcontrol — утилита конфигурации и управления системной консолью

НАЗВАНИЕ

vidcontrol — утилита конфигурации и управления системной консолью

СИНТАКСИС

vidcontrol [-CdLHPpx] [-b цвет] [-c форма_курсора] [-f [размер] файл]

[-g геометрия] [-h размер] [-i adapter | mode]

[-l карта_экрана] [-M символ] [-m on | off]

[-r цвет_текста цвет_фона] [-S on | off] [-s номер]

[-t N | off] [режим] [цвет_текста [цвет_фона]] [show]

ОПИСАНИЕ

Утилита vidcontrol используется для установки различных опций драйвера

консоли syscons(4), таких как видеорежим, цвет, форма курсора, карта

экранного вывода, шрифт и время ожидания до запуска заставки экрана.

Имеются следующие опции:

режим

Выбрать новый видеорежим.  В настоящее время доступны такие

режимы: 80×25, 80×30, 80×43, 80×50, 80×60, 132×25, 132×30,

132×43, 132×50, 132×60, VGA_40x25, VGA_80x25, VGA_80x30,

VGA_80x50, VGA_80x60, VGA_90x25, VGA_90x30, VGA_90x43, VGA_90x50,

VGA_90x60, EGA_80x25, EGA_80x43, VESA_132x25, VESA_132x43,

VESA_132x50, VESA_132x60.  Также может быть выбран растровый тек-

стовый режим VESA_800x600.  Режим также можно задать другим спо-

собом, по его номеру.  Для этого используется название режима в

виде MODE_<НОМЕР>.  Список номеров доступных режимов можно полу-

чить с помощью опции -i mode.  См. ниже раздел Поддержка

видеорежимов.

цвет_текста [цвет_фона]

Изменить цвета отображаемого текста.  Задать цвет текста (напри-

мер, «vidcontrol white») или и текста, и фона (например,

«vidcontrol yellow blue»).  Список доступных цветов может быть

получен с помощью команды show, описанной ниже.

show

Показать цвета, доступные на данной платформе.

-b цвет

Установить цвет границы в указанное значение цвет.  Не любой

видео-драйвер поддерживает эту опцию.

-C

Очистить буфер истории.

-c normal | blink | destructive

Изменить форму курсора.  Курсор может быть либо блоком, инверти-

рующим цвет (normal), возможно мигающим (blink), либо выглядеть

как старый аппаратный курсор (destructive).  Последнее в действи-

тельности является эмуляцией.

-d

Напечатать текущую карту экранного вывода.

-f [размер] файл

Загрузить файл шрифта, указанного через файл, с размером, равным

значению размер (в настоящий момент доступны размеры 8×8, 8×14 и

8×16).  Файл шрифта может быть закодирован uuencode(1) или иметь

двоичный формат.  Загрузить нужный шрифт можно и через меню, с

помощью утилиты vidfont(1).

Аргумент размер можно опустить, в этом случае vidcontrol попыта-

ется определить его по размеру файла шрифта.

Следует заметить, что старые видеокарты, такие как MDA и CGA, не

поддерживают программные шрифты.  Смотрите также разделы

Поддержка видеорежимов и ПРИМЕРЫ ниже и страницу справочника

syscons(4).

-g геометрия

Установить геометрию текстового режима для режимов с настраивае-

мой геометрией.  В настоящий момент только растровые режимы,

такие как VESA_800x600, поддерживают эту опцию.  Смотрите также

разделы Поддержка видеорежимов и ПРИМЕРЫ ниже.

-h размер

Установить размер буфера истории (прокрутки вверх) равным размер

линий.

-i adapter

Показать информацию об используемом видеоадаптере.

-i mode

Показать видеорежимы, доступные на используемом оборудовании.

-l карта_экрана

Загрузить карту экранного вывода из указанного файла

карта_экрана.  См. также syscons(4).

-L

Установить карту экранного вывода, используемую по умолчанию.

-M символ

Задать значение базового символа, используемого для отрисовки

указателя мыши, равным символ.

-m on | off

Включить (on) или выключить (off) указатель мыши.  Используется

совместно с moused(8) для реализации функций копирования и

вставки в текстовом режиме.

-p

Зафиксировать текущее содержимое буфера видеопамяти терминала,

подключенного к стандартному вводу.  Утилита vidcontrol пишет

содержимое буфера видеопамяти в стандартный вывод в необработан-

ном двоичном формате.  Подробнее об этом смотрите ниже в разделе

Формат дампа буфера видеопамяти.

-P

То же, что и -p, но сохраняет содержимое буфера видеопамяти в

простом текстовом формате, игнорируя непечатаемые символы и атри-

буты символов.

-H

Используется совместно с -p или -P и указывает vidcontrol на то,

что сохранять нужно полную историю буфера видеопамяти, а не

только видимую на экране часть.

-r цвет_текста цвет_фона

Меняет цвета инвертированного режима на цвет_текста и цвет_фона.

S on | off

Разрешает или запрещает переключение между виртуальными термина-

лами (vty).  Когда переключение запрещено, попытка переключиться

на другой виртуальный терминал окончится неудачей.  (По умолчанию

переключение между терминалами разрешено.)  Эта защита легко

обходится, если ядро скомпилировано с опцией DDB.  Хотя вам пожа-

луй не стоит включать отладчик ядра на системе, которая должна

быть физически безопасной.

-s номер

Сделать виртуальный терминал, заданный аргументом номер, текущим.

-t N | off

Задать время ожидания до запуска заставки экрана равным N секунд

или отключить (off) функцию заставки.

-x

Использовать при выводы шестнадцатеричные цифры.

Поддержка видеорежимов

Следует учитывать, что не все перечисленные выше режимы могут поддержи-

ваться видеооборудованием.  С помощью опции -i mode, можно проверить,

какие из режимов поддерживаются данным видеооборудованием.

Если вы собираетесь использовать видеорежимы VESA или режимы со 132

столбцами, то необходимо либо собрать ядро с поддержкой VESA BIOS, либо

загрузить соответствующий KLD модуль ядра (см. vga(4)).

Если вы собираетесь использовать режимы VGA с 90 столбцами, необходимо

будет собрать ядро ядро с опцией VGA_WIDTH90 (см. vga(4)).

Видеорежимы, отличные от режимов с 25 и 30 строками, могут потребовать

особого размера шрифта.  Для загрузки файла шрифта в ядро используйте

описанную выше опцию -f.  Если требуемый размер шрифта не был загружен в

ядро, попытка пользователя переключиться в новый видеорежим с помощью

vidcontrol окончится неудачей.

Режимы           Размер шрифта

25 строк         8×16 (VGA), 8×14 (EGA)

30 строк         8×16

43 строк         8×8

50 строк         8×8

60 строк         8×8

Имеет смысл всегда загружать все три

размера (8×8, 8×14 и 8×16) одного и того же шрифта.

Для того, чтобы желаемые файлы шрифта автоматически загружались при

запуске системы, можно установить соответствующие переменные в

/etc/rc.conf или /etc/rc.conf.local.  Смотрите ниже.

Чтобы можно было использовать растровый текстовый режим, потребуется

пересобрать ваше ядро с опцией SC_PIXEL_MODE.  Более подробно об этой

опции ядра читайте в syscons(4).

Формат дампа буфера видеопамяти

Для фиксации текущего содержимого буфера видеопамяти утилита vidcontrol

использует ioctl(2) CONS_SCRSHOT драйвера syscons(4).  На стандартный

вывод утилита vidcontrol выдаёт версию и дополнительную информацию, а

затем содержимое буфера видеопамяти.

Видеопамять VGA обычно организована в виде пар байтов, по одной паре на

каждый символ экрана.  В каждой паре, первый байт задаёт код символа, а

второй — атрибуты цвета этого символа.

Байт атрибутов цвета VGA выглядит следующим образом:

биты                 ширина    значение

7      <X0000000>    1         мигание символа

6:4    <0XXX0000>    3         цвет фона

3      <0000X000>    1         яркий цвет текста

2:0    <00000XXX>    3         цвет текста

Ниже перечислены основные трехбитные цвета:

0       Чёрный

1       Синий

2       Зелёный

3       Морской волны

4       Красный

5       Фиолетовый

6       Коричневый

7       Белый

Основные цвета с установленным битом 3 (бит яркости текста):

0       Серый

1       Светло-синий

2       Светло-зелёный

3       Голубой

4       Светло-красный

5       Малиновый

6       Жёлтый

7       Ярко-белый

Например, два байта           65 158

означают мигающую (установлен бит 7) заглавную A (код символа 65) жёлтого

цвета (биты 3:0) на синем фоне (биты 6:4).

Выходные данные утилиты vidcontrol содержат небольшой заголовок с допол-

нительной информацией, которая может быть полезна другим утилитам, обра-

батывающим эти данные.

Первые 10 байт всегда следуют в таком порядке:

Диапазон байт    Содержимое

С 1 по 8         Строка «SCRSHOT_»

9                Номер версии формата файла

10               Оставшееся количество байт заголовка

Последующие байты зависят от номера версии.

Версия    Байт         Значение

1         11           Ширина терминала, в символах

12           Глубина терминала, в символах

13 и выше    Данные снимка экрана

Таким образом, дамп экрана размером 80×25 начинается так (в шестнадцате-

ричном формате)           53 43 52 53 48 4f 54 5f 01 02 50 19

———————— — — — —

|              |  |  |  ` Десятичное 25

|              |  |  `— Десятичное 80

|              |  `—— Ещё 2 байта заголовка

|              `——— Формат файла версии 1

`———————— Строка «SCRSHOT_»

КОНФИГУРАЦИЯ ВИДЕО

Конфигурация времени загрузки

Для конфигурации видео во время загрузки системы предусмотрены следующие

переменные, которые можно установить в /etc/rc.conf или

/etc/rc.conf.local:     blanktime    Задаёт значение времени ожидания для опции -t.

font8x16, font8x14, font8x8

Задаёт файлы шрифтов для опции -f.

scrnmap

Задаёт имя файла карты экранного вывода для опции -l.

Подробнее смотрите в rc.conf(5).   Конфигурация драйвера

Драйвер видеокарты может предоставлять вам возможность менять опции кон-

фигурации по умолчанию, такие как шрифт, чтобы вам не пришлось настраи-

вать их во время загрузки.  Подробнее об этом смотрите в документации по

драйверу видеокарты, например vga(4).

ФАЙЛЫ

/usr/share/syscons/fonts/*           файлы шрифтов.

/usr/share/syscons/scrnmaps/*        файлы карт экранного вывода.

ПРИМЕРЫ

Чтобы загрузить в ядро шрифт /usr/share/syscons/fonts/iso-8×16.fnt, запу-

стите vidcontrol так:

vidcontrol -f 8×16 /usr/share/syscons/fonts/iso-8×16.fnt

Поскольку файл шрифта находится в каталоге /usr/share/syscons/fonts,

можно сократить имя файла до iso-8×16:

vidcontrol -f 8×16 iso-8×16     Более того, вы также можете не указывать размер шрифта «8×16»:

vidcontrol -f iso-8×16     И наконец, суффикс указывающий размер шрифта также может быть опущен.  В

таком случае vidcontrol будет использовать размер шрифта, используемого в

настоящий момент:

vidcontrol -f iso     Аналогично может быть сокращено имя файла карты экранного вывода, передаваемое опции -l, если файл находится в каталоге

/usr/share/syscons/scrnmaps.

vidcontrol -l iso-8859-1_to_cp437     Упомянутая выше команда загрузит

/usr/share/syscons/scrnmaps/iso-8859-1_to_cp437.scm.

Следующая команда установит растровый текстовый режим 100×37 (использу-

ется на некоторых моделях ЖКД):

vidcontrol -g 100×37 VESA_800x600

Следующая команда фиксирует содержимое буфера видеопамяти первого вирту-

ального терминала и записывает его в файл shot.scr:

vidcontrol -p < /dev/ttyv0 > shot.scr

Следующая команда выдаст содержимое буфера видеопамяти четвёртого вирту-

ального терминала на стандартный вывод в удобочитаемом формате:

vidcontrol -P < /dev/ttyv3

СМОТРИ ТАКЖЕ

kbdcontrol(1), vidfont(1), keyboard(4), screen(4), syscons(4), vga(4),

rc.conf(5), kldload(8), moused(8), watch(8)

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *