Вопросы и ответы
- Как виртуализировать приложение?
- Как пробросить USB-flash-накопитель на виртуальный рабочий стол?
- Как пробросить принтер?
- Как установить плагины для Qt?
Как виртуализировать приложение?#
Транспорт X2Go зачастую используется не только для подключения к виртуальному рабочему столу, но и для подключения к конкретному приложению.
В качестве примера рассмотрим виртуализацию приложения Gimp на ОС Astra Linux SE 1.7.
- Убедитесь, что на шаблоне ВМ и на клиентском устройстве установлены серверное и клиентское ПО X2Go соответственно (подробнее в разделе Транспорты. Прямое подключение с X2Go или Транспорты. Туннельное подключение с X2Go)
- При создании транспорта X2Go во вкладке Параметры для параметра Экран укажите VDI vAPP, для параметра vAPP укажите полный путь до приложения Gimp. В данном примере –
/usr/bin/gimp - Привяжите транспорт к сервис-пулу
- Подключитесь к пользовательскому сервису с помощью транспорта X2Go и убедитесь, что на клиентском устройстве открылся Gimp
Как пробросить USB-flash-накопитель на виртуальный рабочий стол?#
Проброс USB-flash-накопителя настраивается в транспорте.
В качестве примера рассмотрим проброс USB-flash-накопителя при использовании транспорта RDP для прямого подключения к виртуальному рабочему столу:
- Убедитесь, что на шаблоне ВМ и на клиентском устройстве настроен удаленный рабочий стол (подробнее в разделах Руководство администратора. Подготовка шаблона ВМ и Руководство пользователя)
-
При создании транспорта RDP во вкладке Параметры:
- для параметра Политика локальных дисков укажите Allow PnP drives
- для параметра Принудительное подключение дисков укажите имя перенаправляемого устройства, например,
E:
-
Привяжите транспорт к сервис-пулу
- Подключитесь к пользовательскому сервису с помощью транспорта RDP и убедитесь, что перенаправленный USB-flash-накопитель отобразился
- Убедитесь, что на шаблоне ВМ и на клиентском устройстве настроен удаленный рабочий стол (подробнее в разделах Руководство администратора. Подготовка шаблона ВМ и Руководство пользователя)
-
При создании транспорта RDP во вкладке Параметры:
- для параметра Политика локальных дисков укажите Allow PnP drives
- для параметра Принудительное подключение дисков укажите имя перенаправляемого устройства, например,
E:
-
Привяжите транспорт к сервис-пулу
- Подключитесь к пользовательскому сервису с помощью транспорта RDP и убедитесь, что перенаправленный USB-flash-накопитель отобразился
Как пробросить принтер?#
Проброс принтеров настраивается в транспорте.
В качестве примера рассмотрим проброс принтера, подключенного к клиенсткому устройству по сети, к пользовательскому сервису. Подключение к сервису производится с использованием транспорта RDP.
- Убедитесь, что на шаблоне ВМ и на клиентском устройстве настроен удаленный рабочий стол (подробнее в разделах Руководство администратора. Подготовка шаблона ВМ и Руководство пользователя)
-
При создании транспорта во вкладке Параметры активируйте параметр Разрешить принтеры
Принтер подключен по USB
Если принтер подключен к клиентскому устройству через USB, то для параметра USB-перенаправление установите значение Printers.
-
Привяжите транспорт к сервис-пулу
- Подключитесь к пользовательскому сервису с помощью транспорта RDP и убедитесь, что в Диспетчер устройств → Очереди печати отображаются принтеры, подключенные к клиенсткому устройству
Штатный функционал XRDP не поддерживает проброс принтера, но его можно реализовать с помощью сервера печати CUPS. В большинстве десктопных версиях Unix-подобных ОС CUPS обычно установлен и настроен по умолчанию.
Проверка статуса сервера:
Для добавления принтера с помощью CUPS:
- Убедитесь, что текущий пользователь входит в группу lpadmin
При отсутствии пользователя добавьте его в группу lpadmin:
- В шаблоне откройте браузер и введите
http://localhost:673. Отобразится интерфейс настройки CUPS - Перейдите в раздел Administration. Введите логин и пароль текущего пользователя
- Нажмите Add printer
-
Заполните форму добавления принтера:
- Выберите тип вашего принтера. В данном примере осуществляется проброс локального принтера
- Укажите URI подключаемого принтера
- Заполните поля наименования, описания и местонахождения принтера
- Выберите марку производителя принтера и модель
-
Запустите тестовую печать
- В брокере 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 |