<?xml version="1.0" encoding="UTF-8" ?>

<bugzilla version="5.2"
          urlbase="https://bugzilla.altlinux.org/"
          
          maintainer="jenya@basealt.ru"
>

    <bug>
          <bug_id>50711</bug_id>
          
          <creation_ts>2024-06-22 01:07:21 +0300</creation_ts>
          <short_desc>xrdp не работает проброс usb</short_desc>
          <delta_ts>2025-10-02 17:47:05 +0300</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>4</classification_id>
          <classification>Development</classification>
          <product>Sisyphus</product>
          <component>xrdp</component>
          <version>unstable</version>
          <rep_platform>x86_64</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P5</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="AVG">nikul-sasha</reporter>
          <assigned_to name="Andrey Cherepanov">cas</assigned_to>
          <cc>antohami</cc>
    
    <cc>cas</cc>
    
    <cc>lakostis</cc>
    
    <cc>lav</cc>
    
    <cc>lepata</cc>
    
    <cc>novopoltsevdv</cc>
    
    <cc>tatyana</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>247997</commentid>
    <comment_count>0</comment_count>
    <who name="AVG">nikul-sasha</who>
    <bug_when>2024-06-22 01:07:21 +0300</bug_when>
    <thetext>С актуальной версией xrdp (0.10.0-alt0.p10.1) не работает проброс usb.
Версия ядра 6.1.90-un-def-alt1.
Важно! Для воспроизведения ошибки в системе (RDP-сервер) не должно быть следов от предыдущих версий пакета xrdp (в идеале свежеустановленная ОС).

На сервере (RDP-сервер):
1. Установил необходимые пакеты с их зависимостями
# apt-get install xrdp xrdp-usb-session
2. Добавил службы в автозапуск:
# systemctl enable xrdp xrdp-sesman usbip-client (последний сервис равнозначен добавлению модуля &apos;vhci-hcd&apos; в &apos;/etc/modules&apos;)
3. Чтобы системе хватало прав для монтирования usb-устройств, изменил политику безопасности службы &apos;udisks&apos; в файле &apos;/usr/share/polkit-1/actions/org.freedesktop.UDisks2.policy&apos;.
В самом низу блока &lt;action id=&quot;org.freedesktop.udisks2.filesystem-mount-other-seat&quot;&gt; изменил следующее:
    &lt;defaults&gt;
      &lt;allow_any&gt;auth_admin&lt;/allow_any&gt;
      &lt;allow_inactive&gt;auth_admin&lt;/allow_inactive&gt;
      &lt;allow_active&gt;yes&lt;/allow_active&gt;
    &lt;/defaults&gt;
на
    &lt;defaults&gt;
      &lt;allow_any&gt;yes&lt;/allow_any&gt;
      &lt;allow_inactive&gt;yes&lt;/allow_inactive&gt;
      &lt;allow_active&gt;yes&lt;/allow_active&gt;
    &lt;/defaults&gt;
4. Добавил пользователя rdpuser в группы tsusers и fuse:
# usermod -aG fuse,tsusers rdpuser
5. Перезагрузил сервер

На клиенте (машина, подключающаяся к RDP-серверу):

1. Установил необходимые пакеты с их зависимостями
# apt-get install xfreerdp xrdp-usb-terminal freerdp-plugins-standart
2. Добавил пользователя testuser в группу disk:
# gpasswd -a testuser disk
3. Вставил флешку в ПК, узнал её идентификатор (команда lsusb) и добавил этот идентификатор в файл &apos;/etc/xrdp-usb&apos; для его проброса в RDP-сессию.
4. Экспортировал прописанное в файле &apos;/etc/xrdp-usb&apos; usb-устройство для RDP-сессии:
# usbip-export
5. Запустил RDP-сеанс с учетной записи testuser:
$ xfreerdp /v:&lt;IP&gt; /u:rdpuser /p:Qwerty123

Ожидаемый результат:
Проброшен usb-носитель в RDP-сессию

Реальный результат:
usb-носитель не проброшен

Дополнительно:
Если я откатываю пакет xrdp на версию 0.9.25.1-alt1 (вместе с зависимостью xorg-drv-xrdp-0.9.24-alt1), то проброс работает, мало того что работает, так если после установки этой версии xrdp установить актуальную (на текущий момент 0.10.0-alt0.p10.1), то проброс будет работать уже и в актуальной версии.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>248887</commentid>
    <comment_count>1</comment_count>
    <who name="Tatyana Gagina">tatyana</who>
    <bug_when>2024-07-15 18:11:46 +0300</bug_when>
    <thetext>Ошибка воспроизводится на Sisyphus с версией xrdp-0.10.0-alt4
 uname -a
Linux kworkstation-10-3-x86-64-20240621.localdomain 6.6.38-un-def-alt1 #1 SMP PREEMPT_DYNAMIC Tue Jul  9 12:12:21 UTC 2024 x86_64 GNU/Linux

Проверялось на p10, аналогично.
Версия на p10: xrdp-0.10.0-alt0.p10.1.
 uname -a
Linux workstation-10-2-x86-64-20240709.localdomain 6.1.94-un-def-alt1 #1 SMP PREEMPT_DYNAMIC Mon Jun 24 12:14:35 UTC 2024 x86_64 GNU/Linux</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>273376</commentid>
    <comment_count>2</comment_count>
    <who name="Антон Мидюков">antohami</who>
    <bug_when>2025-09-28 21:25:46 +0300</bug_when>
    <thetext>Предлагаю проверить, какой из конфигурационных файлов версии 0.9.25.1-alt1 починит (или не починит) xrdp:
$ rpm -qc xrdp
/etc/pam.d/xrdp-sesman
/etc/sysconfig/xrdp
/etc/xrdp/cert.pem
/etc/xrdp/gfx.toml
/etc/xrdp/key.pem
/etc/xrdp/rsakeys.ini
/etc/xrdp/sesman.ini
/etc/xrdp/xrdp.ini</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>273796</commentid>
    <comment_count>3</comment_count>
    <who name="Новопольцев Дмитрий">novopoltsevdv</who>
    <bug_when>2025-10-02 16:42:51 +0300</bug_when>
    <thetext>xrdp-0.10.4.1-alt4 xrdp-usb-session-1.2-alt1 libusbip-5.10-alt1 usbip-5.10-alt1 mate-reduced-resource-0.2-alt1
Alt Education XFCE 11 x86_64
Alt Workstation 11 x86_64

На данный момент единственной проблемой осталось то, что по умолчанию порт 3240 закрыт

При открытии порта в firewalld (на стороне USB хоста) usb устройства успешно пробрасываются и монтируются

Сама проблема, судя по логике работы usbip-attach, который просто достаёт IP последнего RDP подключения через &quot;journalctl -u xrdp-sesman&quot; и подкидывает его в команду usbip, получая через неё список всех устройств и подключая их в цикле, с xrdp связанна не была

В качестве предложения - можно дополнить руководство по установке usbip командой firewall-cmd --zone=public --add-port=3240/tcp --permanent &amp;&amp; firewall-cmd --reload</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>273797</commentid>
    <comment_count>4</comment_count>
    <who name="Антон Мидюков">antohami</who>
    <bug_when>2025-10-02 16:45:34 +0300</bug_when>
    <thetext>(Ответ для Новопольцев Дмитрий на комментарий #3)
&gt; xrdp-0.10.4.1-alt4 xrdp-usb-session-1.2-alt1 libusbip-5.10-alt1
&gt; usbip-5.10-alt1 mate-reduced-resource-0.2-alt1
&gt; Alt Education XFCE 11 x86_64
&gt; Alt Workstation 11 x86_64
&gt; 
&gt; На данный момент единственной проблемой осталось то, что по умолчанию порт
&gt; 3240 закрыт
&gt; 
&gt; При открытии порта в firewalld (на стороне USB хоста) usb устройства успешно
&gt; пробрасываются и монтируются
&gt; 
&gt; Сама проблема, судя по логике работы usbip-attach, который просто достаёт IP
&gt; последнего RDP подключения через &quot;journalctl -u xrdp-sesman&quot; и подкидывает
&gt; его в команду usbip, получая через неё список всех устройств и подключая их
&gt; в цикле, с xrdp связанна не была
&gt; 
&gt; В качестве предложения - можно дополнить руководство по установке usbip
&gt; командой firewall-cmd --zone=public --add-port=3240/tcp --permanent &amp;&amp;
&gt; firewall-cmd --reload

Елена Мишина, это предложение вам.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>273803</commentid>
    <comment_count>5</comment_count>
    <who name="Elena Mishina">lepata</who>
    <bug_when>2025-10-02 17:47:05 +0300</bug_when>
    <thetext>Добавлено примечание: https://www.altlinux.org/USBIP#Настройка_сервера</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>