Втоая жизнь старых компьютеров - Сергей Яремчук
Шрифт:
Интервал:
Закладка:
Файл /etc/xinet.d/tftp будет иметь такой вид:
service tftp {
socke ttype = dgram
TOC o "1-3" h z protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
serve rargs = -s /tftpboot
disable = no
pe rsource = 11
cps = 100 2
}
На этом настройки данных серверов можно считать законченными. Желательно проверить их работу перед применением.
[[email protected] root]# tftp grinder tftp> get lts/vmlinuz-2.4.21-ltsp-l Received 1062469 bytes in 0.9 seconds tftp> quit
Имя файла указано так потому, что корневой каталог для этого сервиса определен в файле /etc/xinet.d/tftp как serve rargs= -s /tftpboot , т.е. каталог/tftpboot делается корневым (chroot), и поэтому если указать полный путь, то сервер просто не найдет необходимый файл.
Меньше всего возни с настройкой сервера шрифтов было в дистрибутиве Red Hat. А с настройкой в остальных мне очень помог разобраться документ http:// www.ltsp.org/contrib/AbiWordfont.txt . В файле /etc/X11/fs/ config в строке «client-limit = 10» установите число компьютеров клиентов, рекомендуемое не более сорока. В файле/etc/X1 1/XF86Config (или XF86Config-4, если вы используете четвертую версию сервера) замените строку:
FontPath "unix/:-1"
на
FontPath "tcp/localhost:7100"
А в файле /etc/rc.d/init.d/xfs замените строку:
daemon -check xfs xfs -port -1 -daemon -droppriv -user xfs
на
daemon -check xfs xfs -port 7100 -daemon -droppriv -user xfs
и строку:
daemon -check xfs su xfs -c V'xfs -port -1" -s /bin/sh
на
daemon -check xfs su xfs -c V'xfs -port 7100" -s /bin/sh
слушает ли он порт под номером 7100. Для того чтобы терминалы могли запрашивать у сервера сеанс XDM, требуемый для регистрации пользователя и запуска пользовательской сессии, необходимый при использовании X-Window, требуется в конфигурационном файле /etc/X11/xdm/xdm-config на сервере LTSP внести соответствующие изменения:
ITY: do not listen for XDMCP or Chooser requests ! Conment out this line if you want to manage X terminals with xdm
# этот пункт обязательно закомментировать ! DisplayManager.requestPort: О
# Эту строчку добавить, правда необязательно. Остальные
# можно не трогать.
DisplayManager.*.setup:/etc/Xll/xdm/Xsetu pworkstation Скрипт Xsetup workstation имеет такой вид: #! /bin/sh
/usr/XI1R6/bin/xsetroot -solid "#356390" if [- x /usr/bin/xsri]; then
/usr/bin/xsri -geometry +5 +5 -avoid 300x250 J -keepaspect /etc/Xll/xdm/ltsp.gif
fi
И остался «последний и решительный бой». Правка самого главного конфигурационного файла LTSP /opt/ Its p/i386/etc/lts. с о nf. Наиболее подробную информацию о настройках тех или иных параметров можно узнать из файла /opt/ltsp/i386/etc/lts.conf.readme. Данный файл состоит из раздела [Default], в котором определяются общие для всех клиентов параметры, и разделов, определяющих индивидуальные для каждого клиента, в них при необходимости можно переопределить те или иные глобальные установки. Благодаря такой схеме появляется возможность более гибкой адаптации к аппаратной конфигурации терминалов. Итак, пример файла Its.conf:
[Default]
SERVER = 192.168.0.1
# компьютер, выступающий в роли сервера графических приложений
XSERVER = auto
# указывает на то, что система сама определяет тип загружаемого
# XFree86-cepBepa
X_MOUSE PROTOCOL = "IMPS/2"
# название протокола манипулятора мыши
# в данном случае используется мышь со скроллингом, если
# обыкновенная мышь подключаемая к порту PS/2, то попробуйте
# просто PS/2
X_MOUSE DEVICE = "/dev/psaux"
# указывает на порт PS/2
X_M0USE RESOLUTION = 50
X_M0USE BUTT0NS = 3
LOCALAPPS = N
USE XFS = Y # используется сетевой сервер шрифтов
RUNLEVEL = 5
SOUND = Y
VOLUME = 75
И секция для клиента. В качестве ее названия может выступать имя хоста, MAC- или IP-адрес, т.е. [terml], [192.168.0.100] или [00-02-44-07-FC-C4].
[terml]
XSERVER = XF8 6SVGA
# Тип Х-сервера, который будет выполняться на клиентской
# станции. Для четвертой версии указывается видеомодуль,
# например nv. Для XFree86 3.3.6 указывается имя сервера
# XF86 SVGA, XF86_S3 и т.д.
X_MODE _0 = 800x600 40 800 840 968 1056 600 601 605 628 J
+hsync +vsync
# установка параметров вывода на экран, их может быть
# несколько от X_M0DE _0 до X _MODE_10
X_VIDEORAM = 4096 количество видеопамяти
X _MOUSEPROTOCOL = "Microsoft"
# мышь с последовательным интерфейсом
X_MOUSE _DEVICE = "/dev/ttySO"
# мышь, подключаемая к параллельному порту
X _MOUSE _RESOLUTION = 50
X_M0USE _BUTT0NS = 2 # количество кнопок мыши
# включение эмуляции третьей кнопки мыши
# (нажатием двух имеющихся одновременно)
X_M0USE _EMULATE3BTN = Y
X_MOUSE _BAUD = 1200
RUNLEVEL = 3
Уровень инициализации (RUNLEVEL) 3 загружает командную строку bas hshell в консоли , этот параметр желательно установить первым для отладки работы сервисов, и если все получилось, то использовать либо 4 для telnet-ceccnn, позволяющей открывать несколько терминалов на сервере и переключаться между ними по Alt-F1 до Alt-F9, либо 5 для автоматического старта X-Windows. Для каждого клиента, как видите, есть возможность определить индивидуальные параметры Х-сервера в секции, но возможен и другой вариант, он особенно удобен, если имеется несколько клиентов с одинаковыми видеокартами.
Для этого необходимо указать в параметре XF86CONFI GFILE = XF86Config .term1 имя конфигурационного файла для данного клиента и поместить его в каталог/opt/ltsp/i386/etc/X11/ (предварительно создав каталог Х11). Мне в этом смысле немного повезло, на одном из клиентских компьютеров до этого стоял Linux, поэтому генерировать данный файл заново не пришлось. Если у вас другая ситуация, то попробуйте использовать программу /usr/X11 R6/bin/xf86config на сервере, установив туда нужную видеокарту (не забудьте сохранить при этом оригинальные файлы). Дополнительно можно переопределить параметры клавиатуры, используемые по умолчанию. Для этого предназначены следующие опции:
¦ XkbModel – модель клавиатуры, наиболее распространенные – рс 101, рс 102, рс 105;
¦ XkbLayout – раскладка клавиатуры, например us (по умолчанию), ru, ru(winkeys);
¦ XkbSymbols – таблица скан-кодов, по умолчанию «us(pc 101)», но можно заменить, например на «us(pc105) + ru».
Раз уже коснулись раскладки клавиатуры, то два слова о том, как использовать русскую. Для установки и переключения на русский вариант (в рассматриваемом случае) раскладки клавиатуры в XFree86 применяется два параметра XkbLayout и XkbOptions. Первый, как уже отмечалось, можно переопределить, а вот для того чтобы была возможность переключаться между раскладками, необходимо выполнить еще некоторые действия. Все настройки, касающиеся параметров XFree86 во всех Linux производятся в файле XF86Config для версии 3 и в XF86Config-4 для четвертой версии. Но для терминалов таких файлов изначально не существует, они генерируются динамически при запуске. Для этих целей используется скрипт/opt/ltsp/i386/etc/rc.setupx3 для клиентов с версией 3 и /о pt /I t s р/ i 3 8 б/et с/ г с. s et и рх для четвертой версии, которые, кстати, берут основные параметры для настройки из файла Its.conf. Так вот, для того чтобы переключатель заработал, необходимо после строки XkbLayout «${XkbLayout}» для rc.setupx3 или Option «XkbLayout» «${XkbLayout:-»us»}» для rc.setupx прописать параметр,
устанавливающий комбинацию для изменения раскладки, например:
¦ XkbOptions «grp:cap stoggle» – переключение по Caps Lock;
¦ XkbOptions «grp:al tshift toggle» – более привычное для пользователей Windows переключение по Alt + Shift.
Вот и все. Самое интересное, что это действительно работает. На клиентском компьютере загрузить даже KDE с OpenOffice и причем с вполне терпимой скоростью, после перехода на оконный менеджер IceWM и запуска аналога OpenWritera от GnomeOffice – AbiWord система вообще летала. Конечно, при увеличении количества клиентов до 10 желателен сервер помощнее, как минимум оперативной памяти 512 Мб. Наиболее очевидное применение данной технологии – это наши учебные заведения со старыми компьютерными классами, где добавление одного мощного компьютера позволит работать с современным ПО. В организации интернет-кафе с помощью технологии LTSP поможет скрипт: http:// prdownloads.sourceforge.net/ltsp/lts pphpSiCafe-0 .0.1 .tgz, назначение которого – учет времени, проведенного пользователями за компьютером. Заинтересовавшимся советую также заглянуть еще на два сайта. Первый http://k12ltsp.org/ , этот проект предназначен для установки терминального сервера, разработанного для школ, базируется на дистрибутиве Red Hat. Второй http:// www.ltsp.ru/ , как видно из названия, русский сайт проекта. Здесь уже можно найти переводную документацию по работе с бездисковыми станциями, описание установки виртуальной машины VMWare для запуска приложений, написанных под Windows.
Все это, конечно, интересно и работает уже более года, но совсем недавно познакомившись с проектом OpenMosix ( http://openmosix.sourceforge.net/ ), предлагающим OpenSource-penieHHe создания кластерных систем на основе компьютеров, соединенных в единую сеть. OpenMosix представляет собой расширение к обычному ядру Linux, при его установке узлы в кластере начинают «общаться» с друг другом, и кластер адаптирует себя к рабочей нагрузке. Процессы, обрабатывающиеся на любом из узлов, при увеличении нагрузки данного компьютера по сравнению с другими способны передаваться на любой другой компьютер кластера. OpenMosix постоянно пытается оптимизировать распределение ресурса между машинами, при этом новый узел может быть добавлен «на лету» и автоматически будет подхвачен кластером. Так как все openMosix расширения выполняются внутри ядра, каждое из приложений, автоматически извлекает выгоду из распределенной вычислительной концепции openMosix. Кластер ведет себя фактически как многопроцессорная система, правда без ограничения на их максимальное число. И естественно возникло желание испытать это все в деле, тем более что большая часть работы уже проделана.