Тонкий клиент linux rdp iso

Thinstation по русски Всё о лёгком подключении тонкого клиента

Искать

Готовые сборки

К сожалению образы устарели, кроме ALLMODULES, из-за отсутствия конфигураций под новые версии TS, для получения актуальных сборок используйте ThinstationOS и ли образ системы на OpenSuSE для VirtualBox .

В данной таблице представлены готовые сборки Thinstation 5 под различные аппаратные платформы (список будет пополняться по мере появления в моём распоряжении рабочих конфигураций для сборки)

Любая модель 6.2

Любая модель 6.1

HP Compaq t5135

HP Pro 3420 AIO

USN BUSINESS.NET 345-SSD

Intel Atom D525 1,8Ghz

2Gb DDR3 / SSD 40GB / mini-ITX 80W

** ) Сборка ALLMODULES 6.2 (обновлена до 6.2.9 , kernel 5.4.101 )

Если Вас устраивает размер сборки, то можете её использовать для подключения к RDP серверу, в сборке присутствует пакет freerdp. Для этого разместите на tftp сервере в папке configs файл thinstation.conf.network с Вашими настройками.

Сборка ALLMODULES 6.2, содержит пакеты:

  • freerdp-3.0dev
  • sshd
  • xorg7-vesa
  • xorg7-ati
  • xorg7-amdgpu
  • xorg7-nouveau
  • xorg7-intel
  • rootpasswd 1q2w3e4r
  • basepath configs # Папка для файлов загружаемой по сети конфигурации thinstation.conf.network и т.п., в данном варианте — в корне TFTP/configs.
  • allfirmware true

* ) Сборка ALLMODULES 6.1 (обновлена до TS-6.1-stable, kernel 4.19.18) предназначена для получения списка модулей, используемых отдельной конфигурацией тонкого клиента, для уменьшения объёма образа загрузки при последующих сборках. Загрузите Ваш тонкий клиент с неё, далее в открывшемся окне терминала выполнить команду su, введите пароль и далее hwlister.sh (если ничего не пишется — переместите курсор мышкой в окошко терминала). Команда создаст файлы (module.list и vbe_modes.list, иногда ещё и firmware.list) в корне ФС клиента. Эти файлы нужно любым доступным Вам способом (на всякий случай — к клиенту можно подключиться по SSH, root с паролем 1q2w3e4r) скопировать в созданную Вами папку с именем машины в директории machine и прописать в файле build.conf параметр machine с названием Вашей папки.

Если Вас устраивает размер сборки, то можете её использовать для подключения к RDP серверу, в сборке присутствует пакеты rdesktop и freerdp. Для этого разместите на tftp сервере файл thinstation.conf.network с Вашими настройками.

Сборка ALLMODULES 6.1, содержит пакеты:

  • rdesktop-1.8.4
  • freerdp-git_master
  • lp-server
  • sshd

Источник

Thinstation — «худеем» с тонкими клиентами до версии 2.5


Доброго времени суток, Хабр!

Относительно недавно в свет вышла новая версия популярного тонкого клиента Thinstation, а именно 2.5. И, конечно же, несет в себе как новые плюшки, так и новые грабли плюс минимум документации по новой версии.

В этой статье (а она расчитана на новичков, особенно для тех, кто слабо знаком с Linux) я опишу как быстро собрать тонкого клиента и сделать его использование достаточно безопасным. Под хабракатом использование смарт-карт, RDP-клиент фирмы 2X и хэппи-энд. Добро пожаловать!

Постановка задачи

С чего начнем?

Для бездисковой загрузки наших тонких клиентов (а грузиться они будут по протоколу PXE) нам потребуется настроить DHCP-сервер и TFTP-сервер. Что это, для чего, как происходит загрузка по сети (PXE) и как это настроить хорошо и подробно написано тут. В качестве TFTP-сервера под Windows могу порекоммендовать tftpd32, который можно скачать тут. Несмотря на название, есть версии и для платформы x64.

Далее, если есть желание, можно немного почитать о Thinstation тут, тут и тут (под списком файлов для загрузки). На русском языке информацию можно найти здесь, хотя она уже несколько устаревает. Там расписывается создание и настройка образов Thinstation версии 2.2.2, многое актуально и для 2.5. Непосредственно версии 2.5 посвящена пока лишь одна страничка. Итак, начнем.

Первая сборка

Так как Thinstation основан на Linux’е, значит для сборки тонкого клиента нам потребуется компьютер с установленным Linux’ом (спасибо, КО!). Я использовал Ubuntu 11.10. Также нам понадобится установить Git (если его еще нет) и с его помощью склонировать себе репозиторий с генератором образов:

После того, как генератор образов скачан, необходимо запустить скрипт:

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

Пришла пора собрать наш первый, пока что «толстый», образ. Этот большой образ с поддержкой очень широкого списка аппаратки нужен, чтобы сгенерировать затем небольшой профиль для поддержки нашего конкретного железа. Хочу отметить, что в этом и заключается одна из главных плюшек новой версии Thinstation: теперь не надо самому руками составлять список драйверов, которые следует включить в образ — он сгенерируется автоматически скриптом.

Как советуют разработчики, сборку надо производить «inside chroot session», поэтому из скрипта setup-chroot.sh не выходим (нажимаем лишь «Q», чтобы скрыть приветственное сообщение скрипта) и пишем следующие команды в тамошней консоли:

В файле build.conf раскомментируем строчку «package extensions«. Если у вас интернет через прокси, то еще раскомментируем строчку «param httpproxy» и укажем в ней свои настройки прокси-сервера (например, так: «param httpproxy user:password@proxy:port«), сохраним файл и продолжим сборку:

Смотрим на длинную портянку лога скрипта сборки, соглашаемся на скачивание дополнительных пакетов, если он попросит, и дожидаемся окончания процесса. Теперь копируем содержимое директории «/home/user/thinstation/ts/2.5/boot-images/pxe» (а это и есть наш собранный загрузочный образ) в корень TFTP-сервера и пробуем первый раз загрузить тонкого клиента по сети.

И вот тут мы можем встретить первые долгожданные грабли. Если оперативной памяти у вашего тонкого клиента мало, то мы возвращаемся к редактированию файла build.conf и закомментируем какой-нибудь тяжелый пакет, например «#package chrome«, повторяем сборку и видим уменьшение обзаза почти в 2 раза. Теперь загрузка должна пойти.

Даже после этого с вероятностью, близкой к 100%, полной загрузки тонкого клиента не произойдет. Но нам этого и не надо. Ждем, когда загрузчик покажет нам картинку с надписью «Thinstation» и прогрессбаром. После этого нажимаем Ctrl+Alt+F3 и видим консоль с приглашением войти. Вводим следующую пару логин-пароль «root — pleasechangeme» и запускаем скрипт:

Этот скрипт сгенерирует нам файлы профиля для конкретного железа нашего тонкого клиента. Обычно их два: «module.list» (список драйверов для нашего железа) и «vbe_modes.list» (графические режимы). Теперь их нужно скопировать на Linux-машину. Сделать это можно, например, через TFTP-сервер (он должен позволять запись). В консоли тонкого клиента вводим:

, где 192.168.0.1 — адрес нашего TFTP-сервера. Вернемся к Linux-машине, создадим там папку «/home/user/thinstation/ts/2.5/machine/my_machine» и скопируем в нее из корня TFTP-сервера наши два полученных файла.

Страшный зверь — смарт-карта

Итак, чтобы наши пользователи могли авторизоваться в системе с помощью смарт-карт необходимо несколько вещей:

  • Собственно, сами смарт-карты. Например, такие.
  • Устройства для чтения смарт-карт (картридеры). Например, такие.
  • И, конечно же, наш терминальный сервер должен быть соответствующим образом настроен, чтобы использовать смарт-карты для аутентификации. Данная настройка сервера — тема большая. Про нее отдельно можно посмотреть и почитать. Кроме того, для поддержки конкретных смарт-карт необходимо установить на терминальный сервер ПО производителя. Для выбранных мною в качестве примера карт фирмы Aladdin оно находится тут. На данном этапе будем считать, что мы уже справились с настройкой терминального сервера и он позволяет пользователям логиниться, используя смарт-карты.

Теперь нам необходимо найти и собрать драйвера для картридера под Linux. На сайте производителя находим драйвера тут, качаем и распаковываем:

Читаем README и видим, что для сборки нам понадобится установить пакет PCSC Lite (есть здесь, я ставил последнюю на тот момент версию ccid-1.4.5), а также нам понадобятся исходники libusb-0.1.12 (с более старшими версиями не собирается).

Ставим PCSC Lite, в папку с исходниками драйверов для картридера копируем файл usb.h из исходников libusb. Теперь запускаем обычное:

Так как Thinstation уже содержит в себе пакет PCSC Lite, мы можем просто скопировать наши драйвера в сборщик Thinstation, вот так:

Все, готово! Теперь картридер при загрузке тонкого клиента будет определяться и работать нормально. В версии 2.5 такие извращения для работы со смарт-картами, как для 2.2.2, больше не нужны.

RDP-клиенты

Теперь немного о том, каким клиентом мы будем подключаться к терминальному серверу.
На данный момент самыми известными клиентами для Microsoft RDP для Linux-систем являются rdesktop и его форк — FreeRDP. Но! rdesktop не поддерживает TLS 1.0, а FreeRDP не умеет работать со смарт-картами. И это вызывает откровенную печаль!

После продолжительных поисков был обнаружен еще один RDP-клиент фирмы 2X. Скачать его можно тут. Оказалось, что он умеет все вышеперечисленное, бесплатен и к тому же еще поддерживает MS RDP версии 7.0 и активно развивается. Каково же было мое счатье, когда я узнал, что этот клиент входит в Thinstation!

Источник

Тонкие клиенты (linux) из устаревших компьютеров

Мы — начинающая, но крайне активная компания. Как и у любой начинающей компании, у нас есть ограниченный стартовый капитал, который хотелось бы потратить с максимальной пользой. Одна из существенных статей таких расходов — покупка «железа», в частности, системных блоков. Мы решили отказаться от традиционной схемы «один сотрудник — один системный блок» и сделать офисную сеть на тонких клиентах. В качестве тонких клиентов были использованы списанные из организаций системники.

В наличии имеется следующее «железо»:

  • Мощный системный блок (двухядерный Athlon, 3Гб оперативной памяти, большой жесткий диск)
  • Несколько списанный системников уровня Pentium III, порядка 256 Мб оперативки, жесткие диски убитые/отсутствуют, есть CD-приводы

Необходимо из них собрать офисную сеть, чтобы все могли комфортно работать. Единственное решение в такой ситуации — сделать из списанных компьютеров тонких клиентов, которые могут работать на мощном компьютере (сервере). Загрузка тонких клиентов будет выполняться со специально сделанных LiveCD. Желательно использовать безопасный протокол, так как в будущем хотелось бы иметь возможность работать и удаленно (через интернет).

В качестве серверной ОС взята Linux (Ubuntu).

Для того, чтобы сделать тонких клиентов, воспользуемся thinstation. С официального сайта можно скачать как универсальный LiveCD, так и архив, из которого можно дальше сделать собственный iso-образ. LiveCD подходит для первого знакомства и содержит в себе различные клиенты для подключения к Windows и Unix серверам по разнообразным протоколам (RDP, VNC, SSH и т. д.) Мы будем работать с архивом и сделаем с его помощью свой iso-образ, «заточенный» под наши нужды.

Перед началом сборки определимся, какой сервер терминалов мы будем использовать. Так как у нас линукс, то, по идее, достаточно туннелировать графику через SSH, однако все это танцы с бубном — как на стороне клиента, так и на стороне сервера. Возьмем готовое решение — NX Server. Для Ubuntu уже существуют deb-пакеты. С другой стороны, NX client есть и в составе thinstation. Таким образом, нам остается только настроить сервер и сделать загрузочные CD-диски.

Делаем iso-образы клиентов

Примерная последовательность выглядит так:

1. Скачиваем с официального сайта пакет ThinStation. tar.gz

2. Распаковываем: tar xzvf Thinstation-2.2.2.tar.gz

3. В корневой папке редактируем build.conf и thinstation.conf.buildtime (эти файлы используются во время сборки образа)

  • В файле build.conf оставляем только нужные модули и пакеты (модули отвечают за драйверы, пакеты — за программы).
  • В блоке, где идет активация клиентов, оставляем только package nx — это наш NX клиент.
  • param nxurl должен указывать на пакет nxclient. tar.gz (этот пакет подгружается во время сборки iso-образа). Можно указать внешнюю ссылку, можно скачать и положить на localhost. Ссылки на образы других клиентов, естественно, комментируем.
  • param keyfile — берем с сервера (файл ssh_host_rsa_key.pub). Рекомендую прописать полный путь до этого файла во избежание путаницы.
  • param knownhosts — проще всего сгенерировать с помощью любого LiveCD. Загружаемся, по ssh выполняем вход на наш сервер, после этого в профиле должен появиться файл known_hosts. Копируем его. Также необходимо прописать полный путь до этого файла.
  • В файл thinstation.conf.buildtime копируем содержимое из /conf/nx.conf.sample и /conf/x-common.conf.sample. Настраиваем, исходя из своей сети. Проще всего прописывать статические ip-адреса.

Образец файла thinstation.conf.buildtime:

NET_USE_DHCP=Off
NET_IP_ADDRESS=10.0.0.3
NET_MASK=255.255.255.0

SESSION_0_TYPE=nx
SESSION_0_TITLE=»Gnome»
SESSION_0_NX_ADVANCED_ENABLE_SSL_ENCRYPTION=»true»
SESSION_0_NX_GENERAL_DESKTOP=»Gnome»
SESSION_0_NX_GENERAL_SERVER_HOST=»10.0.0.1″
SESSION_0_NX_GENERAL_REMEMBER_PASSWORD=»true»
SESSION_0_NX_GENERAL_RESOLUTION=»fullscreen»
SESSION_0_NX_GENERAL_SESSION=»Unix»

SCREEN_RESOLUTION=»1280×1024″
SCREEN_COLOR_DEPTH=»24″
SCREEN_BLANK_TIME=10
SCREEN_STANDBY_TIME=20
SCREEN_SUSPEND_TIME=30
SCREEN_OFF_TIME=60

4. Выполняем сборку образа: ./build

5. Смотрим на лог сборки. Если все ОК — готовый образ появится в /boot-images/iso/. Записываем его на болванку.

Устанавливаем сервер терминалов

Делаем так, как указано на официальном сайте:

sudo dpkg -i nxclient…
sudo dpkg -i nxnode…
sudo dpkg -i nxserver…

Все должно заработать «из коробки».

Чтобы убедиться в работоспособности, можно быстро загрузиться с любой другой машины через LiveCD (Ubuntu/Xubuntu), прописать у нее сеть, поставить на нее только NX клиента, и подключиться к нашему серверу.

Все работает бодро. В нашей системе почему-то не активируется смена языка, пришлось в автозагрузку профиля добавить вот такой скрипт:

setxkbmap -model pc105 -layout us,ru\(winkeys\) -option -option grp:alt_shift_toggle -option compose:ralt

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

Наконец, бесплатная версия NX сервера допускает одновременную работу только двух клиентов (итого — 3 человека: один на самом сервере, 2 — через тонких клиентов). Если хотим больше — либо приобретаем платную версию, либо ставим виртуальные системы (например, на proxmox). Но это уже, как говорится, совсем другая статья…

Источник

Читайте также:  Где хранится заставка экрана блокировки windows 10
Оцените статью
ФОТО МОДЕЛЬ ФАЙЛЫ ДЛЯ ЗАГРУЗКИ