Xrdp-usb: различия между версиями
Mattaku (обсуждение | вклад) Нет описания правки |
Нет описания правки |
||
(не показаны 3 промежуточные версии 3 участников) | |||
Строка 1: | Строка 1: | ||
Данный компонент пробрасывает широкий спектр устройств, начиная от USB-веб-камер, до USB-токенов и смарт-карт. | |||
{{Attention|Проброс будет работать только в рамках локальной сети, так как требует доступность клиентского компьютера с сервера}} | |||
В данной статье рассмотрена процедура настройки подключения USB-устройств через [[Xrdp]]. | |||
*'''Терминальный сервер (сервер)''' — хост, на котором запущен [[Xrdp]]. | |||
*'''Терминальный клиент (клиент)''' — хост, к которому подключены USB-устройства, экспортируемые на клиент. | |||
== Настройка сервера == | |||
Обновить систему: | |||
<syntaxhighlight lang="bash"># apt-get update && apt-get dist-upgrade</syntaxhighlight> | |||
Установить пакет {{pkg|xrdp-usb-session}}: | |||
<syntaxhighlight lang="bash"># apt-get install xrdp-usb-session</syntaxhighlight> | |||
xrdp-usb-session для сеанса xrdp-sesman добавляет запуск автоподключения всех USB-устройств с клиента. | xrdp-usb-session для сеанса xrdp-sesman добавляет запуск автоподключения всех USB-устройств с клиента. | ||
Далее, после установки xrdp-usb-session необходимо перезапустить службу xrdp-sesman: | |||
<syntaxhighlight lang="bash"># systemctl restart xrdp-sesman.service</syntaxhighlight> | |||
== Настройка клиента == | |||
Обновить систему: | |||
<syntaxhighlight lang="bash"># apt-get update && apt-get dist-upgrade</syntaxhighlight> | |||
Установить пакет {{pkg|xrdp-usb-terminal}}: | |||
<syntaxhighlight lang="bash"># apt-get install xrdp-usb-terminal</syntaxhighlight> | |||
После установки {{pkg|xrdp-usb-terminal}}, добавить пользователя в группу disk: | |||
<syntaxhighlight lang="bash"># gpasswd -a alt-1 disk</syntaxhighlight> | |||
где ''alt-1'' — имя пользователя. | |||
После успешной установки {{pkg|xrdp-usb-terminal}} и добавления пользователя в группу disk, необходимо перезагрузить систему (чтобы загрузились все модули и запустилась служба usbipd). | |||
По умолчанию никакие устройства не передаются. Чтобы они передавались, необходимо отредактировать файл {{path|/etc/xrdp-usb}}: | |||
# В терминале с помощью команды {{cmd|lsusb}} просмотреть идентификаторы устройств. | |||
#: [[Файл:Lsusb.png]] | |||
# Из полученного вывода следует выбрать ID-устройства, которое необходимо пробрасывать, и добавить нужный идентификатор (в примере это ''13fe:4300'') в файл {{path|/etc/xrdp-usb}}: | |||
#:[[Файл:Etc-xrdp-usb.png]] | |||
Можно указать сколько угодно идентификаторов, но необходимо быть осторожным с идентификаторами мыши и клавиатуры. Если они будут проброшены, то они не будут доступны на локальной системе. | |||
== Проброс == | |||
Для подключения к серверу, на клиентском компьютере должен быть установлен клиент удаленного доступа. Для подключения к серверу терминалов можно использовать программы удаленного доступа xfreerdp, Remmina, Connector и т.д. Перед подключением необходимо на клиенте выполнить команду {{cmd|usbip-export}}: | |||
<syntaxhighlight lang="bash">$ usbip-export | |||
EXPORT USB 13fe:4300 (3-2) | |||
usbip: info: unbind device on busid 3-2: complete | |||
usbip: info: bind device on busid 3-2: complete</syntaxhighlight> | |||
Далее, со стороны клиента подключаемся к терминальному серверу, например: | |||
Далее, со стороны клиента подключаемся к терминальному серверу: | <syntaxhighlight lang="bash">$ xfreerdp /v:192.168.0.104 /u:user /p:password</syntaxhighlight> | ||
Окно подключения к удаленному рабочему столу с проброшенным USB-устройством: | |||
[[Файл:Freerdp-usb.png|FreeRDP. Подключение к удаленному рабочему столу]] | |||
При ошибках связанных с подключением, рекомендуется проверить настройки брандмауэра и проверить соответствие версий приложения {{pkg|usbip}}. | |||
[[VDI/OpenUDS|Openuds]] при подключении самостоятельно экспортирует указанные устройства. На терминальном сервере при этом должен быть установлен пакет {{pkg|openuds-client}}. | |||
{{Category navigation|title=Терминальный сервер|category=Терминальный сервер|sortkey={{SUBPAGENAME}}}} | {{Category navigation|title=Терминальный сервер|category=Терминальный сервер|sortkey={{SUBPAGENAME}}}} |
Текущая версия от 18:45, 6 февраля 2023
Данный компонент пробрасывает широкий спектр устройств, начиная от USB-веб-камер, до USB-токенов и смарт-карт.
В данной статье рассмотрена процедура настройки подключения USB-устройств через Xrdp.
- Терминальный сервер (сервер) — хост, на котором запущен Xrdp.
- Терминальный клиент (клиент) — хост, к которому подключены USB-устройства, экспортируемые на клиент.
Настройка сервера
Обновить систему:
# apt-get update && apt-get dist-upgrade
Установить пакет xrdp-usb-session:
# apt-get install xrdp-usb-session
xrdp-usb-session для сеанса xrdp-sesman добавляет запуск автоподключения всех USB-устройств с клиента.
Далее, после установки xrdp-usb-session необходимо перезапустить службу xrdp-sesman:
# systemctl restart xrdp-sesman.service
Настройка клиента
Обновить систему:
# apt-get update && apt-get dist-upgrade
Установить пакет xrdp-usb-terminal:
# apt-get install xrdp-usb-terminal
После установки xrdp-usb-terminal, добавить пользователя в группу disk:
# gpasswd -a alt-1 disk
где alt-1 — имя пользователя.
После успешной установки xrdp-usb-terminal и добавления пользователя в группу disk, необходимо перезагрузить систему (чтобы загрузились все модули и запустилась служба usbipd).
По умолчанию никакие устройства не передаются. Чтобы они передавались, необходимо отредактировать файл /etc/xrdp-usb:
- В терминале с помощью команды lsusb просмотреть идентификаторы устройств.
- Из полученного вывода следует выбрать ID-устройства, которое необходимо пробрасывать, и добавить нужный идентификатор (в примере это 13fe:4300) в файл /etc/xrdp-usb:
Можно указать сколько угодно идентификаторов, но необходимо быть осторожным с идентификаторами мыши и клавиатуры. Если они будут проброшены, то они не будут доступны на локальной системе.
Проброс
Для подключения к серверу, на клиентском компьютере должен быть установлен клиент удаленного доступа. Для подключения к серверу терминалов можно использовать программы удаленного доступа xfreerdp, Remmina, Connector и т.д. Перед подключением необходимо на клиенте выполнить команду usbip-export:
$ usbip-export
EXPORT USB 13fe:4300 (3-2)
usbip: info: unbind device on busid 3-2: complete
usbip: info: bind device on busid 3-2: complete
Далее, со стороны клиента подключаемся к терминальному серверу, например:
$ xfreerdp /v:192.168.0.104 /u:user /p:password
Окно подключения к удаленному рабочему столу с проброшенным USB-устройством:
При ошибках связанных с подключением, рекомендуется проверить настройки брандмауэра и проверить соответствие версий приложения usbip.
Openuds при подключении самостоятельно экспортирует указанные устройства. На терминальном сервере при этом должен быть установлен пакет openuds-client.