Содержание

Ключевые слова: Х-терминал, 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, а также лучше разобраться с особенностями настройки Х-сервера.

Пока интересно, читаем дальше!

Авторское право © Сеник Николай, 2004-2006