RDP (не)тонкий клиент c Linux на базе Неттопов (Nvidia ION, Intel Atom)
В сегодняшний век повсеместной виртуализации возникает необходимость экономить на всем. Наиболее значимые для любого системного администратора сущности, это:
- Время (затраты на обслуживание системы)
- Железо (различные сбои, потеря производительности, устаревание)
- ПО (лицензионная составляющая, защита от вирусов, централизация управления приложениями)
В своей статье я рассматриваю реализацию (не)тонкого клиента на базе ОС Linux, как прослойке между аппаратной составляющей и привычным интерфейсом ОС Windows.
(Не)тонкий клиент, в моем понимании, это дистрибутив ОС Linux обладающий следующими свойствами:
- достаточно большой набор компонентов для загрузки; не подходит для загрузки по сети
- достаточно маленький набор компонентов; не рационально устанавливать жесткий диск
В качестве платформы для реализации я выбрал Nvidia ION ввиду:
- Производительный процессор
- Производительная графика (в рамках неттопов)
- Малошумный (есть варианты с активным и пассивным охлаждением)
- Занимает мало места (есть возможность крепления на монитор)
- Достаточно надежный (ломаться особо нечему)
Также мне понадобится один USB-flash накопитель на 4Гб, который как раз и будет заменой жесткого диска.
Дистрибутив Linux для установки был выбран OpenSUSE. На текущий момент это версия 12.2
Ну, приступим…
Про замечательный проект Suse Studio писали много. С помощью него мы будем создавать конечное решение терминального (не)тонкого клиента:
Создаем новое решение:
Как видно, выбор богатый:
Нам нужно самое легкое решение, поэтому используем шаблон: «минимальная графическая система с оболочкой IceWM».
Теперь можно обустраивать наш дистрибутив!
Software
Данное решение «из коробки» уже содержит необходимые компоненты для запуска графической системы и «легкого» оконного менеджера.
Если все оставить по умолчанию, то может потребоваться достаточно много усилий, чтобы настроить эту систему (видео драйвер, сетевые настройки и т.д.). Мне же нужно решение: поставил, адрес вбил и забыл.
Добавляем следующие компоненты (зависимые пакеты добавятся автоматически):
- freerdp (для любителей rdesktop, можно установить его)
- acpi, acpid (для корректной работы кнопки питания)
- mc (по желанию)
Добавляем из репозитария Nvidia драйвера для видеокарт Nvidia ION:
- x11-video-nvidiaG02
- nvidia-gfxG02-kmp-default
Добавляем из репозитария драйвера для видеокарт Intel:
- xorg-x11-driver-video-intel-legacy
(Отличная статья какой видео драйвер Nvidia выбрать)
Удаляем:
- nouveau (драйвер для графических карт Nvidia с открытым исходным кодом)
Configuration
General: Обязательно меняем пароль root и указываем нашего дефалтного пользователя.
Startup: Графический вход
Desktop: с автоматических входом нашего пользователя
Здесь можно задать параметры при загрузке, что мы и сделаем:
setkxbmap -model pc104 -layout us,ru -variant,
наша клавиатура имеет 104 кнопки с 2-мя раскладками
setkxbmap -option grp:alt_shift_toggle
и переключаться она будет по alt+shift
чтобы у пользователя не было желания начать изучать линукс
задержка необходима в случае получения ip-адреса по DHCP, icewm иногда быстрее прогружается.
(или rdesktop -k en-us -u domain\\user -f server_ip)
прячем панель задач (более полно тут)
Для особых позльзовательских настроек, можно прописать дополнительные команды в любом кол-ве.
Для настроек первого запуска, идем в следующую секцию:
Scripts
В секции First Boot добавляем пару строчек:
OpenSuse 12.1
OpenSuse 12.2 (Grub2)
ставим таймаут выбора вариантов загрузки ОС 0 секунд
Добавляем нашему пользователю (который случайно может завершить сессию RDP, автостарт клиента RDP). По желанию можно сделать более маленький промежуток времени.
Пользоваляем нашему пользователю выключать компьютер
Files
Собственно сюда я загрузил свой простенький скрипт, который считает кол-во попыток запуска RDP, когда пользователь ничего не ввел. По истечении кол-ва попыток происходит shutdown системы.
Источник
RDP Linux — лучшие клиенты для удаленного рабочего стола
Удаленный рабочий стол — это удивительная функция, которая позволяет подключаться, как следует из названия, к удаленной операционной системе. Подключение производится через сетевое соединение, так что вы можете управлять им из своего текущего местоположения.
Это отличная функция, потому что у нее много приложений, таких как:
- помощь вашей маме в исправлении сломанной системы,
- обучение кого-то, как что-то сделать (такая услуга может даже быть оплачена),
- выполнение задач, которые вы хотите выполнить на разных машинах или серверах
O RDP
Во-первых, вы должны знать, что для того, чтобы две машины могли общаться друг с другом, им нужен так называемый «протокол». Протокол удаленного рабочего стола — это способ передачи инструкций с одного компьютера на другой. В результате, получается возможность графически управлять другой системой.
Существует много известных протоколов удаленных рабочих столов, таких как RDP (Remote Desktop Protocol). Он является проприетарным протоколом, разработанным Microsoft и реализованным в ОС Windows.
Протокол VNC (Virtual Network Computing), который является бесплатным и открытым исходным кодом.
Теперь, в отличие от протоколов, вам, конечно, понадобится программа для доступа к удаленному рабочему столу. Обычно люди используют для этого проприетарную программу TeamViewer. Но есть много других открытых альтернатив TeamViewer, которые можно использовать.
Подробнее о TeamViewer можно узнать в данной статье.
В этой статье мы перечислим лучшие из этих программ с открытым исходным кодом для удаленного рабочего стола.
TigerVNC
TigerVNC специализируется на высокопроизводительном приложении с открытым исходным кодом для удаленного рабочего стола. Главным образом предназначен для отображения 3D и видео приложений по всему протоколу. Программа имеет архитектуру клиент-сервер, где необходимо установить сервер на хост-компьютере и поддерживать работоспособность, чтобы клиент мог подключиться.
Разработка TigerVNC началась еще в 1999 году компанией At & T, где она была проприетарным ПО. Позже, спустя много лет, он был разветвлен между различными компаниями. В результате, стабилизировался как приложение с открытым исходным кодом. Он выпущен под лицензией GPL.
TigerVNC доступен для Windows, MacOS и Linux. Вы также обычно найдете его в официальных репозиториях вашего дистрибутива Linux.
Rdesktop
Это программа с открытым исходным кодом для подключения к хостам Windows по протоколу RDP.
Разработка Rdesktop началась еще в 2001 году, когда Microsoft начала распространять свой новый протокол RDP в ОС. В то время еще не было реализации с открытым исходным кодом для этого протокола. Разработчик программы спроектировал протокол RDP для создания Rdesktop и сделал его открытым исходным кодом.
Rdesktop очень легкий. Размер загружаемого файла менее 500 КБ. Просто, потому что это не идет с пользовательским интерфейсом. Rdesktop — это приложение командной строки, поэтому вам нужно запустить командную строку и запустить ее с IP-адресом хоста, который вам нужен. В результате вы откроите окно, достаточное для отображения интерфейса удаленного рабочего стола:
Последний выпуск реализован недавно. Вы найдете его в официальных репозиториях дистрибутива или загрузить вместе с исходным кодом с GitHub. Rdesktop выпускается под лицензией GPL.
FreeRDP
FreeRDP является одним из самых известных решений с открытым исходным кодом, когда речь идет об удаленном рабочем столе. Его разработка началась еще в 2009 году как программы rdesktop. FreeRDP лицензируется Apache 2.0.
FreeDRP разветвлен от Rdesktop, потому что, по словам разработчиков , первоначально Rdesktop не хотели использовать открытые спецификации Microsoft, которые были выпущены в этом году для протокола RDP. Вместо этого они предпочитали продолжать работу по обратному инжинирингу. И, похоже, начались жаркие споры о принятии конкретных решений, что привело к созданию FreeRDP в 2009 году.
FreeRDP позволяет вам подключаться к любому хосту Windows, используя протокол RDP.
Он также поддерживает перенаправление:
- аудио
- принтеров
- серийных номеров
- буфера обмена
- дисков с хост-компьютера на ваш компьютер
Вы также можете выбрать собственную ширину или высоту для:
- рабочей области
- обоев
- темы
- режима композиции (вкл или выкл),
- шрифтов
- многих других.
Кроме того, можете запускать RemoteApps.
Вы можете скачать FreeRDP или получить доступ к исходному коду на GitHub.
Remmina
Одно из лучших приложений для удаленного рабочего стола с открытым исходным кодом. Remmina — это современное настольное приложение, поддерживающее протоколы RDP, VNC и SSH в одном приложении. Вы также можете открыть много хостов и переключаться между ними одновременно. Remmina поставляется с красивым значком, который позволяет быстро управлять подключениями.
Интерфейс программы поддерживает несколько вкладок. В результате, вы можете запускать несколько удаленных подключений и переключаться между ними одновременно.
Кроме того, приложение поддерживает:
- автоматическое масштабирование
- снимки экрана
- сочетания клавиш
- функции VNC / RDP
- шифрование
- совместное использование устройств
- перенаправление
- другие вещи
Приложение доступно для простой установки во всех основных дистрибутивах Linux, поставляется в форматах Flatpak и Snap и работает на Raspberry Pi. Однако приложение недоступно ни для Windows, ни для MacOS. Он выпущен под лицензией GPL.
Вы можете получить его с официального сайта или выполнить поиск в репозиториях вашего дистрибутива.
Apache Guacamole
Apache Guacamole — это уникальное ПО в нашем списке. Причина в том что, в отличие от других, работает как веб-приложение для просмотра всех удаленных рабочих столов, которые вы хотите. Вот почему разработчики ПО называют его «удаленным рабочим столом без клиента». Потому что, ему не нужен клиент (хотя он и есть), но работает из веб-браузера. Все, что нужно сделать, это установить серверную версию на свой хост, чтобы получить к ней доступ из Интернета.
Кроме того, в отличие от других решений в этом списке, Apache Guacamole предоставляет полный API на многих языках программирования для доступа и расширения своей основной кодовой базы. Огромный перечень документов доступен бесплатно на официальных сайтах. Apache Guacamole предоставляют коммерческую стороннюю поддержку предприятиям, желающим использовать программное обеспечение.
Официальный сайт Apache Guacamole
Вывод
Как вы уже могли видеть, существует множество альтернатив TeamViewer и другим программам удаленного рабочего стола в мире открытого исходного кода. Этот список должен помочь вам в этом.
Кроме того, есть некоторые другие проекты с открытым исходным кодом, которые не были упомянуты здесь подробно, такие как:
- Grdesktop (графический интерфейс пользователя для Rdesktop, слишком старый),
- XRDP
- mRemoteNG
- UltraVNC
Источник
БАЗА ЗНАНИЙ
Инструменты пользователя
Инструменты сайта
Тонкий клиент (RDP-клиент) под управлением Linux
В этой статье пойдет речь о подключении терминальных устройств под управлением операционных систем Linux к службе удаленных рабочих столов Windows по протоколу Remote Desktop Protocol (RDP). Статья рассчитана на читателя с начальными навыками настройки Linux.
Служба удаленных рабочих столов Windows является основным инструментом концепции визуализации. Вместо того, что бы оснащать каждое рабочее место полноценной рабочей станцией стало выгоднее использовать один мощный сервер, включить на нем службу удаленных рабочих столов и разделить его мощность на сравнительно слабые терминалы рабочих мест сотрудников. При этом сервер даже не обязательно покупать, его можно арендовать в облаке.
Остается вопрос какими терминалами оснастить рабочие места сотрудников. Есть несколько вариантов решения этого вопроса со своими плюсами и минусами:
Итак, все очень просто. Нужно установить FreeRDP — свободный клиент для протокола RDP. Он доступен практически для всех платформ и присутствует в репозиториях всех популярных дистрибутивов Linux.
DEB-based дострибутивы Linux:
RPM-based дострибутивы Linux:
Разберемся с нужными нам параметрами консольной команды. Откроем справку:
и познакомимся с опциями:
/v [:port] | указывает адрес:порт сервера службы удаленны рабочих столов. Адрес можно задавать как в виде IP адреса, так и в виде доменного имени |
/f | полноэкранный режим, как раз то, что нужно для тонкого клиента |
/u [ \] | указывает имя пользователя на сервере службы удаленных рабочих столов |
/p |
Как можно заметить, это далеко не полный список опций, которые можно использовать для более гибкой настройки клиента, но нам для начала достаточно.
Допустим, сервер служб удаленных рабочих столов под управлением Windows Server 2008 R2 SP1 или выше находится в локальной сети по адресу 10.0.0.4 , порт используется по умолчанию 3389 , пользователя зовут user , его пароль parol , на клиенте имеется аппаратный ускоритель графики. Запускаем:
Для удобства пользователей, добавьте эту команду в автозапуск или сделайте ярлык запуска на рабочем столе.
Источник