Перейти к содержанию

Вопросы и ответы

Как виртуализировать приложение?#

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

В качестве примера рассмотрим виртуализацию приложения Gimp на ОС Astra Linux SE 1.7.

  1. Убедитесь, что на шаблоне ВМ и на клиентском устройстве установлены серверное и клиентское ПО X2Go соответственно (подробнее в разделе Транспорты. Прямое подключение с X2Go или Транспорты. Туннельное подключение с X2Go)
  2. При создании транспорта X2Go во вкладке Параметры для параметра Экран укажите VDI vAPP, для параметра vAPP укажите полный путь до приложения Gimp. В данном примере – /usr/bin/gimp
  3. Привяжите транспорт к сервис-пулу
  4. Подключитесь к пользовательскому сервису с помощью транспорта X2Go и убедитесь, что на клиентском устройстве открылся Gimp

Как пробросить USB-flash-накопитель на виртуальный рабочий стол?#

Проброс USB-flash-накопителя настраивается в транспорте.

В качестве примера рассмотрим проброс USB-flash-накопителя при использовании транспорта RDP для прямого подключения к виртуальному рабочему столу:

  1. Убедитесь, что на шаблоне ВМ и на клиентском устройстве настроен удаленный рабочий стол (подробнее в разделах Руководство администратора. Подготовка шаблона ВМ и Руководство пользователя)
  2. При создании транспорта RDP во вкладке Параметры:

    • для параметра Политика локальных дисков укажите Allow PnP drives
    • для параметра Принудительное подключение дисков укажите имя перенаправляемого устройства, например, E:
  3. Привяжите транспорт к сервис-пулу

  4. Подключитесь к пользовательскому сервису с помощью транспорта RDP и убедитесь, что перенаправленный USB-flash-накопитель отобразился
  1. Убедитесь, что на шаблоне ВМ и на клиентском устройстве настроен удаленный рабочий стол (подробнее в разделах Руководство администратора. Подготовка шаблона ВМ и Руководство пользователя)
  2. При создании транспорта RDP во вкладке Параметры:

    • для параметра Политика локальных дисков укажите Allow PnP drives
    • для параметра Принудительное подключение дисков укажите имя перенаправляемого устройства, например, E:
  3. Привяжите транспорт к сервис-пулу

  4. Подключитесь к пользовательскому сервису с помощью транспорта RDP и убедитесь, что перенаправленный USB-flash-накопитель отобразился

Как пробросить принтер?#

Проброс принтеров настраивается в транспорте.

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

  1. Убедитесь, что на шаблоне ВМ и на клиентском устройстве настроен удаленный рабочий стол (подробнее в разделах Руководство администратора. Подготовка шаблона ВМ и Руководство пользователя)
  2. При создании транспорта во вкладке Параметры активируйте параметр Разрешить принтеры

    Принтер подключен по USB

    Если принтер подключен к клиентскому устройству через USB, то для параметра USB-перенаправление установите значение Printers.

  3. Привяжите транспорт к сервис-пулу

  4. Подключитесь к пользовательскому сервису с помощью транспорта RDP и убедитесь, что в Диспетчер устройств → Очереди печати отображаются принтеры, подключенные к клиенсткому устройству

Штатный функционал XRDP не поддерживает проброс принтера, но его можно реализовать с помощью сервера печати CUPS. В большинстве десктопных версиях Unix-подобных ОС CUPS обычно установлен и настроен по умолчанию.

Проверка статуса сервера:

systemctl status cups
При отсутствии сервера установите его:
sudo apt install cups

Для добавления принтера с помощью CUPS:

  1. Убедитесь, что текущий пользователь входит в группу lpadmin
    grep lpadmin /etc/groups/
    
    При отсутствии пользователя добавьте его в группу lpadmin:
    sudo usermod -aG lpadmin <username>
    
  2. В шаблоне откройте браузер и введите http://localhost:673. Отобразится интерфейс настройки CUPS
  3. Перейдите в раздел Administration. Введите логин и пароль текущего пользователя
  4. Нажмите Add printer
  5. Заполните форму добавления принтера:

    • Выберите тип вашего принтера. В данном примере осуществляется проброс локального принтера
    • Укажите URI подключаемого принтера
    • Заполните поля наименования, описания и местонахождения принтера
    • Выберите марку производителя принтера и модель
  6. Запустите тестовую печать

  7. В брокере Numa VDI при создании транспорта во вкладке Параметры активируйте параметр Разрешить принтеры

Как установить плагины для Qt?#

Установка плагинов для Qt необходима для корректного отображения графического интерфейса виртуального рабочего стола. Плагины устанавливаются на клиенсткое устройство со следующими ОС:

ОС Команда для установки плагинов
Alt Server 10 sudo apt-get install libqt5-xcbqpa libqt5-gui libqt5-widgets qt5-base-common
Alt Server 11 sudo apt-get install libqt5-xcbqpa libqt5-gui libqt5-widgets qt5-base-common
Arch Linux sudo pacman -S --needed qt5-base libxcb xcb-util xcb-util-image xcb-util-keysyms xcb-util-renderutil xcb-util-wm libxkbcommon libxkbcommon-x11 libx11 libxrender libx
CentOS 9 sudo dnf install -y libxcb libxcb-devel xcb-util xcb-util-image xcb-util-keysyms xcb-util-renderutil xcb-util-wm mesa-libGL libXrender libXext libXi libX11 libXcursor libXrandr libxkbcommon libxkbcommon-x11
CentOS 10 sudo dnf install -y libxcb libxcb-devel xcb-util xcb-util-image xcb-util-keysyms xcb-util-renderutil xcb-util-wm mesa-libGL libXrender libXext libXi libX11 libXcursor libXrandr libxkbcommon libxkbcommon-x11
Debian 11 sudo apt install libxcb-xinerama0 libxcb-cursor0 libxkbcommon-x11-0 libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-randr0 libxcb-render-util0 libxcb-xfixes0 libegl1-mesa
Debian 12 sudo apt install libxcb-xinerama0 libxcb-cursor0 libxkbcommon-x11-0 libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-randr0 libxcb-render-util0 libxcb-xfixes0 libegl1-mesa
Debian 13 sudo apt install libxcb-xinerama0 libxcb-cursor0 libxkbcommon-x11-0 libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-randr0 libxcb-render-util0 libxcb-xfixes0
MSVSfera 8 sudo dnf install desktop-file-utils
Rocky 8 sudo dnf install -y libxcb libxcb-devel xcb-util xcb-util-image xcb-util-keysyms xcb-util-renderutil xcb-util-wm mesa-libGL libXrender libXext libXi libX11 libXcursor libXrandr libxkbcommon libxkbcommon-x11
Rocky 9 sudo dnf install -y libxcb libxcb-devel xcb-util xcb-util-image xcb-util-keysyms xcb-util-renderutil xcb-util-wm mesa-libGL libXrender libXext libXi libX11 libXcursor libXrandr libxkbcommon libxkbcommon-x11
Rocky 10 sudo dnf install -y libxcb libxcb-devel xcb-util xcb-util-image xcb-util-keysyms xcb-util-renderutil xcb-util-wm mesa-libGL libXrender libXext libXi libX11 libXcursor libXrandr libxkbcommon libxkbcommon-x11
SUSE 16 sudo zypper install libgthread-2_0-0 libgthread-2_0-0-32bit
Ubuntu 18 sudo apt install libxcb-xinerama0 libxcb-cursor0 libxkbcommon-x11-0 libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-randr0 libxcb-render-util0 libxcb-xfixes0 libegl1-mesa
Ubuntu 20 sudo apt install libxcb-xinerama0 libxcb-cursor0 libxkbcommon-x11-0 libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-randr0 libxcb-render-util0 libxcb-xfixes0 libegl1-mesa
Ubuntu 22 sudo apt install libxcb-xinerama0 libxcb-cursor0 libxkbcommon-x11-0 libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-randr0 libxcb-render-util0 libxcb-xfixes0 libegl1-mesa
Ubuntu 24 sudo apt install libxcb-xinerama0 libxcb-cursor0 libxkbcommon-x11-0 libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-randr0 libxcb-render-util0 libxcb-xfixes0
Ubuntu 26 sudo apt install libxcb-xinerama0 libxcb-cursor0 libxkbcommon-x11-0 libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-randr0 libxcb-render-util0 libxcb-xfixes0