Содержание

Ключевые слова: Х-терминал, linux, LTSP, Linux Terminal Server Project, терминальный linux-сервер, бездисковая станция, ПК без жесткого диска, использование старых компьютеров, diskless workstation, thin client, asplinux, использование Linux в офисе, X-terminal

Типовые конфигурации клиентов

Настройка графической подсистемы Х-терминала – всегда привязана к аппаратному обеспечению. Следовательно, здесь не столько теории сколько практики. Из всего множества выпущенного в мире компьютерного оборудования у конечного пользователя присутствует, как правило, лишь ничтожная его часть. Так, например, если ваш старый персональный компьютер был куплен между 1996 и 1997 годом, то с большой степенью вероятности можно утверждать, что он оснащен видеоадаптером с интерфейсом PCI и чипсетом от s3. И таких примеров достаточно много. Поэтому целью данного раздела является описание наиболее типичных конфигураций реальных Х-терминалов. Итак, приступим.

Клавиатура

Никаких специальных приемов настройки не требует. Достаточно указать тип раскладки, например, XkbLayout = "ru".

“Мышка” подключенная к порту PS/2 треx кнопочная без скроллера:

X_MOUSE_PROTOCOL   = "PS/2"
X_MOUSE_DEVICE     = "/dev/psaux"
X_MOUSE_BUTTONS    = 3

“Мышка” подключенная к порту PS/2 двуx кнопочная без скроллера:

X_MOUSE_PROTOCOL   = "PS/2"
X_MOUSE_DEVICE     = "/dev/psaux"
X_MOUSE_BUTTONS    = 2
X_MOUSE_EMULATE3BTN = Y

“Мышка” подключенная к порту PS/2 двух кнопочная со скроллером:

X_MOUSE_PROTOCOL   = "IMPS/2"
X_MOUSE_DEVICE     = "/dev/psaux"
X_MOUSE_BUTTONS    = 2

“Мышка” подключенная к COM-порту (COM1) без скроллера (3 кнопки):

X_MOUSE_PROTOCOL   = "Microsoft"
X_MOUSE_DEVICE     = "/dev/ttyS0”
X_MOUSE_BUTTONS    = 3

“Мышка” подключенная к COM-порту (COM2) без скроллера (2 кнопки c эмуляцией нажатия третьей):

X_MOUSE_PROTOCOL   = "Microsoft"
X_MOUSE_DEVICE     = "/dev/ttyS1”
X_MOUSE_BUTTONS    = 2
X_MOUSE_EMULATE3BTN = Y

“Мышка” подключенная к COM-порту (COM1) со скроллером (2 кнопки):

X_MOUSE_PROTOCOL   = "IntelliMouse"
X_MOUSE_DEVICE     = "/dev/ttyS0”
X_MOUSE_BUTTONS    = 2

“Мышка” подключенная к USB-порту со скроллером (2 кнопки):

MODULE_01        = usb-uhci
MODULE_02        = mousedev
MODULE_03        = usbmouse
X_MOUSE_PROTOCOL = "IMPS/2"
X_MOUSE_DEVICE   = /dev/input/mice
X_MOUSE_BUTTONS    = 2

Разрешение для ЭЛТ-монитора с диагональю 15” (800х600):

X_MODE_0        = 800x600

Разрешение для ЭЛТ-монитора с диагональю 17” (1024х768):

X_MODE_0        = 1024х768

Разрешение для ЭЛТ-монитора с диагональю 19” (1280х1024):

X_MODE_0        = 1280х1024

Разрешение для LCD-монитора с диагональю 15” (1024х768):

X_MODE_0        = 1024x768

Разрешение для ЭЛТ-монитора с диагональю 17” (1280х1024):

X_MODE_0        = 1280х1024

Глубина цвета HiColor (16 бит):

X_COLOR_DEPTH   = 16

Глубина цвета TrueColor (24 бита):

X_COLOR_DEPTH   = 24

Глубина цвета TrueColor (32 бита):

X_COLOR_DEPTH   = 32

Горизонтальная и вертикальная частоты разверстки для ЭЛТ-монитора с диагональю 17”:

X_HORZSYNC         = "30-96"
X_VERTREFRESH      = "50-160"

Запрет аппаратной акселерации (иногда помогает избавиться от артефактов):

X_DEVICE_OPTION_01 = "noaccel"

Работа в режиме VESA:

XSERVER           = vesa

Х-сервер для большинства видеоадаптером на чипсете s3:

XSERVER           = XF86_S3

Х-сервер SVGA версии 3.3.6:

XSERVER           = XF86_SVGA

Использование принтера подключенного к параллельному порту Х-терминала (порт tcp/ip 9100):

PRINTER_0_DEVICE  = /dev/lp0
RINTER_0_TYPE     = P

Использование принтера подключенного к параллельному порту Х-терминала с нестандартным портом tcp/ip, например, 9150:

PRINTER_0_DEVICE  = /dev/lp0
RINTER_0_TYPE     = P
PRINTER_0_PORT    = 9150

Использование принтера подключенного к USB-порту Х-терминала (порт tcp/ip 9100):

MODULE_01         = usb-uhci
MODULE_02         = printer
PRINTER_0_DEVICE  = /dev/usb/lp0
PRINTER_0_TYPE    = S

Автоматическая настройка звуковой карты на Х-терминале (демон звука EsounD):

SOUND             = Y
SOUND_DAEMON      = esd

Ручная настройка звуковой карты на Х-терминале (демон звука EsounD, звуковая карта на чипсете OPL3sa2):

SOUND             = Y
SOUND_DAEMON      = esd
VOLUME            = 100
SMODULE_01        = soundcore
SMODULE_02        = sound
SMODULE_03        = ad1848
SMODULE_04        = uart401
SMODULE_05        = opl3sa2 io=0x370 mss_io=0x530 mpu_io=0x330 irq=5 dma=1 dma2=0

Как видите, особым разнообразием типовые настройки не отличаются. Правда, иногда приходится сталкиваться и с трудностями. Так, наиболее распространенной проблемой настройки Х-терминалов является рассогласованность между параметрами видеоадаптера и монитора, или, другими словами, в тех режимах, что может работать видеоадаптер - не может работать монитор и наоборот. Как правило, все решается путем установки правильных значений X_HORZSYNC и X_VERTREFRESH, но иногда может понадобиться и полная спецификация нужного режима.

На практике, проблемы между видеоадаптером и монитором проявляются так: после запуска Х-терминала его экран начинает мигать с интервалом в несколько секунд, а затем переходит в текстовый режим и на экране содержится сообщение об ошибке. В другом случае после аналогичного мигания монитор все же входит в графический режим, но частота регенерации экрана неудовлетворительная, например, 60 Гц.

Для решения подобных проблем следует в первую очередь убедиться, что выбранное разрешение по умолчанию (параметр X_MODE_0) соответствует техническим возможностям и монитора и видеокарты. Так, при установленном X_MODE_0 = 102х768 не каждый 15-ти дюймовый монитор покажет качественную картинку, да и видеоадаптер должен быть оснащен по крайней мере 2 Мбайтами видеопамяти. Затем следует проверить глубину цвета (параметр X_COLOR_DEPTH). Помните, что не каждый Х-сервер поддерживает полный набор глубин цвета. Далее устанавливаем стандартные параметры для горизонтальной и вертикальной разверстки. Здесь программа минимум – заставить монитор включить хотя бы VESA-совместимый графический режим в 60 Гц. Если мы своей цели достигли, то проще всего отредактировать значение нижней границы параметра X_VERTREFRESH, и установить его равным желаемой частоте вертикальной разверстки, например, 85 Гц. То есть из режима:

X_VERTREFRESH      = "50-160"

Мы получим:

X_VERTREFRESH      = "85-160"

Теперь перегружаем Х-терминал и смотрим как он работает при новой частоте регенерации экрана.

Настраивать Х-терминал из графического режима неудобно, так как Х-сервер в цикле будет пытаться перепробовать разные конфигурации, а пользователь на протяжении нескольких минут вынужден будет любоваться мигающим экраном. Поэтому для настройки Х-терминала целесообразно перевести его в текстовый режим, и уже из него запускать Х-сессию командой:

# /tmp/start_ws

Кстати, содержимое файла этого командного сценария предельно простое (для версий XFree86 4.x):

/usr/X11R6/bin/XFree86 -query 192.168.1.1, где

192.168.1.1 – IP-адрес сервера Х-терминалов, а параметр query указывает на необходимость использовать подключение к внешнему Х-серверу.

Например, для XFree86 версии 3.3.6 и сервера S3, содержимое файла /tmp/start_ws будет таким:

/usr/X11R6/bin/XF86_S3 -query 192.168.1.1

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

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