Решение Cendio ThinLinc в России пока не получило большой известности, хотя постепенно начинает привлекать к себе внимание. Мы решили опубликовать небольшой обзор, чтобы читатели смогли оценить удобство программного продукта под Linux.



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

ThinLinc отличается от большинства аналогичных продуктов своей заточенностью под Linux. Продукт изначально разрабатывался как сервер удаленного доступа к ПК на ОС Linux, и, так как он доказал свою состоятельность, компания Cendio решила продолжить его развитие и поддержку.

Несмотря на то, что сервер ThinLinc работает в Linux, пользователи могут запускать приложения Windows и получать доступ к рабочим столам этой ОС. Для этого необходимо подключить Remote Desktop Services через RDP-протокол. В результате на рабочем столе Linux можно одновременно запускать Windows и Linux-приложения, не переключаясь между средами.
Вот как выглядит совмещение сред на одном экране:

Запуск Windows в отдельном окне



Запуск приложения Windows в «бесшовном» режиме (пользователь может перемещать или менять размер приложения)



Возможность переключения сред Linux и Windows сохраняется и предусмотрена при залогинивании в специальном меню.

Однако, повторимся, специализация решения – интеграция с Linux и использование открытого исходного кода. Наилучшим образом ThinLinc проявляет себя на таких платформах, как Red Hat, Ubuntu и openSUSE.

ThinLinc использует стандартную клиент-серверную модель. Сеансы создаются на сервере ThinLinc как экземпляры Xvnc-процесса. X11-сервер вместо отправки выходных данных на физический экран преобразует их в VNC-протокол и отправляет на TCP-сокет. Связь стандартных X11-рабочих сред и приложений с данным процессом происходит так, как если бы это был обычный X-сервер. VNC-клиент может затем подключиться по сети (локальной или глобальной) и вывести контент на удаленный экран.

Системная архитектура ThinLinc


Системная архитектура ThinLinc адаптируется под существующую пользовательскую архитектуру и дает возможность наращивать ThinLinc-систему всем необходимым. Применяется стандартная аутентификация, обеспечивающая интеграцию с eDirectory, Active Directory, NIS и т.д.
ThinLinc можно установить как на одну машину, так и в кластер.

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

Благодаря балансировке нагрузки можно добавлять серверы по мере необходимости.

Балансировка нагрузки ThinLinc распространяется также и на службы Remote Desktop Services.

  • Главный сервер ThinLinc (vsmserver), выполняющий функцию посредника сеансов и шлюза в кластере, решает следующие задачи: отслеживает и проверяет сеансы, распределяет нагрузку по агентам в кластере, проводит начальную аутентификацию, выбирает терминальный сервер, отправляет информацию о сеансе клиенту.
  • ThinLinc агент (vsmagent) отвечает за запуск и хостинг процессов, которые составляют ThinLinc-сеанс, и устанавливает туннели для графики и локальных устройств. Туннели мультиплексируются по SSH-соединению на пользователя.
  • ThinLinc-клиент подключается сначала к главному серверу, затем к тому агенту, которого главный сервер посчитает наиболее подходящим. При подключении клиента к серверу весь трафик между ними шифруется по SSH, исключая необходимость VPN-сервисов и обеспечивая безопасность соединения даже через интернет. ThinLinc-клиент может работать на множестве устройств Linux, OS X, Windows и других платформах для тонких клиентов, включая клиенты на базе HTML5, запускаемые через браузеры.

Аппаратная составляющая


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

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

Как вариант, в компании может применяться модель BYOD (bring your own device), при которой сотрудники используют собственные устройства в рабочем процессе.

ThinLinc поддерживает на клиенте локальные HDD и USB.

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

Вычислительные ресурсы


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

  • Диск. Около 100 MБ на ПО и данные. На каждый активный сеанс требуется обычно менее 100 КБ (хранение данных сеанса и журнал сеансов). Помимо этого, требуется дисковое пространство для операционной системы, пользовательских приложений и журналов.
  • Процессорные ресурсы и память. Объем процессорных ресурсов и памяти зависит исключительно от запускаемых пользователями приложений, активности пользователей и ожидаемого время отклика.

Когда ThinLinc используется только для доступа к рабочему столу Windows через rdesktop, опыт показывает, что требуется примерно 50-100 MГц и 20-50 МБ на одного активного пользователя.

Полнофункциональному рабочему столу KDE или Gnome с обычными запущенными офисными и интернет-приложениями (LibreOffice, Firefox, некоторыми графическими программами и открытыми мультимедийно насыщенными веб-страницами) требуется примерно 150-300 MГц на активного пользователя, а ожидаемый объем памяти на пользователя для такого рабочего стола без приложений составляет 100-200 MБ*.

*Цифры основаны на опыте клиентов, использующих Intel Xeon 7140M (Netburst). Для других процессоров будут другие цифры.

Среди других удобств ThinLinc реализует принцип hot-desking, при котором у работников нет закрепленных за ними мест, а доступ к рабочему столу предоставляется с любого клиента, подключенного к ThinLinc. Закрытые в одном месте сеансы открываются из другого места в том же самом виде вплоть до положения курсора.

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

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

На установку и настройку ThinLinc требуется минимум усилий и времени. ThinLinc автоматически определяет дистрибутив Linux и устанавливает все недостающие программные пакеты из хранилища данных. В процессе установки происходит настройка межсетевого экрана, очереди печати и т.п.

Установка ThinLinc включает загрузку с сайта разработчика www.cendio.com серверной и клиентской частей, для чего необходимо ввести свой электронный адрес. На этот адрес затем придет ссылка на дистрибутив. Бесплатно ThinLinc могут использовать не более пяти одновременных юзеров.

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

Для крупных кластеров с множеством серверов установку ThinLinc можно автоматизировать с помощью файлов конфигурации.

Система позволяет использовать различные механизмы аутентификации: статические или одноразовые пароли, протокол RADIUS, аутентификацию с помощью открытого ключа, протокол Kerberos.

Комментарии (15)


  1. rt3879439
    29.03.2018 15:22

    Перечитал текст, но так и не понял каким образом обеспечивается интеграция с windows.


    1. DenMMM
      29.03.2018 18:21

      Ставите рядом терминальный сервер с Windows и ThinLinc подключит с него сеанс в свой рабочий стол… Чуда не случилось.


      1. rt3879439
        29.03.2018 18:35

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


    1. Softliner Автор
      30.03.2018 16:53
      +1

      Здесь, действительно, без чудес: чтобы запускать на Линуксе рабочий стол и приложения Windows, вам нужен будет Windows Server, а ThinLinc просто интегрируется с ним


  1. palantir
    29.03.2018 17:04

    Я вот тоже не понял.
    А иметь на рабочих местах Линукс, а из него запускать, к примеру, офис и 1с при необходимости — очень хочется.


  1. Sjam
    30.03.2018 02:10

    Спасибо за статью. Но так и не понял чем этот проект отличается от x2go или xrdp. Вроде бы все тоже самое, за исключением того, что x2go не использует rdp


  1. einhander
    30.03.2018 06:09

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


    1. Softliner Автор
      30.03.2018 16:54

      VirtualGL используется для серверного графического ускорения OpenGL приложений. VirtualGL перехватывает вызов функций GLX и перенаправляет их на обработку графическим процессором сервера. Конечно производительность не так высока, как при локальном использовании родного графического процессора, но увеличение производительности по сравнению с программным рендерингом весьма существенно. Приложения, которые не работают через программный рендеринг, работают с VirtualGL и ThinLinc.
      ThinLinc отличается от X2Go тем, что это полностью поддерживаемый продукт, на который есть подробная документация разработчика. Кроме того, в ThinLinc есть аутентификация Kerberos и поддерживается множество тонких клиентов. Для передачи изображений в ThinLinc используется VNC протокол, а в X2Go — NX протокол.


      1. voe
        31.03.2018 11:50

        А видео карту с клиента можно использовать?


        1. einhander
          31.03.2018 13:15

          Раз там обычный virtualgl то нет. Точнее не совсем, на сколько я помню вызовы opengl транслируется с сервера на xserver клиента и соответственно видеокарту. Рекомендую обратиться к документации virtualgl с этим вопросом. В сети есть несколько роликов с использованием openarena и virtualgl, работает вполне бодро. Но это Линукс-онли решение. Сервера для винды нету. ИМХО его можно применять для машиностроительных САПР, но под Линукс их кот наплакал, а применять Вайн с компасом в продакшене несколько стрёмно.


      1. DaylightIsBurning
        31.03.2018 17:33

        производительность не так высока, как при локальном использовании родного графического процессора
        А известно, на сколько ниже, и почему?


  1. evgeny_alekseyew
    30.03.2018 07:59

    Платный VNC с ssh и pulseaudio?
    И чем оно лучше x2go? На последнем уже четвёртый год как работаем, нареканий нет от слова совсем.


  1. p_AV_el
    30.03.2018 16:32

    Использую уже несколько лет. Всё настроил, всё работает. Из глюков только периодически отваливающиеся клавиши ( раз, и одна из кнопок на клаве не работает, до перезагрузки клиента). Возможно в новых версиях уже подчинили, но новые только для пяти бесплатных пользователей, а у меня как раз 10. А в остальном очень понравился продукт. Рекомендую.


  1. Softliner Автор
    30.03.2018 16:52

    ThinLinc лучше хотя бы тем, что он полностью поддерживаемый продукт, на который есть подробная документация разработчика. Кроме того, в ThinLinc есть аутентификация Kerberos и поддерживается множество тонких клиентов. Для передачи изображений в ThinLinc используется VNC протокол


  1. ufm
    30.03.2018 22:40

    Если клиент заходит на ютьюб и сомтрит клип в HD качестве на полный эран — у него сразу слайдшоу начинается?