FreeBSD: Создание тонкого клиента


Имеется:
P1-MMX 200MHz / 32MB SDRAM / 2GB HDD / 10Mb ISA NIC / PCI S3VirgeGX2
Задача:
Сделать X-терминал к серверу на Ubuntu. Должен обеспечиваться удаленный DeskHelp сидящего за терминалом пользователя.

Начальная установка FreeBSD 6.3 - установка

Так как винчестер очень мал (2GB) и так как это будет тонкий терминальный клиент, то разбиваем все одной партицией.
Делаем два раздела: один - корень, второй - SWAP.
Так как памяти физической мало (32MB), то делаем своп побольше.

Делаем минимальную установку.

Заводим пользователей supervisor (группа wheel) и thin (группа thin), задаем пароль root-у.

Настраиваем консоль, фонты и ScreenMap, мышь, время и временную зону.

Отключаем квоты и usbd.

Разрешаем sshd.

* Последние пункты можно всегда сделать потом в sysinstall.

На этом разбивка и установка закончена. Чтобы сэкономить нервы временно переставляем HDD на более быстрый комп (прийдется настроить сетевые интрефейсы).


Начальная установка FreeBSD 6.3 - настройка

Устанваливаем коллекцию портов из sysinstall.

Оптимизируем download портов FreeBSD.

Для дальнейшего удобства ставим Deco Commander

cd /usr/ports/misc/deco
make
make install

Чтобы можно было зайти по ssh правим /etc/ssh/sshd_config

#KMN added
PasswordAuthentication yes

Можно обновить порты.


Установка X

Читаем HandBook на соотвествующую тему.

Устанавливаем X.Org из утилиты sysinstall (плюсом отмечено то, что надо поставить).

sysinstall->distribution->X.Org:
Basic
+ lib	- Shared libraries and data files needed at runtime
- bin	- Client applications (программы startx и xinit тут :)
- doc	- Documentation
- prog	- Programming tools
Server
+ srv	- Standard Graphics Framebuffer
- nest	- Nested X Server
- vfb	- Virtual Framebuffer
Fonts
+ All

Ставим дополнительно пакаджи из sysinstall:

x11-drivers:
+ xf86-input-keyboard-1.2.2_1
+ xf86-input-mouse-1.2.3
x11:
+ xkbcomp-1.0.3
+ xinit-1.0.7


Настройка Xorg для PCI S3 Virge/G2 (86C357)

Читаем HandBook на соотвествующую тему.

cd /usr/ports/x11-drivers/xf86-video-s3virge
make
make install
cd /root
Xorg -configure

Редактируем /root/xorg.conf.new:
Добавляем DefaultDepth в секцию Screen, а также Modes в каждую субсекцию Display секции Screen.
Лично у меня получилось для всех Depth от 8 (ниже не поддерживаются драйвером) задать Modes "1280x1024" и поставить DefaultDepth 24.
К сожалению, во время работы X стали вылетать с ошибкой 11 при запуске терминала (на удаленной Xubuntu) пока не поставил DefaultDepth 16.

Также добавляем настройки клавиатуры в соответсвующую секцию InputDevice для переключения раскладок:

#KMN added
        Option  "XkbRules"      "xorg"
        Option  "XkbModel"      "pc105"
        Option  "XkbLayout"     "us,ru"
        Option  "XkbVariant"    ","
        Option  "XkbOptions"    "grp:alt_shift_toggle,grp_led:scroll"

X -config /root/xorg.conf.new

Должны запуститься X-ы, если же нет - то дожимаем проблему усиленно куря HandBook и интернет.

cp /root/xorg.conf.new /etc/X11/xorg.conf

Автозапуск X server-а и x11vnc

Делаем только одну локальную консоль ttyv0 активной и настраиваем на ней автологин ползователя thin.

Чтобы не собирать из портов, ставлю пакаджи необходимые для x11vnc из утилиты sysinstall.

sysinstall->packages:
+ jpeg-6b_4
+ libtool-1.5.24
+ avahi-0.6.21_1

Устанавливаем x11vnc (этот VNС-сервер удовлетворяет нашему исходному заданию, так как может подключаться к уже существующему X-дисплею реального локального пользователя).

cd /usr/ports/net/x11vnc
make
make install

Делаем автозапуск X-ов для пользователя thin:

cat >> /usr/home/thin/.profile
#KMN added
xinit
echo
echo
echo Press Ctr-Alt-Del to reboot a Computer or wait 10 sec to reboot X-desktop.
echo
echo Нажмите Ctr-Alt-Del для перезагрузки  компьютера или подождите 10 сек для
echo перезагрузки X-рабочего стола.
sleep 10                                                                       
exit                                                                           
cat > /usr/home/thin/.xinitrc
#!/bin/sh
/usr/local/bin/x11vnc -o /tmp/x11vnc.$USER.log -forever -loop
cat > /usr/home/thin/.xserverrc
#!/bin/sh
exec /usr/local/bin/Xorg -ac -query __MainServerIP__

Прочие материалы по теме

Настройка ISA NIC NE2000 во FreeBSD
Выбор VNC сервера во FreeBSD
Неудачная попытка поставить linux-nx-client во FreeBSD


Дата документа: 23.07.09