Ключевые слова: Х-терминал, linux, LTSP, Linux Terminal Server Project, терминальный linux-сервер, бездисковая станция, ПК без жесткого диска, использование старых компьютеров, diskless workstation, thin client, asplinux, использование Linux в офисе, X-terminal
Проблемы, которые возникают при запуске Х-сервера Х-терминалов, часто являются следствием неправильной настройки других системных служб сервера. Иногда бывает очень сложно найти причину неработоспособности графической части Х-терминала, особенно если в данной области у администратора мало практического опыта. Помню, когда я впервые столкнулся с необходимостью правки файла конфигурации графической системы XFree86, то мною по-неволе овладел ужас написать что-то не так, и окончательно своими некомпетентными действиями зарубить операционную систему. Но со временем, до меня начала доходить идеология UNIX-систем, и, признаться честно, сейчас она мне намного более по душе, чем, например, подход предлагаемый Microsoft. Если знать где в операционной системе брать информацию, то настроить Х-сервер не сложнее других подсистем Linux.
Для того, чтобы сократить к минимуму ваши усилия по настройке графической части Х-терминала, неплохо было бы изначально удостовериться, что используемая вами видеокарта поддерживается проектом XFree86. В противном случае все ваши усилия будут напрасными, за исключением той невероятной ситуации, когда вы сами в состоянии написать драйвер для своего видеоадаптера.
Итак, начнем ликвидацию проблем Х-сервера с наиболее распространенных на практике случаев.
О проблеме запуска графической подсистемы Х-терминала свидетельствует мигание монитора, когда текстовый экран входа в систему сменяется черным, и так в течении нескольких минут, вплоть до появления сообщения об ошибке. Инициализирующий скрипт Х-терминала в проекте LTSP будет пытаться перезапустить неработающий Х-сервер 10 раз, после чего прекратит это бесполезное занятие. Чтобы не ждать так долго, при устранении проблем запуска Х-сервера рекомендуется перевести Х-терминал в текстовый режим. Сделать это очень просто, достаточно в параметрах файла /opt/ltsp/i386/etc/lts.conf, которые соответствуют разделу нужного Х-терминала, записать текстовый режим выполнения (runlevel = 3). Например, для Х-терминала с именем pashax там должны быть такие строки:
[pashax]
RUNLEVEL = 3
В текстовом режиме, после получения приглашения от командной оболочки для запуска Х-сервера используется команда:
# /tmp/start_ws
Если запуск Х-сервера из текстового режима завершится неудачей, то об этом будут свидетельствовать сообщения на экране и управление вновь перейдет к командной строке.
Просмотреть все сообщения Х-сервера на экране можно, если взглянуть на содержимое файла /var/log/XFree86.0.log. Так как содержимое этого файла довольно большое и не всегда содержит информативные данные, можно ознакомиться только с сообщениями об ошибках и предупреждениями:
# egrep "^\(EE|^\(WW" /var/log/XFree86.0.log
(WW) System lacks support for changing MTRRs
(EE) MGA(0): Static buffer allocation failed, not initializing the DRI
(EE) MGA(0): Need at least 5184 kB video memory at this resolution, bit depth
Все вышесказанное относится к версии Х-сервера 4.х, а если для вашей видеокарты используется сервер ХFree68 версии 3.3.6, то для получения полного отчета об ошибках его запуска необходимо применить немного модифицированную команду:
# /tmp/start_ws 2>/tmp/Xlog.txt
Теперь после запуска Х-сервера в файле /tmp/Xlog.txt находятся все сообщения об ошибках, которые имели место. Просмотреть данный файл можно, использовав команду more:
# more /tmp/Xlog.txt
Ниже представлено типичное содержание файла Xlog.txt после неудачного запуска Х-сервера версии 3.3.6:
XFree86 Version 3.3.6 / X Window System
(protocol Version 11, revision 0, vendor release 6300)
Release Date: January 8 1999
If the server is older than 6-12 months, or if your card is newer
than the above date, look for a newer version before reporting
problems. (see http://www.XFree86.Org/FAQ)
Operating System: Linux 2.2.14 i686 [ELF]
Configured drivers:
S3: accelerated server for S3 graphics adaptors (Patchlevel 0)
newmmio, mmio_928, s3_generic
(using VT number 3)
XF86Config: /etc/XF86Config
(**) stands for supplied, (--) stands for probed/default values
(**) XKB: keycodes: "xfree86"
...
(**) S3: Graphics device ID: "My Video Card"
(**) S3: Monitor ID: "My Monitor"
(--) S3: Mode "640x480" needs vert refresh rate of 100.02 Hz. Deleted.
...
(--) S3: Mode "1800X1440" needs hsync freq of 104.52 kHz. Deleted.
(**) FontPath set to "tcp/192.168.1.1:7100"
*** None of the configured devices were detected.***
Fatal server error:
no screens found
When reporting a problem related to a server crash, please send
the full server output, not just the last messages