Xrdp-usb

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

Схема работы подключения usb-устройств через xfreerdp. Все дальнейшие действия выполняются под рутом su-.

Терминальный сервер - сервер
Клиентский сервер - клиент

Перед началом работы, необходимо обновить систему. Обновить систему необходимо как на терминальном сервере (Альт 8 СП), так и на клиентском сервере (в моем случае это Альт Образование)

# apt-get update

На терминальном сервере (Альт 8 СП) устанавливаем xrdp-usb-session:

# apt-get install xrdp-usb-session

xrdp-usb-session для сеанса xrdp-sesman добавляет запуск автоподключения всех USB-устройств с клиента. Далее, после установки xrdp-usb-session необходимо перезапустить службу xrdp-sesman.

Systemctl restart.png

Теперь, переходим к терминальному клиенту (В моем случае, Альт Образование). Устанавливаем xrdp-usb-terminal:

# apt-get install xrdp-usb-terminal

А так же, после установки xrdp-usb-terminal, нам необходимо добавить нашего пользователя в группу disk:

# usermod -a -G disk alt-1       (там где alt-1, необходимо ваше имя пользователя)

Далее, после успешной установки xrdp-usb-terminal и после того, как мы добавили нашего пользователя в группу disk, нам необходимо перезагрузить систему (чтобы все модули загрузились) и служба usbipd запустилась. По умолчанию никакие устройства не передаются. Чтобы они передавались, в терминале запускается lsusb и смотрятся идентификаторы.


Lsusb.png


Необходимые для нас данные на скриншоте сверху это идентификатор (в нашем случае это ID 13fe:4300). Теперь нам нужно отредактировать файл в /etc/xrdp-usb

# vim /etc/xrdp-usb

Etc-xrdp-usb.png

Указывать можно сколько угодно идентификаторов, но необходимо быть осторожным с идентификаторами мыши и клавиатуры. Если они будут проброшены, то локально они не будут доступны.

Далее, необходимо установить openuds-client на терминальный сервер (Альт 8 СП). Openuds при подключение самостоятельно экспортирует указанные устройства.

Для того, чтобы обратиться к терминальному серверу (через Remmina или xfreerdp), то перед подключением необходимо запустить программу usbip-export (на клиенте). Далее, со стороны клиента подключаемся к терминальному серверу:

# usbip attach -r 192.168.0.1 -b 3-2

-r Является ip адресом терминального сервера -b Является идентификатор устройства, который мы отредактировали в файле /etc/xrdp-usb , а так же, который был подтвержден посредством команды usbip-export