Это старая версия документа.


Существует множество решений для создания терминального сервера как на Linux, так и на Windows. Однако, клиенты терминального сервера предоставляются в виде программ, требующих установки в некоторую операционную систему. Если терминальный сервер будет использоваться в связке с бездисковыми станциями (тонкими клиентами), то операционная система должна быть крайне легковесной и обеспечивать только необходимый функционал.

Специально для тонких клиентов существует дистрибутив Thinstation.

Thinstation

Поддерживает следующие протоколы: Citrix ICA, NoMachine NX, 2X ThinClient, Microsoft Windows Terminal Services (RDP, via RDesktop), VMWare View Open client, Cendio ThinLinc, Tarantella, X, telnet, tn5250, VMS terminal и SSH, при этом для работы с Thinstation не требуется изменять настройки сервера. …

В этой статье в качестве примера используется загрузка по PXE с TFTP, в качестве сервера — MS Terminal Service, но можно использовать и другие технологии.

Вкратце алгоритм работы Thinstation таков:

  1. Выбираем (в build.conf или в веб-интерфейсе), какие драйверы и программы нам нужны. Драйверы зависят от используемого оборудования (сетевых карт, видеокарт…). Программа — какой-нибудь легковесный оконный менеджер и тип клиента (зависит от типа сервера, в нашем случае для Microsoft Terminal Service нужен rdesktop)
  2. В дальнейшем мы сможем написать для каждого клиента свой конфигурационный файл, а пока, на этапе сборки мы можем написать конфиг, который будет использоваться в качестве дефолтного (thinstation.conf.buildtime)
  3. Собираем образ, используя build.conf и thinstation.conf.buildtime
  4. Раздаём образ с помощью TFTP-сервера, в DHCP указываем нужные параметры (см. Терминальный сервер)
  5. Создаём, если нужно, собственные конфигурационные файлы для отдельных клиентов и групп клиентов, они тоже раздаются по TFTP
  6. Выставляем на клиентах загрузку с PXE (Network, LAN, …)
  7. Загружаем клиента :)

Развёртывание

Мы будем пользоваться онлайн-сервисом для сборки, веб-интерфейс — это удобно. Однако, если требуется более гибкий инструмент, или 50 Мбайт трафика — проблема, то можно собирать и локально.

Первым делом напишем дефолтный конфигурационный файл thinstation.conf.buildtime, то есть тот файл, который клиент будет использовать, если не найдёт своего собственного конфига.

Для первого раза в отладочных целях можно использовать конфиг, который просто загрузит графическую оболочку и не будет подключаться к какому-нибудь терминальному серверу:

Более сложный конфиг — мы коннектимся к Mirosoft Terminal Service, сервер 192.168.1.1, пользователь pupkin из домена example.local:

После написания конфига приступаем к сборке. Переходим сюда (полный список здесь), ставим галочки.