Скажу сразу что подобного не нашел.... потому и делал сам... я не спец, так что может быть где-то и лишнее, а гдето и совсем не нужное.... поправляйте
Задача:
возникла задача подключения клиентов к терминальному серверу. Клиенты в большинстве своем это текущие рабочий станции с гигами оперативками и гигами свободного места (лицензируемся), поэтому в ресурсах самих станции особо ограничений нет, но зато есть ограничение на неудобства – как сказал коммерческий директор «пользователь недолжен заметить разницы». При использовании thinstation из TSOMATIC возникли трудности:
- «залипание» клавиши Alt
- не работает Print Screen
- периодические разрывы связи (до сих пор ума не приложу)
- при включенном режиме Caps Lock самые правые буквы печатаются один черт в нижнем регистре
- плохая работа автомонтирования флешек, флопиков, сидиромов
Значит будем решать.... выходом было скачивание всего пакета Thinstation и правки файлов на предмет Alt_l Meta_l... кто сталкивался поймет... но это решало лишь проблемы с Alt’ом.... остальные еще искать и искать.... плюнул полез в мануалы по .... фряхе
Короче данный HOW-TO может где-то и корявый, где-то избыточен, но он работает
Решение
1) Ставим систему
Страну брал USA, потому что просто нажал интер... Выбераем тип установки CUSTOM. В меню Options обязательно установите DHCP YES. В меню партишн гребем под систему “entire disk”. Идем в Label и делаем разметку из двух слайсов первый где будет система монтируем в «/», второй swap (размеры на усмотрение)
В меню Distribution выбераем Custom там выделяем:
Base
Kernels
...... All
Src
...... All
Ports
X.org
...... Basic
............ All
...... Server
............ All
...... Fonts
............ All
Выбираем откуда ставица и жмем commit
Почему все это ставил? Да потому что на всякий случай, местом я не особо ограничен, а так у меня будет вполне рабочие системы готовые к новым экспериментам )
После установки предложат внести последние изменения – соглашаемся
Задаем пароль рута
Задаем временную зону
Заходим в networking, подключаем демоны amd, sshd, заходим в интерфейсы и выбираем сетевую карточку, говорим что ipv6 не нужен, а для ipv4 использовать dhcpclient. В появившемся меню указываем имя машины и соглашаемся.
Заходим в секурити выбираем секуре левел disable.
Соглашаемся со всеми изминениями перегружаемся и вытаскиваем болванку
2) Настраиваем систему
2.1. Настраиваем sshd
Основной конфигурационный файл демона sshd - /etc/ssh/sshd_config. Тут есть куча всяких настроек но мне нужна только одна:
В оригинале строка
Код: Выделить всё
#PermitRootLogin no
Код: Выделить всё
PermitRootLogin yes
Теперь можем подключаться удаленно/etc/rc.d/sshd reload
2.2. Устанавливаем клиент сервера терминалов:
Создаем в домашней папке файлик с названием .xinitrc:cd /usr/ports/net/rdesktop/
make && make install && make clean
Дописываем в него строку подключения к серверу терминалов:touch /root/.xinitrc
После этого ваша система при сработке команды startx будет запускать вышенабранную команду в графической оболочке.echo 'rdesktop -g 1024x768 -f -r disk:USB=/usb -r disk:CDROM=/cdrom -r disk:floppy=/floppy SERVER1' > /root/.xinitrc
Ну и пробуем:
startx
Если все нормально то идем дальше, если нет, то идем на: http://www.lissyara.su/?id=1444#CLI .
2.3. Начинаем править проблемы альтов
Делается это очень просто
2.4. Настраиваем автомонтирование дисковcp /usr/X11R6/lib/X11/xkb/symbols/pc/pc /usr/X11R6/lib/X11/xkb/symbols/pc/pc2
rm /usr/X11R6/lib/X11/xkb/symbols/pc/pc
cp /usr/X11R6/lib/X11/xkb/symbols/pc/ru /usr/X11R6/lib/X11/xkb/symbols/pc/pc
Вставляем строку
где флагиecho 'amd_flags="-r -c 10 -w 2 -l syslog /mnt1 /etc/amd.map"' >> /etc/rc.conf
-r – рестартовать все имеющиеся точки монтирования. Amd пробегается по всей таблице монтирования чтобы определить какие файловые системы уже смонтированы. Если какая либо файловая система уже смонтированна amd унаследует это.
-c 10 – флаг “c” указывает на продолжительность в секундах кэширования записи об устройстве. По умолчанию 5 минут. Данный параметр устанавливает значение в 10 секунд. Другими словами это время нужное системе для корректной обработки отключения старого устройства и перехода в ожидание нового устройства.
-w 2 – флаг “w” указывает на интервал в секундах (в данном случае 2) между попытками размонтирования файловой системы. По дефолту 2 минуты. Данный параметр устанавливает значение в 2 секунды. Другими словами фтолкнули флешку, поработали, вышли из папки и через 2 секунды демон сам произведет безопасное извлечение.
-l syslog – параметр указывает что будет перехватывать выходные данные. Другими словами что будет вети лог
/mnt1 – папка в которой находятся наши будующие папки с устройствами
/etc/amd.map – собственно конфигурационный файл описывающий подключаемые устройства
Редактируем файл /etc/amd.map
Создаем и редактируем файл /etc/amd.confecho '/defaults type:=host;fs:=${autodir}/${rhost};rhost:=${key}' >/etc/amd.map
echo '* opts:=rw,grpid,resvport,vers=3,proto=udp,nosuid,nodev' >>/etc/amd.map
echo ' ' >>/etc/amd.map
echo 'localhost type:=auto;fs=${map};pref=${key}/' >>/etc/amd.map
echo ' ' >>/etc/amd.map
echo 'cdrom type:=program;fs:=/mnt/cdrom;\ ' >>/etc/amd.map
echo 'mount:="/sbin/mount mount /mnt/cdrom";\' >>/etc/amd.map
echo 'unmount:="/sbin/umount umount /mnt/cdrom"' >>/etc/amd.map
echo ' ' >>/etc/amd.map
echo 'floppy type:=program;fs:=/mnt/floppy;\ ' >>/etc/amd.map
echo 'mount:="/sbin/mount mount /mnt/floppy";\' >>/etc/amd.map
echo 'unmount:="/sbin/umount umount /mnt/floppy"' >>/etc/amd.map
echo ' ' >>/etc/amd.map
echo 'usb type:=program;fs:=/mnt/usb;\ ' >>/etc/amd.map
echo 'mount:="/sbin/mount mount /mnt/usb";\' >>/etc/amd.map
echo 'unmount:="/sbin/umount umount /mnt/usb"' >>/etc/amd.map
Приводим /etc/fstab к виду:touch /etc/amd.conf
echo ' [ global ] ' > /etc/amd.conf
echo 'restart_mounts = yes' >> /etc/amd.conf
echo 'unmount_on_exit = yes' >> /etc/amd.conf
echo 'mount_type = autofs' >> /etc/amd.conf
Код: Выделить всё
cat /etc/fstab
# Device Mountpoint FStype Options Dump Pass#
/dev/ad0s1b none swap sw 0 0
/dev/ad0s1a / ufs rw 1 1
/dev/acd0 /mnt/cdrom cd9660 ro,noauto 0 0
/dev/fd0 /mnt/floppy msdosfs rw,noauto 0 0
/dev/da0s1 /mnt/usb msdosfs rw,noauto 0 0
Создадим символические ссылки на папки, но перед этим удалите папку /cdrommkdir /mnt/cdrom
mkdir /mnt/floppy
mkdir /mnt/usb
2.5. Далее настраиваенм автоматический вход в системуrm -r /cdrom
ln -s /mnt1/cdrom /cdrom
ln -s /mnt1/floppy /floppy
ln -s /mnt1/usb /usb
В самый конец /etc/gettytab добавляем строки
Код: Выделить всё
#
# autologin - automatically log in as Terminal user
#
rootlogin|tu.9600:\
:al=root:tc=std.9600:
Ищем строку:ee /etc/ttys
Код: Выделить всё
ttyv0 "/usr/libexec/getty pc" cons25 on secure
Код: Выделить всё
ttyv0 "/usr/libexec/getty rootlogin" cons25 on secure
echo /bin/term >> /etc/shells
Код: Выделить всё
cat /etc/shells
# $FreeBSD: src/etc/shells,v 1.5 2000/04/27 21:58:46 ache Exp $
#
# List of acceptable shells for chpass(1).
# Ftpd will not allow users to connect who are not using
# one of these shells.
/bin/sh
/bin/csh
/bin/tcsh
/bin/term
Туда пишемtouch /bin/term
chmod 777 /bin/term
Код: Выделить всё
cat /bin/term
#!/bin/sh
If tty | grep ttyv0
then
startx
shutdown –p now
else
/bin/csh
fi
/bin/csh
и в заключение добавляем шатдаун в startxchpass -s /bin/term
РЕБУТИМ и тестируем )echo shutdown -p now >> /root/.xinitrc
Прошу дополнять и расширять возможности )