Xrdp-usb: различия между версиями
Mattaku (обсуждение | вклад) Нет описания правки |
(Добавлено описание и предупреждение об ограничении использования) |
||
Строка 1: | Строка 1: | ||
Данный компонент пробрасывает широкий спектр устройств, начиная от USB-веб-камер, до USB-токенов и смарт-карт. | |||
{{Attention|Проброс будет работать только в рамках локальной сети, так как требует доступность клиентского компьютера с сервера}} | |||
Схема работы подключения usb-устройств через xfreerdp. Все дальнейшие действия выполняются под рутом '''su-'''. | Схема работы подключения usb-устройств через xfreerdp. Все дальнейшие действия выполняются под рутом '''su-'''. | ||
Версия от 11:50, 26 ноября 2021
Данный компонент пробрасывает широкий спектр устройств, начиная от USB-веб-камер, до USB-токенов и смарт-карт.
Схема работы подключения 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.
Теперь, переходим к терминальному клиенту (В моем случае, Альт Образование). Устанавливаем 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 и смотрятся идентификаторы.
Необходимые для нас данные на скриншоте сверху это идентификатор (в нашем случае это ID 13fe:4300). Теперь нам нужно отредактировать файл в /etc/xrdp-usb
# vim /etc/xrdp-usb
Указывать можно сколько угодно идентификаторов, но необходимо быть осторожным с идентификаторами мыши и клавиатуры. Если они будут проброшены, то локально они не будут доступны.
Далее, необходимо установить 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
При ошибках связанных с подключением, рекомендуется проверить настройки брандмауэра и проверить соответствие версий приложения usbip