Содержание
В версиях NetBSD ниже 1.4 пользователь мог выбрать между различными драйверами для клавиатуры и экрана. Это pccons (для платформ i386) и pcvt. Начиная с NetBSD 1.4 введен новый мультиплатформенный драйвер wscons, в настоящее время из старых поддерживается только pccons, поскольку требует меньше системных ресурсов и обладает скромными размерами. pccons используется в инсталляционных дискетах.
Wscons является стандартным драйвером консоли NetBSD. Он поддерживает виртуальные экраны для платформы i386, национальные раскладки, мышь и т.д. Возможности wscons отличаются в зависимости от платформы, больше всего возможностей у реализации для i386.
Количество предустановленых виртуальных консолей определяется следующей опцией.
options WSDISPLAY_DEFAULTSCREENS=4
Другие консоли можно добавить, прописывая соответствующие
строки в файле /etc/wscons.conf:
удалите знак комментария (#) перед строкой, начинающейся
с «screen x». В примере ниже мы добавим пятый
виртуальный терминал к четырем имеющимся:
# screens to create # idx screen emul #screen 0 - vt100 screen 1 - vt100 screen 2 - vt100 screen 3 - vt100 screen 4 - - #screen 4 80x25bf vt100 #screen 5 80x50 vt100
Скрипт rc.wscons транслирует каждую
незакомментированную строку в команду
wsconscfg: столбцы соответствуют параметрам
вызова. Столбец idx соответствует
опции index, screen
- параметру -t type (определяющему число
строк/столбцов, цвет и т.д) и emul
указывает параметр -e emul, определяющий
тип эмулируемого терминала. Для примера:
screen 3 - vt100
Будет преобразовано в:
wsconscfg -e vt100 3
Пожалуйста, обратите внимание на возможность конфликта
между консолями, определенными в ядре и консолями,
определяемыми в период начальной загрузки с помощью
/etc/wscons.conf. Если во время загрузки
возникла попытка определения существующего терминала, то
будет отображено следующее сообщение:
wsconscfg: WSDISPLAYIO_ADDSCREEN: Device busy
Для решения этой проблемы просто закомментируйте
соответствующую строку в
/etc/wscons.conf.
Виртуальные консоли также должны быть указаны как
активные в файле /etc/ttys, так как
NetBSD использует getty(8) для запроса логина. Для
примера:
console "/usr/libexec/getty Pc" pc3 off secure ttyE0 "/usr/libexec/getty Pc" vt220 on secure ttyE1 "/usr/libexec/getty Pc" vt220 on secure ttyE2 "/usr/libexec/getty Pc" vt220 on secure ttyE3 "/usr/libexec/getty Pc" vt220 off secure ...
Когда стартует сервер X, он ищет виртуальный терминал
без запущенной getty(8), то есть, необходимо иметь
одну консоль, помеченную как "off" в /etc/ttys.
Строка
ttyE3 "/usr/libexec/getty Pc" vt220 off secure
в /etc/ttys используется для старта
X в этом примере. Для того, чтобы указать консоль, отличную
от 4, необходимо передать серверу X параметр
vtn, где n
- номер функциональной клавиши, используемой для переключения
на терминал с X.
Для примера, определим «screen 7» в файле
/etc/wscons.conf и X будем запускать
на «vt8». Если Вы используете
xdm, то Вы должны отредактировать
файл /usr/X11R6/lib/X11/xdm/Xserver.
Например:
Когда стартует сервер X, он ищет виртуальный терминал
без запущенной getty(8), то есть, необходимо иметь
одну консоль, помеченную как "off" в /etc/ttys.
Строка
:0 local /usr/X11R6/bin/X +kb dpms -bpp 16 dpms vt8
Для xdm3d путь отличается:
/usr/X11R6/share/xdm3d/Xservers.
Режим 50 строк может использоваться, начиная с версии
1.4.1 NetBSD. Этот режим активируется в
/etc/wscons.conf, просто раскомментируйте
следующую строку:
font ibm - 8 ibm /usr/share/pcvt/fonts/vt220l.808
Измените и соответствующие строки:
#screen 0 80x50 vt100 screen 1 80x50 vt100 screen 2 80x50 vt100 screen 3 80x50 vt100 screen 4 80x50 vt100 screen 5 80x50 vt100 screen 6 80x50 vt100 screen 7 80x50 vt100
В этой конфигурации определяется восемь экранов, доступ
к которым может быть получен с помощью комбинации клавиш
Ctrl-Alt-Fn (где n
изменяется от 1 до 8), соответствующими устройствами будут
ttyE0..ttyE7. Для получения приглашения на вход в систему
на этих терминалах необходимо внести изменения в
/etc/ttys:
ttyE0 "/usr/libexec/getty Pc" vt220 on secure ttyE1 "/usr/libexec/getty Pc" vt220 on secure ttyE2 "/usr/libexec/getty Pc" vt220 on secure ttyE3 "/usr/libexec/getty Pc" vt220 on secure ttyE4 "/usr/libexec/getty Pc" vt220 on secure ttyE5 "/usr/libexec/getty Pc" vt220 on secure ttyE6 "/usr/libexec/getty Pc" vt220 on secure ttyE7 "/usr/libexec/getty Pc" vt220 on secure
Не представляется возможным изменить режим 80x25 на screen 0, что гарантирует наличие рабочего терминала в случае проблем.
Wscons позволяет установить национальную раскладку клавиатуры. Например, для итальянской это будет выглядеть так:
#wsconsctl -k -w encoding=itencoding -> it
Эти установки будут действовать до следующей перезагрузки.
Для внесения постоянных изменений добавьте строку
«encoding» в
/etc/wscons.conf:
#cp /etc/wscons.conf /etc/wscons.conf.orig#echo encoding it >>/etc/wscons.conf
Обратите внимание на то, что символов «>» именно два. Если Вы укажете один символ «>», то Вы перезапишете файл одной строкой. Не забывайте делать копии системных файлов перед их редактированием!
Полный список доступных раскладок находится в
/usr/src/sys/dev/wscons/wsksymdef.h:
be - Belgian
de - German
dk - Danish
es - Spanish
fr - French
hu - Hungarian
it - Italian
jp - Japanese
no - Norwegian
pl - Polish
pt - Portugese
ru - Russian
sf - Swiss French
sg - Swiss German
sv - Swedish
ua - Ukrainian
uk - UK-English
us - US-English
В консоли wscons существует возможность выделять(cut) текст курсором мыши при нажатой кнопке и вставлять(paste) его нажатием другой кнопки. Для активации cut&paste в wscons Вам понадобится включить его поддержку в ядре, так как по умолчанию она отключена. Необходимо наличие этой строки:
options WSDISPLAY_CHARFUNCS # mouse console support
Будьте внимательны, так как эта
опция не работает с совместно с
VGA_RASTERCONSOLE. Следуйте инструкциям
в Глава 28, Компиляция ядра для перекомпиляции
ядра.
После установки ядра включим "wsmoused" в
/etc/rc.conf и запустим:
#echo wsmoused=yes >>/etc/rc.conf#sh /etc/rc.d/wsmoused start
Теперь можно использовать мышь для выделения текста
левой кнопкой и вставки его правой. Для более точной
настройки читайте wsmoused(8). Также рекомендуем
ознакомиться с wsmoused.conf(5), где описывается файл
конфигурации. Пример файла можно посмотреть в
/usr/share/examples/wsmoused.
Вы можете использовать скроллинг в консолях wscons,
скомпилировав ядро с опцией
WSDISPLAY_SCROLLSUPPORT. Убедитесь, что
опция VGA_RASTERCONSOLE не активирована!
Следуйте инструкциям в Глава 28, Компиляция ядра для
перекомпиляции ядра.
Когда у Вас запущено ядро с опцией
WSDISPLAY_SCROLLSUPPORT, Вы можете
пролистывать экран с помощью клавиш SHIFT + PAGE UP/DOWN.
Обратите внимание, что это не работает на системной консоли
(ttyE0)!
pccons - это простой эмулятор терминала. Он может быть найден на загрузочной дискете для i386. Единственным его преимуществом является малый размер.
Для его активации внесите в файл конфигурации ядра следующую строку:
pc0 at isa? port 0x60 irq 1 # pccons generic PC console driver
Также Вы можете определить опции для компиляции с раскладкой клавиатуры, отличающейся от английской:
# Keyboard layout configuration for pccons #options FRENCH_KBD #options FINNISH_KBD #options GERMAN_KBD #options NORWEGIAN_KBD
Раскомментируйте соответствующую строку, затем следуйте инструкциям в Глава 28, Компиляция ядра для перекомпиляции ядра.
В общих случаях необходимости в использовании pccons нет, все Ваши потребности должен удовлетворить wscons.