понедельник, 24 сентября 2012 г.

Терминальный клиент FreeRDP на FreeBSD 9.0

Есть довольна-таки большое количество старых компьютеров, которые сейчас вообще никак не используются. Решил использовать их в качестве терминальных клиентов. Благо недавно появилась возможность использовать почти все фитчи нового RDP, включая перенаправленные звука и аппаратное ускорение блягодаря проекту FreeRDP.

Самой старой машинкой, которую я нашёл оказался Celeron 667 Mhz с 256 мб памяти на борту. Безусловно он потянул бы чистую Windows XP SP-3 но добавленный к ней корпоративный антивирус Касперского сильно затрудняет работу на такой машине.

И так, как машинка довольна-таки слабая, я решил выбрать в качестве ОС -  FreeBSD.



Установка сделал просто, просто выбрал автоматическую разметку жёсткого диска и установил коллекцию портов.

Далее собираем иксы:
cd /usr/ports/x11/xorg
make install clean

И сам FreeRDP:
cd /usr/ports/net/freerdp
make install clean

Создаём пользователя с ограниченными правами ruser и настраиваем его автологин в систему.

# adduser
Отвечаем на стандартные вопросы мастера, только обязательно добавляем пользователя в группу operator, иначе у него не будет прав на выключение компьютера.



Правим gettytab
# vi /etc/gettytab 
После строки:
P|Pc|Pc console:\
:ht:np:sp#9600:
Добавляем строчку:
autologin:\
:al=ruser:tc=Pc:

И редактируем ttys
# vi /etc/ttys
Строку:

tty1 "/usr/libexec/getty Pc" xterm on secure
Заменяем на:
tty1 "/usr/libexec/getty autologin" xterm on secure

Автологин работает, теперь  нужно добавить автоподключение к терминальному серверу с нашего клиента.
Для этого переключаемся на пользователя и правим его .xinitrc:
# su ruser
$ cd ~
$ vi .xinitrc
Добавляем в него следующие строки
xfreerdp -d SZ -u User -f tserv
-d - Имя домена (если не указывать, будет локальный пользователь)
-u - Автоподстановка имени пользователя (если не указывать будет тот пользователь, что и во freebsd)
-f - Во весь экран.
tserv - Имя терминального сервера (можно ip)

Теперь настроим автоматический запуск иксов при логине пользователя и выключение компьютера при звершении сеанса.

В .shrc в самый конец добавим
# vi .shrc
startx
shutdown -p now

Теперь остаётся добавить красивую картинку отображаемую при загрузке и уменьшить время отображения загрузочного меню с 10 секунд до 3
Готовим bmp файл размером 640x480 и 256 цветов и копируем его в /boot/loader/logo.bmp

# vi /boot/loader/loader.conf
auto_delay="3"
vesa_load="YES"
bitmap_load="YES"
splash_bmp_load="YES"
bitmap_name="/boot/loader/logo.bmp"
Теперь после перезагрузки, сразу же попадём в учётку ruser в которой запустятся иксы и запустят терминальное подключение xfreerdp к нашему серверу.
После завершение сеанса работы с терминальным сервером будет выполнена команда выключения.

2 комментария:

  1. Ну наконец-то!!! Спасибо за статью, сейчас попробую, отпишусь.

    ОтветитьУдалить
  2. повходу, freerdp - портал в другое измерение. Не отписался Unknown :(

    ОтветитьУдалить