Ключевые слова: Х-терминал, linux, LTSP, Linux Terminal Server Project, терминальный linux-сервер, бездисковая станция, ПК без жесткого диска, использование старых компьютеров, diskless workstation, thin client, asplinux, использование Linux в офисе, X-terminal
XF86CONFIG_FILE– в редких случаях для Х-терминала требуется использовать файл конфигурации Х-сервера, который кардинально отличается от того, что предлагает проект LTSP. Если вы все же столкнулись с такой ситуацией, то использование такого файла действительно выход. Поместить этот файл нужно в директорию /tftpboot/lts/ltsroot/etc и дать ему соответствующее название, например, XF86Config.Unique. Теперь в параметрах Х-терминала достаточно сослаться на уникальный файл конфигурации: XF86CONFIG_FILE = XF86Config.Unique. Полезен этот файл также для экспериментов с конфигурацией Х-сервера, так как теперь вы никак не ограничены в возможностях его настройки. Единственное условие – наличие соответствующих знаний по используемым параметрам файла XF86Config.
USE_TOUCH– установив этот параметр в значение равное “Y”, вы тем самым сообщаете Х-серверу, что к Х-терминалу подключен сенсорный экран, реагирующий на прикосновение. Настройка сенсорного экрана довольно специфическая задача, поэтому она выходит за рамки данной книги (ваш покорный слуга не имел возможности на практике поиграть с настройками этих “чудо” устройств). Тем не менее для настройки работы сенсорного экрана используются следующие опции файла /opt/ltsp/i386/etc/lts.conf:
X_TOUCH_DEVICE
X_TOUCH_MINX
X_TOUCH_MAXX
X_TOUCH_MINY
X_TOUCH_MAXY
X_TOUCH_UNDELAY
X_TOUCH_RPTDELAY
Кстати, сенсорные экраны могут найти прекрасное применение в сочетании с Х-терминалами, так как последние могут быть установлены в местах, недоступных обычным компьютерам (запыленные помещения, воздействие вибраций, завышенный или заниженный температурный режим и т.д).
Следующие параметры относятся к настройке работы клавиатуры Х-терминала:
XkbTypes – здесь можно указать тип используемой клавиатуры. Значение по умолчанию “default”. Используется только в Х-сервере версии 3.3.6.
XkbCompat – определяет совместимость клавиатуры. Значение по умолчанию “default”. Используется только в Х-сервере версии 3.3.6.
XkbSymbols – набор символов для данного типа клавиатуры. Значение по умолчанию “us(pc101)”. Используется только в Х-сервере версии 3.3.6.
XkbModel – модель клавиатуры, которая используется. Значение по умолчанию “pc101”. Используется только в Х-сервере версии 3.3.6.
XkbLayout – раскладка клавиатуры. Очень важный параметр для 2-х и 3-х язычных пользователей. Значение по умолчанию “us” удовлетворит только жителей англоязычных стран и некоторых радикальных сисадминов. Для жителей Украины подойдет такая раскладка: XkbLayout = "ru_UA". Граждане России будут использовать раскладку: XkbLayout = "ru".
К сожалению, в базовой конфигурации Х-терминала LTSP отсутствует настройка таких параметров клавиатуры как XkbOptions и XkbVariant.
XkbOptions – задает дополнительные параметры работы клавиатуры. Так, при использовании нескольких раскладок клавиатуры целесообразно использовать значение данного параметра:
Option “XkbOptions” "grp:ctrl_shift_toggle,grp_led:scroll"
При котором индикатор клавиатуры “Scroll” будет показывать какой язык сейчас активный. Например, английский - индикатор выключен, русский – индикатор включен.
XkbVariant– позволяет задать режим использования Windows-совместимой клавиатуры, что, согласитесь, очень даже уместно, так как в наших магазинах вы не часто встретите клавиатуру соответствующую стандартам XFree. Наиболее популярное значение:
Option "XkbVariant" "winkeys"
Не смотря на то, что в автоматически генерируемом файла /etc/XF86Config таких параметров нет, ничто не мешает сделать их используемыми по умолчанию. Для этого достаточно знать, каким образом формируются файлы XF86Config на Х-терминалах. За автоматическое формирование файлов /etc/XF86Config отвечают два скрипта:
/opt/ltsp/i386/etc/rc.setupx – для Х-сервера версии 4.х
/opt/ltsp/i386/etc/rc.setupx3 – для Х-серверов версии 3.3.6
Открываем эти файлы и ищем раздел, посвященный клавиатуре. В файле /opt/ltsp/i386/etc/rc.setupx он должен выглядеть примерно так:
#
# Setup Keyboard and Mouse info
#
XkbLayout=`get_cfg XkbLayout`
cat <<-EOF >>${XF86CONFIG}
Section "InputDevice"
Identifier "Keyboard0"
Driver "keyboard"
Option "XkbLayout" "${XkbLayout:-"us"}"
EndSection
Как видите, довольно скудный набор параметров. Просто добавим сюда нужные строчки (для XkbVariant и XkbOptions). Теперь новый раздел настройки клавиатуры выглядит так:
#
# Setup Keyboard and Mouse info
#
XkbLayout=`get_cfg XkbLayout`
cat <<-EOF >>${XF86CONFIG}
Section "InputDevice"
Identifier "Keyboard0"
Driver "keyboard"
Option "XkbLayout" "${XkbLayout:-"us"}"
Option "XkbOptions" "grp:ctrl_shift_toggle,grp_led:scroll"
Option "XkbVariant" "winkeys"
EndSection
Аналогичные изменения вносим и в файл /opt/ltsp/i386/etc/rc.setupx3, если предполагаем использовать клиенты с Х-сервером версии 3.3.6. Так, раздел относящийся к настройке клавиатуры, в оригинальном файле выглядел следующим образом:
#
# Setup Keyboard and Mouse info
#
XkbTypes=` get_cfg XkbTypes "default"`
XkbCompat=` get_cfg XkbCompat "default"`
XkbSymbols=` get_cfg XkbSymbols "us(pc101)"`
XkbModel=` get_cfg XkbModel "pc101"`
XkbLayout=` get_cfg XkbLayout "us"`
cat <<-EOF >>${XF86CONFIG}
Section "ServerFlags"
EndSection
Section "Keyboard"
Protocol "Standard"
AutoRepeat 500 5
LeftAlt Meta
RightAlt Meta
ScrollLock Compose
RightCtl Control
XkbKeycodes "xfree86"
XkbTypes "${XkbTypes}"
XkbCompat "${XkbCompat}"
XkbSymbols "${XkbSymbols}"
XkbGeometry "pc"
XkbRules "xfree86"
XkbModel "${XkbModel}"
XkbLayout "${XkbLayout}"
EndSection
После внесения соответствующих изменений посмотрите на его новую редакцию:
#
# Setup Keyboard and Mouse info
#
XkbTypes=` get_cfg XkbTypes "default"`
XkbCompat=` get_cfg XkbCompat "default"`
XkbSymbols=` get_cfg XkbSymbols "us(pc101)"`
XkbModel=` get_cfg XkbModel "pc101"`
XkbLayout=` get_cfg XkbLayout "us"`
cat <<-EOF >>${XF86CONFIG}
Section "ServerFlags"
EndSection
Section "Keyboard"
Protocol "Standard"
AutoRepeat 500 5
LeftAlt Meta
RightAlt Meta
ScrollLock Compose
RightCtl Control
XkbKeycodes "xfree86"
XkbTypes "${XkbTypes}"
XkbCompat "${XkbCompat}"
XkbSymbols "${XkbSymbols}"
XkbGeometry "pc"
XkbRules "xfree86"
XkbModel "${XkbModel}"
XkbLayout "${XkbLayout}"
XkbOptions "grp:ctrl_shift_toggle,grp_led:scroll"
XkbVariant "winkeys"
EndSection
Такие несложные коррективы позволяют значительно улучшить автоматическую настройку Х-терминалов. После внесения изменений в файлы, необходимо их сохранить и перегрузить Х-терминал, чтобы увидеть результат воочию.
Вообще изучение структуры файла /opt/ltsp/i386/etc/rc.setupx - это прекрасный способ понять, как проект LTSP автоматически генерирует файл /etc/XF86Config, а также лучше разобраться с особенностями настройки Х-сервера.