Вторая команда устанавливает сервер X для видеокарт S3. Если у вас другая видеокарта, измените название пакета. Для SVGA-видеокарт сервер называется xserver-svga. Пока других пакетов устанавливать не нужно. Позже можно будет установить пакет с русскими шрифтами и необходимые приложения. Сейчас нас интересует функционирование самой X Window на терминале.
Если вы используете Linux Mandrake (или Red Hat) как операционную систему для терминала, установка системы X Window выполняется так, как описано выше в этой главе (см. пункт 20.1). Программа apt-get задаст вам несколько вопросов и на основании ваших ответов создаст файл XF86Config. В большинстве случаев его не нужно редактировать (пока не нужно: после установки русских шрифтов его нужно будет немного поправить).
У нас в данный момент нет учетных записей пользователей, кроме пользователя root, поэтому систему X Window лучше запускать из файла inittab:
X:123456:respawn:/usr/bin/Xll/X –query 192.168.0.1
Осталось только перекомпилировать ядро и создать загрузочный диск (компилирование ядра подробно рассматривалось в главе 18). С этой целью перейдите в каталог /usr/src/linux и введите команду make menuconfig. Включите следующие опции: в разделе
Старайтесь сделать ядро как можно более компактным, исключив из его состава лишние опции. Я вообще рекомендую использовать ядра 2.2.x — они более компактны, чем 2.4.x.
Не забудьте включить в состав ядра драйвер для вашей сетевой платы. Итак продолжим — откомпилируем ядро:
make dep
make bzImage
Если вы использовали модули, откомпилируйте их:
make modules
make modules_install
После того как ядро откомпилировано, нужно записать его на дискету командой:
dd if=bzImage of=/dev/fd0
Перед этим нужно перейти в каталог /usr/src/linux/arch/i386/boot. Теперь укажем ядру, где искать корневую файловую систему. Если бы мы создавали обыкновенную загрузочную дискету, мы бы ввели команду: rdev /dev/fd0 /dev/fd0
Так как наше ядро должно искать корневую систему по NFS, мы должны выполнить следующие действия:
mknod /dev/boot255 с 0 255
rdev /dev/fd0 /dev/boot255
rm –f /dev/boot255
Первая команда создает псевдоустройство /dev/boot255, вторая указывает ядру, что корневую файловую систему нужно искать по NFS, а третья удаляет только что созданное устройство, потому что оно больше не нужно нам. Установите корневую файловую систему сервера с помощью команды chroot.
Теперь нужно настроить сервер. Настройка NFS рассматривалась в главе 8, а здесь я лишь напомню некоторые моменты. На вашем сервере должен быть запущен демон nfs (nfsd). Если он не установлен, установите пакет nfs-utils в Mandrake и Red Hat. Если же вы последовали моему примеру и использовали Debian на сервере, введите команду apt-get nfs-user-server. Затем добавьте следующую строчку в файл /etc/exports на сервере:
/usr/xterm 192.168.0.2/255.255.255.0(rw,no_root_squash)
192.168.0.2 — это IP-адрес X-терминала. Вы можете указать маску подсети, как это сделал я, тогда при подключении новых X-терминалов вам не нужно будет перечислять каждый терминал отдельно. После этого установите сервер ВООТР:
в Mandrake и RedHat — rpm -ih /mnt/cdrom/Mandrake/RPMS/bootparamd*
в Debian — apt-get install bootp
Затем в файл /etc/bootptab (или /etc/bootparams) добавьте строчку
xterm01:vm=auto:ip=192.168.0.2:ht=ethernet:ha=xxxxxxxxxxx:rp=/usr/xterm
где: xterm01 — имя Х-терминала;
192.168.0.2 — его IP-адрес;
xxxxxxxxxxx — МАС-адрес X-терминала.
В файл /etc/inetd.conf, если вы используете суперсервер inetd, добавьте строчку (или раскомментируйте ее):
bootps dgram udp wait root /usr/sbin/tcpdbootpd –i –t 120
Можно также использовать:
bootps dgram udp wait root /usr/sbin/bootpd bootpd –i –t 120
При использовании xinetd:
service bootps
{
socket_type = dgram
protocol = udp
user = root
wait = yes
# в Linux Mandrake / Red Hat
server = /usr/sbin/rpc.bootparamd
# в Debian
server = /usr/sbin/bootpd
}
Заставьте xinetd (inetd) перечитать файл конфигурации:
killall -HUP inetd