Raspberry pi 4 как тонкий клиент

Обновлено: 05.07.2024

Это вряд ли произойдет в ближайшее время, но это не делает его абсолютно невозможным. С компьютером Windows, настроенным как сервер, можно создать сеанс виртуального рабочего стола и получить к нему доступ с помощью Raspberry Pi.

Это известно как тонкий клиент, и Raspberry Pi идеально подходит для этой работы. Вот как можно получить доступ к удаленному рабочему столу Windows с помощью тонкого клиента Raspberry Pi.

Что такое тонкий клиент?

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

Есть большая вероятность, что вы использовали тонкий клиент, не осознавая этого. Если вы когда-либо работали с компьютерами, которые подключаются к серверу Citrix, то вы использовали тонкий клиент (или стандартный рабочий стол, выполняющий роль тонкого клиента). Возможно, вы также использовали тонкий клиентский ПК в своей локальной библиотеке или в колледже.

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

Этот проект демонстрирует, как Raspberry Pi может занять место этой «машины с низкой спецификацией» и работать как тонкий клиент с ПК под управлением Windows в качестве сервера.

Тонкий клиент Raspberry Pi Windows: что вам нужно

Чтобы создать тонкий клиент Raspberry Pi, который вы можете использовать для регулярного доступа к ПК с Windows и запуска приложений на нем, мы покажем вам, как установить и использовать WTWare.

Для начала убедитесь, что у вас есть следующее:

  • Raspberry Pi 2 или более поздней версии (для достижения наилучших результатов мы использовали Raspberry Pi 3B +)
  • Отформатированная, пустая карта microSD
  • Компьютер с Windows
  • Монитор, клавиатура и мышь для вашего Raspberry Pi
  • Надежный источник питания
  • Компьютер под управлением Windows 10 Pro (или более ранней версии, поддерживающей службы терминалов) или Windows Server 2016

Подробнее о WTWare

Оптимизированный для сетевой загрузки, WTWare поддерживает загрузку с локального носителя для Raspberry Pi и работает с обычными RDP-серверами. WTWare также предлагает поддержку локального оборудования, такого как принтеры и аутентификаторы смарт-карт.

Ключом к этому (и к любой настройке тонкого клиента / сервера) является хранение пользовательских данных на сервере Windows. Настройки, программы и сохраненные данные хранятся на сервере и могут быть доступны в последующих сеансах.

WTWare можно настроить для загрузки Raspberry Pi с карты microSD или по сети, благодаря поддержке среды предзагрузки Raspberry Pi (PXE).

Установка WTWare в Windows и на Raspberry Pi

Как только установщик WTWare будет загружен, дважды щелкните его, чтобы установить в Windows. После этого вставьте карту microSD Raspberry Pi в компьютер с Windows. Это должно было быть отформатировано уже с использованием SD Card Formatter от SD Foundation.

Для этого скачайте и запустите SD Card Formatter. Выберите карту microSD (она должна быть обнаружена автоматически) в разделе Выберите картузатем убедитесь Быстрое форматирование выбран.

Кроме того, проверьте Настройка размера формата CHS коробка. Когда вы сделали этот клик Формат и дождитесь завершения процесса.

Отформатируйте карту microSD вашего Raspberry Pi

Затем запустите WTWare Configurator из меню «Пуск», выбрав SD загрузочная карта для Raspberry Pi опция меню. Убедитесь, что выбрана правильная буква диска для SD-карты, затем нажмите следующий,

WTWare Configurator для Raspberry Pi

На следующем экране выберите тип тонкого клиента, которым должен быть Raspberry Pi. Доступны два варианта:

Локальная загрузка: Файлы операционной системы тонкого клиента загружаются с SD-карты.

Сетевая загрузка: Это конфигурирует SD-карту для сетевой загрузки на Raspberry Pi 2 и Raspberry Pi 3. Также есть возможность настроить одиночную загрузку с SD-карты для программирования Raspberry Pi 3 для последующей загрузки без него.

Выберите ваше сетевое соединение в WTWare

Самым простым вариантом на этом этапе является использование Локальная загрузка, Как только вы ознакомитесь с настройкой, перейдите к загрузке по сети.

Настройте параметры сети вашего тонкого клиента

Нажмите следующий чтобы перейти на вкладку «Сеть» и выбрать между IP-адресом, назначенным DHCP-сервером, или указанием статического IP-адреса для Raspberry Pi. Если вы планируете использовать Wi-Fi, выберите Работа над WiFi флажок

Прогресс еще раз, нажав следующий, затем выберите предпочтительную конфигурацию. Опция по умолчанию здесь подходит для первого запуска. Нажмите следующий снова, затем установите флажок Сохранить параметры в config.txt файл. Это означает, что вы сможете изменить конфигурацию вашего тонкого клиента позже. Вы должны использовать этот экран, чтобы установить предпочтительное разрешение экрана.

Последний щелчок следующий позволит вам установить Пароль для входа в меню настроек терминала, Как только это будет сделано, нажмите Написать начать установку.

Запишите конфигурацию WTWare для Raspberry Pi

Нажмите да согласиться с предупреждением и подождать, пока данные будут записаны на SD.

Настройка вашего тонкого клиента Raspberry Pi

После того, как изображение будет записано на вашу карту microSD, будет безопасно извлечь носитель и вставить его в выключенный Raspberry Pi. Включение питания загрузит Raspberry Pi на экране управления терминалом.

Здесь используйте Сетевые СМИ можно выбрать между WiFi Wireless и Ethernet, а затем установить соответствующие учетные данные. Вам понадобится SSID и пароль сети.

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

Создать конфигурацию WTWare

С этого момента просто войдите в сеанс виртуального рабочего стола RDP и начните использовать Windows и все установленные приложения на Raspberry Pi.

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

Это лучший способ запустить Windows на Raspberry Pi

Многие операционные системы доступны для Raspberry Pi, но Windows не является одной из них. Это лучший способ получить текущие функциональные возможности Windows на вашем Raspberry Pi, если не считать подключения через VNC или RDP.

Хотите повысить производительность своего Raspberry Pi, но не заинтересованы в том, чтобы настроить его в качестве тонкого клиента? Это может быть более продуктивным, чем вы думаете. Вот что случилось, когда я использовал Raspberry Pi в качестве основного компьютера в течение недели

Использование Raspberry Pi в качестве настольного ПК: 7 вещей, которые я выучил через неделю



Использование Raspberry Pi в качестве настольного ПК: 7 вещей, которые я выучил через неделю
Может ли скромный Raspberry Pi заменить настольный ПК? Я потратил семь дней на написание и редактирование Pi, с интересными результатами.
Прочитайте больше

,

Узнайте больше о: Raspberry Pi, Удаленный рабочий стол, Тонкий клиент, Виртуальный рабочий стол, Windows 10.

Часто возникает вопрос - как загрузить Raspberry Pi с Thinstation? Ответ - никак, Thinstation не поддерживает архитектуру ARM.
Но можно использовать RasPi в качестве тонкого клиента и с "родной" ОС.

В начальной настройке выбираем всё на русском, ставим свою таймзону, меняем пароль, обновляемся и перезагружаеся.

1

В терминале настраиваем опции подключение xfreerdp к терминальному серверу.

Настраиваем систему. Для этого, запустить административную утилиту, выполнив команду:

config

(Навигация осуществляется стрелками, табуляцией, Enter — выбор, ESC — возврат)
Перейти в System Options и изменить Hostname, например THIN1 -> Ok.
Перейти в System Options -> S5 -> B2 -> Ok (Загрузка без Х с автологином Pi)
Перейти в Interface Options и включить доступ по SSH.
Finish
Перезагрузиться по запросу, или командой:

$ sudo reboot

Выясняем IP-адрес командой

$ ifconfig

И теперь можем подключиться к устройству удаленно по SSH

Создадим скрипт, который запускал бы freerdp на полный экран. В каталоге /home/pi создадим файл runrdp:

На этот скрипт надо поставить права на запуск.

$ chmod 755 /home/pi/runrdp

Запускаем скрипт, на экране должно отобразиться окно подключения к удаленному рабочему столу.

Создадим скрипт, который бы, при запуске x-сервера, открывал RDP-сеанс.
Для этого, в каталоге /home/pi создадим файл автозапуска при начале X-сессии .xinitrc, следующего содержания:

Получится вот такая простая менюшка:

menu

Редактируем /home/pi/.profile, дописав туда следующие строки:

Перезагружаем систему, тестируем.

PS

Я не тестировал, но скорее всего можно взять Raspberry Pi OS Lite и прочитать пост.

Стоимость тонкого клиента зависит от производителя, аппаратных характеристик, используемой ОС и поддерживаемого функционала, но даже самые экономичные решения начинаются, как правило, от 200$.

На фоне этого весьма интересной выглядит идея использовать дешевые компьютеры на базе процессоров ARM в качестве тонких клиентов. Так, например, несколько лет назад на рынке появились Computer Stick - крошечные компьютеры с ОС Andoid на борту, выполненные в форм-факторе USB flash-накопителей, снабженные HDMI портом, Wi-Fi адаптером, USB портом для подключения периферии и разъемом для Micro SD карт. В основном данные устройства использовались в качестве медиа плееров для того, чтобы сделать из обычных телевизоров т.н. Smart TV, хотя Dell даже выпустила устройство Wyse Cloud Connect.


Однако, не смотря на привлекательную цену (можно без проблем найти Compute Stick от какого-нибудь китайского производителя за 70$), ограничения со стороны ОС Android и программ-клиентов, отсутствие Ethernet разъема для подключения к проводной сети (хотя при желании можно использовать USB-Ethernet адаптеры), не привели к широкому распространению подобных устройств в качестве тонких клиентов.

Raspberry Pi

Появление одноплатных компьютеров Raspberry Pi, поддерживающих ОС Linux, имеющих весьма производительную аппаратную начинку при цене всего в 35$, возродило интерес к созданию дешевого ТК.


Благодаря своей компактности, производительности и невысокой цене RPi стал интересной основой для построения различных DIY (Do It Yourself) устройств: медиа центров, игровых приставок, устройств для умного дома и т.д. Более того, некоторые производители бизнес-решений также заинтересовались в RPi, например, компания ThinPrint объявила о скором выходе принт-сервера ThinPrint Hub на базе RPi.

За несколько лет пребывания RPi на рынке вышло несколько поколений устройств. Последняя и наиболее продвинутая на сегодня версия Raspberry Pi 2 Model B имеет следующие характеристики:

  • Четырехъядерный процессор ARM Cortex-A7 с частотой 900 МГц (Broadcom BCM2836).
  • 1 ГБ оперативной памяти.
  • Четыре порта USB 2.0.
  • Один порт HDMI 1.3a.
  • Один Ethernet порт 10/100 Мбит/с.
  • Один 3.5 мм стерео аудио разъем, совмещенный с композитным видео разъемом.
  • Micro USB разъем для подключения питания.
  • Micro SD слот для установки карт памяти.

Если взглянуть на характеристики многих ТК начального уровня, например, Dell T10, то можно увидеть, что RPi крайне схож по параметрам, а в чем-то даже превосходит своих коллег.

При покупке RPi следует понимать, что за 35$ вы получите только саму плату-компьютер. Дополнительно вам придется раскошелиться на корпус, карту памяти, блок питания (рекомендуется использовать БП, выдающие 1.8А и выше), USB кабель к нему, мышь и клавиатуру.

Из дополнительных аксессуаров может потребоваться VESA крепление для установки на монитор и адаптеры для питания через PoE (Power over Ethernet).

Операционные системы для ТК на Raspberry Pi

Для RPi существует много официальных и неофициальных дистрибутивов ОС, которые так или иначе могут использоваться для создания ТК.

Первый вариант, который приходит на ум - использовать один из официальных дистрибутивов: Raspbian, основанный на Debian, или Ubuntu MATE, основанный, соответственно, на Ubuntu.


Из плюсов - стабильность работы, симпатичные оболочки для рабочего стола (LXDE или MATE), большой набор сторонних приложений, устанавливаемых из репозиториев, что позволит использовать устройство в качестве более-менее полноценной замены обычному ПК (есть web-браузер, офисный пакет Libre Office). Из минусов - устанавливать клиентское ПО и настраивать ТК придется самостоятельно. И если найти клиент Citrix Receiver не проблема, то, например, VMware Horizon Client для Linux под процессоры ARM доступен только технологическим партнерам, доставать его с какого-нибудь ТК - удовольствие сомнительное.

Альтернативный вариант, Raspberry Pi Thin Client Project (RPiTC2) обладает, пожалуй, самым широким перечнем функциональных возможностей. RPiTC2 поддерживает клиенты для многих популярных терминальных сред и VDI инфраструктур, включая Citrix XenApp и XenDesktop, VMware Horizon View, Microsoft RDS, NoMachine NX, Thinlinc, Parallels 2X, Red Hat SPICE.

RPiTC2 представляет собой дистрибутив на базе Debian с оболочкой XFCE4, из которого убрано все лишнее (по умолчанию установлен только web-браузер Iceweasel). Установка клиентов для удаленного подключения и дополнительного ПО выполняется из мастера RPiTC Builder.


В PRiTC2 присутствует несколько интересных функций, например, разгон CPU, плагин для Citrix с аппаратной поддержкой декодирования H.264, VNC сервер, несколько клиентов для RDP, включая собственную сборку - dFreeRDP, отличающуюся более высоким уровнем производительности.

Еще один вариант может подойти тем, кто использует терминальные решения Microsoft. Компания WTware, разработчик одноименного ПО, позволяющего создавать нулевые клиенты из обычных ПК, предлагает бесплатную версию и для Raspberry Pi 2.

Несмотря на то, что WTware работает только с RDP протоколом, поддерживаются такие функции, как воспроизведение звука, проброс в удаленную сессию дисков, принтеров и serial-устройств. Кроме того, WTware имеет встроенный VNC сервер, с помощью которого можно наблюдать за работой пользователей ТК, и web-браузер Chrome.


Разработчик активно дорабатывает свое ПО, в будущем планируется поддержка аутентификации по смарт-картам и проброс USB устройств.

Последний и довольно экзотический вариант - сборка Chromium OS под Raspberry Pi.

Chromium OS имеет встроенный браузер Chomium, что позволяет подключаться к инфраструктуре VMware View, используя протокол Blast, или Citrix XenApp/XenDesktop (при помощи Citrix Receiver for HTML5).

Недостатки Raspberry Pi

Кратко описав варианты ОС для создания ТК, перейдем к недостаткам использования RPi в качестве ТК.

Пожалуй, самым главным недостатком является отсутствие поддержки со стороны производителей. Выбирая RPi, вы берете на себе ответственность за работоспособность данного решения. Все проблемы, с которыми вы будете сталкиваться, вам придется решать самостоятельно, используя Google, либо форумы разработчиков ОС.

Сырость ОС и ограничения клиентского ПО под архитектуру ARM. Например, клиент VMware Horizon Client под Linux ARM не поддерживает RTAV (Real Time Audio-Video), Scanner Redirection, Multimedia Redirection, Serial-port Redirection. Клиенты RDP не отличаются высокой производительностью и стабильностью работы. Клиенты Citrix Receiver и VMware Horizon Client требуется доводить до кондиции, особенно если вы устанавливаете их самостоятельно. Но следует отметить, что во многих "готовых" тонких клиентах под ARM присутствуют подобные недостатки.

Отсутствие ПО для централизованного управления и обновления ТК (кроме WTware). Если для ТК Dell или HP вы можете использовать Wyse Device Manager или HP Device Manager, то для RPi вам придется самому писать скрипты или осваивать что-нибудь вроде Ansible.

Отсутствие кнопки включения и перезагрузки устройства. На первый взгляд небольшой недостаток, но при длительной эксплуатации он может серьезно мешать работе. RPi включается сразу же, как только на устройство подается питание. При зависании или попытке выключить устройство из ОС, придется отключать и снова включать кабель питания устройства. Обходной вариант - подключать питание к RPi по USB от монитора, и включать/выключать вместе с монитором, либо осваивать навыки пайки.

Отсутствие поддержки загрузки по PXE - RPi поддерживает загрузку только с Micro SD карт (справедливо для старых поколений устройств, в RPi 3 добавлена загрузка по PXE и с USB накопителя).

Только один видеовыход HDMI, как следствие - отсутствие поддержки многомониторных конфигураций. Кроме того, не все мониторы имеют HDMI разъем, поэтому может потребоваться переходник.

Низкая производительность для ресурсоемких задач (проигрывание видео, графические редакторы, САПР в удаленной сессии). Для типовой офисной работы RPi вполне хватает, но не следует ждать чудес от устройства за 35$ там, где не справляется ТК за 600$.

Вывод

Вывод по поводу использования Raspberry Pi в качестве ТК очень простой. Если на первом месте стоит снижение затрат на покупку, и вы готовы самостоятельно дорабатывать данное решение, то в этом случае RPi - безоговорочный лидер. Вполне возможно, что кто-то из производителей рано или поздно решится сделать ТК на базе RPi.

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

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

В наличии у меня Raspberry Pi B+ и 20-ти дюймовый монитор с выходами DVI и VGA.

Мне понадобиться для подключения к монитору переходник либо HDMI-VGA либо HDMI-DVI. Подключаться к сети буду по сетевому кабелю.

Сложнее вопрос стоит с выбором программной части. На данный момент выбирать придется из следующих решений:

Есть хороший проект от Gibbio на blogger который использует Debian Linux как основу для превращения Raspberry Pi в тонкий клиент, который работает с RDP, VMWare View, Citrix, OpenNX, и Spice. После записи образа на SD карту, система готова к работе. Я ее проверял для протокола RDP и все работает с некоторыми оговорками о которых я сообщу ниже.


  • Raspberry Pi Rev B с подключением к сети, монитором, клавиатурой, и т.д..
  • SD карта размером как минимум 2GB. Чем быстрее тем лучше.


  1. Вставьте SD карту в рабочий компьютер чтобы записать на нее образ
  2. На компьютере скачайте ISO образ по этой ссылке.
  3. Распакуйте ISO файл во временную директорию.
  4. Если у вас Linux, то переходите на шаг 6. В случае если у вас Windows, то скачайте DD для windows отсюда.
  5. Распакуйте DD в рабочую папку и запомните ее адрес, он нам скоро понадобиться.
  6. Вставьте SD карту и удалите все разделы на ней. Я предпологаю вы знаете как это сделать на Linux, а для Windows используйте Diskpart: Diskpart (Enter), List Disk (Enter), Select Disk X (Enter), List Partition (Enter), Select Partition X (Enter), Delete Partition (Enter). Повторите команду list, select, delete для каждого раздела на SD карте потом выбирайте Exit (Enter). Убедитесь что вы выполняете эти команды на нужном вам диске, что бы случайно не удалить все ваши важные данные!
  7. Запишите образ используя DD: dd bs=1M if=c:\temp\RPi-TC_ARMv6j_r1.img od=d: ГДЕ: c:\temp\RPi. = место нахождение образа and od=d: ссылка на диск смонтированный SD карты. Обновлено: Если у вас проблем с использование dd, попробуйте Roadkill's disk imager.
  8. Извлеките SD карту (корректно) и установите в Raspberry Pi
  9. Запустите Pi.
  1. Двойной клик по иконке X2Go Client
  2. Нажмите "New Session" в верхнем левом углу.
  3. Дайте имя сессии и введите адрес хоста
  4. Введите логин domain\username
  5. Смените "Session Type" на "Connect to Windows terminal server" и выберите "Direct RDP Connection"
  6. Нажмите на таб "Settings" и смените Display на необходимое разрешение. (Работает также полно экранное отображение) Я не смог заставить работать xfreerdp но rdesktop работает хорошо.
  7. Нажмите "OK"
  8. Кликните на созданую сессию и введите пароль.
  9. Наслаждайтесь RDP подключением! Если вы выберете Fullscreen, то возврат из полно экранного режима произойдет после нажатия CTRL+ALT+ENTER
  • Похоже на данный момент NLA не поддерживается, я постараюсь разобраться с этим. Для отключения NLA уберите опцию подписанную как "Allow connections only from computers running Remote Desktop with Network Level Authentication" на закладке "Remote" в advanced system properties окне на машине к которой подключаетесь.
  • RemoteFX работает, но он оказался медленнее чем RDP. Я буду с этим разбираться.
  • Аудио, буфер обмена, мультитач, и USB переброс похоже не работают. Надеюсь я разберусь с этим.
  • Я не пробовал остальные клиенты для подключения еще, но я могу сказать об успешном подключении VMWare view клент от друга.
  • У Raspberry Pi есть проблемы с некоторыми мышками. Если у вас проблемы с мышью - попробуйте другую модель.
  • Новые билды используют пере-настроенное ядро. Если вам нужно вернуться на стандартное ядро вы можете это сделать изменив строчку kernel=kernel.img наkernel=kernel-std.img в файле /boot/config.txt и перезагрузить. Debian по умолчанию содержит Vi и Nano так что вы сможете легко изменить файл.

Обновление: Я хочу подчеркнуть что решение еще не готово для использованию в продакшене из-за вопросов, перечисленных выше.

И более важная информация это то что новый билд уже выпущен! Внимание Remmina не работает еще но Gibbio работает над этим.

Обновление6/27: Gibbio выпустил новый билд который выглядит очень интересно. Среди прочих нововведений он представил XFCE рабочий стол.

Обновление 7/1: Новый билд работает с xfreerdp который похоже немного производительнее чем rdesktop. Что бы его запустить - наберите команду в терминале или создайте на рабочем столе ярлык со следующими параметрами:

xfreerdp /v:server.domain.ext /u:UserName /p:Password /d:DOMAIN /f /cert-ignore

Где: /v: машина к которой подключаемся, /u: имя пользователя, /p:пароль, /d:домен пользователя, /f это полно экранный режим (если необходимо) и /cert-ignore для игнорирования не проверенных сертификатов. Для остальных опций сморите эту вики страницу.

2. ОС Raspbian или что либо debian-подобное с установкой dfreerdp

3. ОС TinyCoreLinux и использовать стандартное ПО для подключения по RDP

Основной критерий выбора софта - скорость работы и не затормаживание изображения. Звук не обязателен.

Читайте также: