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. Кластер ведет себя фактически как многопроцессорная система, правда без ограничения на их максимальное число. И естественно возникло желание испытать это все в деле, тем более что большая часть работы уже проделана.
Как и в приведенном выше примере, один из компьютеров играет роль главного (master), а остальные, сколько есть, подчиненные (slave). Для работы понадобятся сами ядра с патчем от openMosix и инструменты для работы openmosix-tools. Все это можно найти на странице http://prdownloads.sourceforge.net/openmosix/ , где доступны как сами патчи, так и уже перекомпили- рованые (серверные) ядра для разных платформ, причем уже доступны патчи для ядер серии 2.6. Мы будем устанавливать при помощи патча, самостоятельно компилируя все ядра.
Для этого берем ядро 2.4.22:
# wget -с http://www.kernel.Org/pub/linux/kernel/v2.4/ j
linux-2.4.22.tar.bz2
# wget -с http://tab.tuxfamily.org/download/openmosix/ j
patch-2.4.22-om-20030811.bz2
Теперь все разархивируем:
# tar -xjvf – linux-2.4.22.tar.bz2
# cd linux-2.4.22
# bzcat ../patch-2.4.22-om-20030825.bz2|patch -pi
# In -sf /path/to/linux-2.4.22 /usr/src/linux
Теперь заходим в него:
# cd /usr/src/linux
Конфигурируем серверное ядро:
# make xconfig [menuconfig, gconfig]
И смотрим, чтобы следующие пункты были включены в ядро, а не в виде модулей:
openMosix -
openMosix process migration support openMosix File-System
Networking options -
Packet Socket Socket Filtering TCP/IP networking IP: multicasting
File systems -
/proc file system support
Network File Systems -
NFS file system support NFS server support Provide NFSv3 server support
И компилируем новое ядро:
# make dep
# make bzlmage amp; amp; make modules amp; amp; make module sinstall
Для ядер серии 2.6 достаточно ввести make all.
Копируем ядро на свое место:
# mv arch/i386/boot/bzImage /boot/vmlinuz- openmosix
Конфигурируем загрузчик для работы с новым ядром, и после перезагрузки система будет готова. Если установка производится при помощи перекомпилированных пакетов, все вышеописанное (кроме настройки загрузчика) будет в систему добавленно автоматически. Для этого вводим:
# rpm -ivh openmosix-kernel-2.4.22- openmosixl.i686.rpm
Установка slave-ядра
Для начала сохраняем конфигурационный файл основного ядра.
# ср /usr/src/linux/.config /usr/src/linux/.confi gmaster
Само slave-ядро лучше собирать без поддержки модулей, т.к. настройка их загрузки через сеть – довольно хлопотное дело, также желательно побеспокоиться о компактности, отключив как можно больше ненужных функций.
Следующие опции нужно включить в ядро.
openMosix -
openMosix process migration support openMosix File-System
Networking options -
TCP/IP networking
IP: kernel level auto-configuration IP: DHCP support IP: BOOTP support
File systems -
/proc file system support
Network File Systems -