Ключевые слова: Х-терминал, linux, LTSP, Linux Terminal Server Project, терминальный linux-сервер, бездисковая станция, ПК без жесткого диска, использование старых компьютеров, diskless workstation, thin client, asplinux, использование Linux в офисе, X-terminal
Для работы Х-терминалов подойдет любой из описанных выше менеджеров дисплея (xdm, kdm или gdm), поэтому можете смело отдать предпочтение любому из них. Для того, чтобы правильно выбрать менеджер дисплея по умолчанию, следует посмотреть как устроен сценарий его запуска, который находится в файле /etc/X11/prefdm. Нас будут интересовать строки, которые отвечают за выбор менеджера дисплея:
preferred=
if [ -f /etc/sysconfig/desktop ]; then
. /etc/sysconfig/desktop
if [ "$DISPLAYMANAGER" = GNOME ]; then
preferred=gdm
elif [ "$DISPLAYMANAGER" = KDE ]; then
preferred=kdm
elif [ "$DISPLAYMANAGER" = XDM ]; then
preferred=xdm
fi
fi
Как видно из фрагмента этого файла, сценарий проверяет наличие на диске файла /etc/sysconfig/desktop и если такой файл существует, то он включается в текст данного сценария. Далее проверяется значение переменной DISPLAYMANAGER и сравнивается с одним из значений: GNOME, KDE и XDM. Отсюда следует, что для установления менеджера дисплея по умолчанию достаточно создать файл /etc/sysconfig/desktop, который будет содержать одну единственную строку, например, DISPLAYMANAGER=KDE. Создать этот файл можно простой командой:
# echo 'DISPLAYMANAGER=KDE' > /etc/sysconfig/desktop
В начале этой главы мы оговорились, что лучше использовать для всех Х-терминалов один сервер шрифтов. Тем самым мы достигнем единообразного представления документов на всех Х-терминалах нашей локальной сети. Но для осуществления наших планов, не плохо было бы убедиться, что наш сервер шрифтов готов принимать запросы от удаленных клиентов. Проверяется это командой:
$ netstat -a | grep xfs
tcp 0 0 *:xfs *:* LISTEN
Если, как в нашем примере, сервер шрифтов слушает удаленные подключения, то значит все нормально и больше настраивать ничего не нужно. Если же вы получили отрицательный ответ, то смотрим файл конфигурации сервера шрифтов /etc/X11/fs/config:
#
# Default font server configuration file for Red Hat Linux
#
# allow a max of 10 clients to connect to this font server
client-limit = 10
# when a font server reaches its limit, start up a new one
clone-self = on
# alternate font servers for clients to use
#alternate-servers = foo:7101,bar:7102
# where to look for fonts
#
catalogue = /usr/share/fonts/CP1251/misc:unscaled,
/usr/share/fonts/CP1251/misc,
/usr/share/fonts/CP1251/75dpi:unscaled,
/usr/share/fonts/CP1251/75dpi,
/usr/share/fonts/KOI8-R/misc:unscaled,
/usr/share/fonts/KOI8-R/misc,
/usr/X11R6/lib/X11/fonts/misc:unscaled,
/usr/X11R6/lib/X11/fonts/75dpi:unscaled,
/usr/X11R6/lib/X11/fonts/100dpi:unscaled,
/usr/X11R6/lib/X11/fonts/misc,
/usr/X11R6/lib/X11/fonts/Type1,
/usr/X11R6/lib/X11/fonts/Speedo,
/usr/X11R6/lib/X11/fonts/cyrillic,
/usr/X11R6/lib/X11/fonts/TTF,
/usr/share/fonts/default/Type1,
# in 12 points, decipoints
default-point-size = 120
# 100 x 100 and 75 x 75
default-resolutions = 75,75,100,100
# use lazy loading on 16 bit (usually Asian) fonts
deferglyphs = 16
# how to log errors
use-syslog = on
# don't listen to TCP ports by default for security reasons
no-listen = tcp
Из-за соображений безопасности, по умолчанию сервер шрифтов не обслуживает удаленных клиентов. Для разрешения удаленных подключений достаточно закомментировать строчку “no-listen = tcp” и перезапустить сервер:
# /sbin/service xfs restart
В сервере шрифтов также существуют ограничения на количество одновременно обслуживаемых клиентов. Так, в приведенном выше листинге это ограничение равно 10 подключениям (параметр "client-limit = 10"). При необходимости можно увеличить или уменьшить значение параметра client-limit. Для одного сервера шрифтов не рекомендуется устанавливать значение client-limit больше 40.
Важно также помнить, что для правильной работы системы X-Windows со шрифтами типа TrueType необходимо загрузить специальный модуль (freetype) для сервера XFree версии 4.х. Ниже приведен соответствующий фрагмент файла /etc/X11/XF86Config:
Section "Module"
Load "GLcore"
Load "dbe"
Load "dri"
Load "extmod"
Load "fbdevhw"
Load "glx"
# Load "pex5"
Load "record"
# Load "xie"
Load "v4l"
Load "type1"
Load "freetype"
EndSection
Модуль "type1" также используется для работы Х-сервера со шрифтами, но не TrueType, а Adobe PostScript Type 1.