VIDCONTROL(1) Справочник основных команд FreeBSD VIDCONTROL(1)
НАЗВАНИЕ
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 1 мигание символа
6:4 3 цвет фона
3 1 яркий цвет текста
2:0 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
Различные утилиты scr2* в категориях graphics и textproc из коллекции
портов.
АВТОРЫ
Sren Schmidt
Sascha Wildner
ПОМОЩНИКИ
Maxim Sobolev, Nik Clayton
FreeBSD 7.3 23 декабря 2006 FreeBSD 7.3
http://www.freebsd.org.ua/man/vidcontrol.1.html