OpenUDS виртуализация Linux приложений

Материал из ALT Linux Wiki

OpenUDS позволяет разворачивать и управлять сеансами виртуализированных приложений Linux. Удалённый доступ обеспечивает X2Go. Доступ к сеансам приложений Linux может осуществляться из ОС Windows и Linux.

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

Подготовка шаблона ВМ

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

Подготовка шаблона ВМ на основе ОС Альт:

  1. Установить ОС.
  2. Установить сервер X2Go:
    # apt-get update
    # apt-get install x2goserver
    # systemctl enable --now x2goserver
    
  3. Установить и зарегистрировать OpenUDS Actor (см. Подготовка шаблона ВМ).

Настройки на сервере OpenUDS

На сервере OpenUDS необходимо:

  1. Зарегистрировать «Поставщик услуг» для соответствующей платформы виртуализации (если его еще нет) и базовую службу, указав настроенный ранее шаблон ВМ (подробнее см. Регистрация «Поставщика услуг»).
  2. Зарегистрировать аутентификатор и создать пользователей (см. Настройка аутентификации пользователей).
  3. Создать «Менеджер ОС» (пропустить этот пункт, если используется служба «Поставщик машин статических IP»), выбрав в выпадающем списке пункт «Linux OS менеджер»:
    OpenUDS. Настройка «OS Manager»
    При создании «Менеджера ОС» рекомендуется в списке «Действие при выходе из системы» («Logout Action») выбрать пункт «Удалить сервис» («Remove service»). В этом случае, когда пользователь закрывает приложение, рабочий стол, на котором оно запущено автоматически удаляется. Также для развертывания приложений Linux можно использовать пункт «Держать сервис привязанным» («Keep service assigned»).
    OpenUDS. Настройка «OS Manager» - «Logout Action»
  4. Создать «Транспорт» (для каждого приложения, которое должно быть опубликовано, нужно создать свой транспорт):
    • в разделе «Транспорты» нажать кнопку «Новый» и выбрать пункт «X2Go»:
      OpenUDS. Настройка «Transports»
    • в открывшемся окне, на вкладке «Основной» задать имя (желательно указать здесь имя приложения — это имя пользователь будет видеть, если в одном пуле ресурсов определено несколько приложений):
      OpenUDS. Настройка «Transports» - вкладка «Main»
    • на вкладке «Учётные данные», указать учетную запись пользователя, который будет запускать приложение (этот пользователь должен существовать в шаблоне ВМ):
      OpenUDS. Настройка «Transports» - вкладка «Credentials»
    • на вкладке «Параметры», в раскрывающемся списке «Экран» («Desktop») необходимо выбрать пункт «UDS vAPP», а в поле «vAPP» и указать полный путь к приложению (установленному на шаблоне ВМ):
      OpenUDS. Настройка «Transports» - вкладка «Parameters»
    • на вкладке «Расширенный» можно указать раскладку клавиатуры, и в поле «Качество» («Quality») определить качество изображения (0-9). По умолчанию 6.
      OpenUDS. Настройка «Transports» - вкладка «Advanced»
    • нажать кнопку «Сохранить».
  5. Создать «Пул услуг»:
    • на вкладке «Основной» указать имя службы, в списке «Базовый сервис» («Base service») выбрать созданную ранее службу, в списке «ОС менеджер» («OS Manager») выбрать менеджер ОС.
    • на вкладке «Экран/Дисплей» указать, в какой группе будет отображаться этот пул (группа должна быть предварительно создана в разделе «Пулы»→«Группы»), и какое изображение будет использовать приложение (изображение должно быть предварительно загружено в разделе «Инструменты»→«Галерея»).
      OpenUDS. Настройка «Service Pools» - вкладка «Display»
    • на вкладке «Доступность» необходимо указать количество услуг, которые должны быть доступными для подключения пользователей. Желательно иметь столько сервисов, исходных или в кэше, сколько пользователей будут обращаться к приложениям.
      OpenUDS. Настройка «Service Pools» - вкладка «Availability»
    • сохранить конфигурацию, нажав кнопку «Сохранить».
  6. В настройках созданного пула:
    • на вкладке «Группы» указать какие группы пользователей будут иметь доступ к виртуальному приложению.
    • на вкладке «Транспорты» необходимо назначить ранее созданный транспорт X2Go (где был определен путь к виртуальному приложению):
      OpenUDS. Новый транспорт для «Service Pools»
      Для каждого пула услуг можно указать один или несколько транспортов.
    • на вкладке «Кэш» (для платформ виртуализации — PVE, OpenNebula) убедиться, что автоматически сгенерированные рабочие столы настроены правильно.

Настройка клиента подключения

Если в качестве клиента выступает дистрибутив ОС «Альт»:

  • установить клиент OpenUDS (пакет openuds-client) и клиент X2Go (x2goclient):
    # apt-get update
    # apt-get install openuds-client
    # apt-get install x2goclient
    

Если в качестве клиента выступает ОС Windows:

  1. Загрузить клиент X2Go (https://wiki.X2Go.org/doku.php).
  2. Установить клиент X2Go.
  3. Скачать OpenUDS Client для компьютеров с ОС Windows (из панели управления OpenUDS Server или с https://github.com/altlinux/openuds-installers/releases).
  4. Установить OpenUDS Client (установка ничем не отличается от инсталляции большинства других программ в ОС Windows).

После установки клиента X2Go, рекомендуется проверить возможность подключения к серверу X2Go.

Доступ к приложениям Linux

После выполнения всех настроек пользователь получит доступ к виртуальным приложениям:

OpenUDS. Запуск приложения Gimp

Если для пула услуг («Service Pools») было назначено несколько приложений (несколько транспортов), то в правом верхнем углу службы будет отображена кнопка с выбором приложения. Если выбрать непосредственно ВМ, будет вызвано приложение по умолчанию (транспорт с меньшим значением в поле приоритет). Для того чтобы использовать другое приложение (транспорт), нужно выбрать его в раскрывающемся списке:

OpenUDS. Выбор приложения из списка