Ключевые слова: Х-терминал, linux, LTSP, Linux Terminal Server Project, терминальный linux-сервер, бездисковая станция, ПК без жесткого диска, использование старых компьютеров, diskless workstation, thin client, asplinux, использование Linux в офисе, X-terminal
Настройка графической подсистемы Х-терминала – всегда привязана к аппаратному обеспечению. Следовательно, здесь не столько теории сколько практики. Из всего множества выпущенного в мире компьютерного оборудования у конечного пользователя присутствует, как правило, лишь ничтожная его часть. Так, например, если ваш старый персональный компьютер был куплен между 1996 и 1997 годом, то с большой степенью вероятности можно утверждать, что он оснащен видеоадаптером с интерфейсом PCI и чипсетом от s3. И таких примеров достаточно много. Поэтому целью данного раздела является описание наиболее типичных конфигураций реальных Х-терминалов. Итак, приступим.
Никаких специальных приемов настройки не требует. Достаточно указать тип раскладки, например, XkbLayout = "ru".
X_MOUSE_PROTOCOL = "PS/2"
X_MOUSE_DEVICE = "/dev/psaux"
X_MOUSE_BUTTONS = 3
X_MOUSE_PROTOCOL = "PS/2"
X_MOUSE_DEVICE = "/dev/psaux"
X_MOUSE_BUTTONS = 2
X_MOUSE_EMULATE3BTN = Y
X_MOUSE_PROTOCOL = "IMPS/2"
X_MOUSE_DEVICE = "/dev/psaux"
X_MOUSE_BUTTONS = 2
X_MOUSE_PROTOCOL = "Microsoft"
X_MOUSE_DEVICE = "/dev/ttyS0”
X_MOUSE_BUTTONS = 3
X_MOUSE_PROTOCOL = "Microsoft"
X_MOUSE_DEVICE = "/dev/ttyS1”
X_MOUSE_BUTTONS = 2
X_MOUSE_EMULATE3BTN = Y
X_MOUSE_PROTOCOL = "IntelliMouse"
X_MOUSE_DEVICE = "/dev/ttyS0”
X_MOUSE_BUTTONS = 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
X_MODE_0 = 800x600
X_MODE_0 = 1024х768
X_MODE_0 = 1280х1024
X_MODE_0 = 1024x768
X_MODE_0 = 1280х1024
X_COLOR_DEPTH = 16
X_COLOR_DEPTH = 24
X_COLOR_DEPTH = 32
X_HORZSYNC = "30-96"
X_VERTREFRESH = "50-160"
X_DEVICE_OPTION_01 = "noaccel"
XSERVER = vesa
XSERVER = XF86_S3
XSERVER = XF86_SVGA
PRINTER_0_DEVICE = /dev/lp0
RINTER_0_TYPE = P
PRINTER_0_DEVICE = /dev/lp0
RINTER_0_TYPE = P
PRINTER_0_PORT = 9150
MODULE_01 = usb-uhci
MODULE_02 = printer
PRINTER_0_DEVICE = /dev/usb/lp0
PRINTER_0_TYPE = S
SOUND = Y
SOUND_DAEMON = esd
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