{"id":263947,"date":"2015-08-20T13:00:02","date_gmt":"2015-08-20T09:00:02","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=263947"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=263947","title":{"rendered":"\u041f\u0440\u043e\u0431\u0440\u043e\u0441 USB \u0432 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u043a\u0443 \u043f\u043e \u0441\u0435\u0442\u0438 \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0430\u043c\u0438 usbredir \u0438 qemu"},"content":{"rendered":"<p>     \t<img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/e6a\/1bc\/05d\/e6a1bc05d70c460399d3276fdec28d2c.png\"\/><\/p>\n<p>  \u041d\u0430 \u0441\u0435\u0433\u043e\u0434\u043d\u044f\u0448\u043d\u0438\u0439 \u0434\u0435\u043d\u044c \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0435\u0442 \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u043c\u043d\u043e\u0433\u043e \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u0432 \u043f\u0440\u043e\u0431\u0440\u043e\u0441\u0438\u0442\u044c USB-\u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u043d\u0430 \u0434\u0440\u0443\u0433\u043e\u0439 \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440 \u0438\u043b\u0438 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u043a\u0443 \u043f\u043e \u0441\u0435\u0442\u0438.<br \/>  \u0418\u0437 \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u044b\u0445 \u2014 \u0436\u0435\u043b\u0435\u0437\u044f\u0447\u043d\u044b\u0435 \u0442\u0430\u043a\u0438\u0435 \u043a\u0430\u043a AnywhereUSB \u0438 \u0447\u0438\u0441\u0442\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043d\u044b\u0435 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u044b, \u0438\u0437 \u0442\u0435\u0445 \u0447\u0442\u043e \u044f \u043f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u043b \u0441\u0430\u043c: USB Redirector \u0438 USB\/IP.<br \/>  \u042f \u0431\u044b \u0445\u043e\u0442\u0435\u043b \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u0442\u044c \u0432\u0430\u043c \u0435\u0449\u0435 \u043e\u0431 \u043e\u0434\u043d\u043e\u043c \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e\u043c \u0441\u043f\u043e\u0441\u043e\u0431\u0435, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0441 \u044d\u043c\u0443\u043b\u044f\u0442\u043e\u0440\u043e\u043c qemu.<br \/>  \u041e\u043d \u0442\u0430\u043a \u0436\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0447\u0430\u0441\u0442\u044c\u044e \u043f\u0440\u043e\u0435\u043a\u0442\u0430 spice, \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u044b\u043c RedHat.<\/p>\n<p>  usbredir, \u044d\u0442\u043e \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0439 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b \u0434\u043b\u044f \u043f\u0440\u043e\u0431\u0440\u043e\u0441\u0430 usb-\u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432 \u043f\u043e tcp \u043d\u0430 \u0443\u0434\u0430\u043b\u0435\u043d\u043d\u044b\u0439 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0439 \u0441\u0435\u0440\u0432\u0435\u0440, \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u043d\u043d\u044b\u0439 \u043f\u0440\u0438 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0435 RedHat \u0432 \u0440\u0430\u043c\u043a\u0430\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 spice. \u041d\u043e \u043a\u0430\u043a \u043e\u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c \u0438\u043c \u043c\u043e\u0436\u043d\u043e \u0432\u043f\u043e\u043b\u043d\u0435 \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0438 \u0431\u0435\u0437 spice. \u0412 \u0440\u043e\u043b\u0438 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0432\u044b\u0441\u0442\u0443\u043f\u0430\u0435\u0442 usbredirserver, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0448\u0430\u0440\u0438\u0442 usb-\u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u043d\u0430 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0439 \u043f\u043e\u0440\u0442, \u0430 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043a\u043b\u0438\u0435\u043d\u0442\u0430 \u0441\u0430\u043c qemu, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u044d\u043c\u0443\u043b\u0438\u0440\u0443\u0435\u0442 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e usb-\u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u0432 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0439 usb-\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440 \u0432\u0430\u0448\u0435\u0439 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u044b. \u0411\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f \u0442\u0430\u043a\u043e\u043c\u0443 \u043f\u043e\u0434\u0445\u043e\u0434\u0443 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0433\u043e\u0441\u0442\u0435\u0432\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u043c\u043e\u0436\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0430\u0431\u0441\u043e\u043b\u044e\u0442\u043d\u043e \u043b\u044e\u0431\u0430\u044f \u041e\u0421, \u0442\u0430\u043a \u043a\u0430\u043a \u043e\u043d\u0430 \u0434\u0430\u0436\u0435 \u043d\u0435 \u0437\u043d\u0430\u0435\u0442, \u0447\u0442\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u0440\u043e\u0431\u0440\u043e\u0448\u0435\u043d\u043d\u044b\u043c \u0443\u0434\u0430\u043b\u0435\u043d\u043d\u043e, \u0430 \u0432\u0441\u044f \u043b\u043e\u0433\u0438\u043a\u0430 \u043b\u043e\u0436\u0438\u0442\u0441\u044f \u043d\u0430 qemu. <a name=\"habracut\"><\/a><\/p>\n<h3>\u0414\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u043b\u043e\u0432 \u043e \u0432\u044b\u0448\u0435\u043f\u0435\u0440\u0447\u0438\u0441\u043b\u0435\u043d\u043d\u044b\u0445 \u0440\u0435\u0448\u0435\u043d\u0438\u044f\u0445<\/h3>\n<p>  <\/p>\n<ul>\n<li>AnywhereUSB \u2014 \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u043d\u0435\u043f\u043b\u043e\u0445\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435, \u043d\u043e \u0434\u043e\u0440\u043e\u0433\u043e\u0435, \u0438 \u0438\u043c\u0435\u0435\u0442 \u043d\u0435\u043f\u0440\u0438\u044f\u0442\u043d\u0438\u0435 \u0433\u043b\u044e\u043a\u0438, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u0435\u0441\u043b\u0438 \u0440\u0430\u0441\u0448\u0430\u0440\u0435\u043d\u043d\u0430\u044f \u0444\u043b\u0435\u0448\u043a\u0430 \u043e\u0442\u0432\u0430\u043b\u0438\u0432\u0430\u0435\u0442\u0441\u044f, \u0442\u043e \u043f\u0435\u0440\u0435\u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0435\u0435 \u043e\u0431\u0440\u0430\u0442\u043d\u043e? \u043c\u043e\u0436\u043d\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u0438 \u0432\u044b\u043d\u0443\u0432 \u0438 \u0432\u0441\u0442\u0430\u0432\u0438\u0432 \u0435\u0435.<\/li>\n<li>USB\/IP \u2014 OpenSource \u043f\u0440\u043e\u0435\u043a\u0442. \u0412\u0440\u043e\u0434\u0435 \u043a\u0430\u043a \u0431\u044b\u043b \u0437\u0430\u0431\u0440\u043e\u0448\u0435\u043d. \u041f\u043e \u0444\u0430\u043a\u0442\u0443 \u0433\u043b\u044e\u0447\u0438\u0442 \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u0441\u0438\u043b\u044c\u043d\u043e. \u041f\u0440\u0438 \u0440\u0430\u0437\u0440\u044b\u0432\u0435 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f, \u043c\u0430\u0448\u0438\u043d\u0430 \u0447\u0430\u0441\u0442\u0435\u043d\u044c\u043a\u043e \u0443\u0445\u043e\u0434\u0438\u0442 \u0432 \u043f\u043e\u043b\u043d\u0435\u0439\u0448\u0438\u0439 freezee, \u0430 windows \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 BSOD<\/li>\n<li>USB Redirector \u2014 \u0417\u0430\u043c\u0435\u0447\u0430\u0442\u0435\u043b\u044c\u043d\u0430\u044f \u0441\u043e\u0444\u0442\u0438\u043d\u0430. \u0414\u043b\u044f \u0440\u0430\u0441\u0448\u0430\u0440\u0438\u0432\u0430\u043d\u0438\u044f \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432 \u0441 linux \u043d\u0430 linux \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u0430, \u0432\u043e \u0432\u0441\u0435\u0445 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0445 \u0441\u043b\u0443\u0447\u0430\u044f\u0445 \u0443\u0436\u0435 \u0441\u0442\u043e\u0438\u0442 \u0434\u0435\u043d\u0435\u0433, \u043d\u0435 \u0442\u0430\u043a \u043c\u043d\u043e\u0433\u043e \u043a\u0430\u043a AnywhereUSB, \u043d\u043e \u0438 \u043d\u0435 \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u043e \u043a\u0430\u043a \u0445\u043e\u0442\u0435\u043b\u043e\u0441\u044c \u0431\u044b \ud83d\ude42<\/li>\n<\/ul>\n<p>  \u041a\u0430\u043a \u0432\u0438\u0434\u043d\u043e \u0435\u0441\u0442\u044c \u0438\u0437 \u0447\u0435\u0433\u043e \u0432\u044b\u0431\u0440\u0430\u0442\u044c, \u043d\u043e \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u0436\u0435 \u043d\u0430\u043a\u043e\u043d\u0435\u0446 \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0435\u043c \u0435\u0449\u0435 \u043e\u0434\u0438\u043d \u0441\u043f\u043e\u0441\u043e\u0431 \u2014 usbredir?<\/p>\n<h3>\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u044b<\/h3>\n<p>  \u0414\u043b\u044f \u0442\u043e\u0433\u043e \u0447\u0442\u043e \u0431\u044b \u0431\u044b\u043b\u043e \u043a\u0443\u0434\u0430 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0442\u044c \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430, \u043d\u0430 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u0435 \u043d\u0443\u0436\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 usb-\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u044b:  <\/p>\n<ul>\n<li>uhci \u2014 \u0434\u043b\u044f USB1.0<\/li>\n<li>ehci \u2014 \u0434\u043b\u044f USB2.0<\/li>\n<li>xhci \u2014 \u0434\u043b\u044f USB3.0<\/li>\n<\/ul>\n<h4>\u0414\u043b\u044f qemu (\u0431\u0435\u0437 libvirt)<\/h4>\n<p>  \u0421\u043a\u0430\u0447\u0430\u0439\u0442\u0435 \u043a\u043e\u043d\u0444\u0438\u0433 <a href=\"http:\/\/ehci-uhci.cfg\">ehci-uhci.cfg<\/a>, \u043f\u043e\u043b\u043e\u0436\u0438\u0442\u0435 \u0435\u0433\u043e \u0432 \/etc\/qemu\/  <\/p>\n<pre><code class=\"bash\">$ curl http:\/\/cgit.freedesktop.org\/spice\/qemu\/plain\/docs\/ich9-ehci-uhci.cfg --create-dirs -o \/etc\/qemu\/ehci-uhci.cfg <\/code><\/pre>\n<p>  \u0418 \u0434\u043e\u0431\u0430\u0432\u044c\u0442\u0435 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u043e\u043f\u0446\u0438\u0438 \u0432 \u043a\u043e\u043c\u0430\u043d\u0434\u0443 \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u044b:   <\/p>\n<pre><code class=\"bash\">-readconfig \/etc\/qemu\/ich9-ehci-uhci.cfg -chardev spicevmc,name=usbredir,id=usbredirchardev1 -device usb-redir,chardev=usbredirchardev1,id=usbredirdev1,debug=3 -chardev spicevmc,name=usbredir,id=usbredirchardev2 -device usb-redir,chardev=usbredirchardev2,id=usbredirdev2,debug=3 -chardev spicevmc,name=usbredir,id=usbredirchardev3 -device usb-redir,chardev=usbredirchardev3,id=usbredirdev3,debug=3 <\/code><\/pre>\n<h4>\u0414\u043b\u044f libvirt <\/h4>\n<p>  \u041c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0442\u0430\u043a\u043e\u0439 \u043a\u043e\u043d\u0444\u0438\u0433.<br \/>  \u0412 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u043c \u0444\u0430\u0439\u043b\u0435 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u044b \u0432 \u0443\u0437\u043b\u0435 &#038;ltdevices&#038;gt \u0443\u0434\u0430\u043b\u044f\u0435\u043c \u0432\u0441\u0435 USB \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u044b \u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0441\u043b\u0435\u0434\u0443\u0449\u0438\u0439 \u0431\u043b\u043e\u043a:  <\/p>\n<pre><code class=\"xml\">&lt;controller type='usb' index='0' model='ich9-ehci1'&gt; &lt;address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x7'\/&gt; &lt;\/controller&gt; &lt;controller type='usb' index='0' model='ich9-uhci1'&gt; &lt;master startport='0'\/&gt; &lt;address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0' multifunction='on'\/&gt; &lt;\/controller&gt; &lt;controller type='usb' index='0' model='ich9-uhci2'&gt; &lt;master startport='2'\/&gt; &lt;address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x1'\/&gt; &lt;\/controller&gt; &lt;controller type='usb' index='0' model='ich9-uhci3'&gt; &lt;master startport='4'\/&gt; &lt;address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x2'\/&gt; &lt;\/controller&gt; &lt;redirdev bus='usb' type='spicevmc'&gt;  &lt;address type='usb' bus='0' port='3'\/&gt; &lt;\/redirdev&gt; &lt;redirdev bus='usb' type='spicevmc'&gt; &lt;address type='usb' bus='0' port='4'\/&gt; &lt;\/redirdev&gt; &lt;redirdev bus='usb' type='spicevmc'&gt; &lt;address type='usb' bus='0' port='5'\/&gt; &lt;\/redirdev&gt; &lt;redirdev bus='usb' type='spicevmc'&gt; &lt;address type='usb' bus='0' port='6'\/&gt; &lt;\/redirdev&gt; <\/code><\/pre>\n<p>  \u041d\u043e \u0443 \u043c\u0435\u043d\u044f \u043e\u043d \u043f\u043e\u0447\u0435\u043c\u0443-\u0442\u043e \u043d\u0435 \u0437\u0430\u0440\u0430\u0431\u043e\u0442\u0430\u043b, \u0438 \u044f \u0440\u0435\u0448\u0438\u043b \u043f\u043e\u0439\u0442\u0438 \u0434\u0440\u0443\u0433\u0438\u043c \u043f\u0443\u0442\u0435\u043c, \u0430 \u0438\u043c\u0435\u043d\u043d\u043e \u044f\u0432\u043d\u043e \u0443\u043a\u0430\u0437\u0442\u044c libvirt \u0441 \u043a\u0430\u043a\u0438\u043c\u0438 \u043e\u043f\u0446\u0438\u044f\u043c\u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c qemu:<br \/>  \u042d\u0442\u043e\u0442 \u0431\u043b\u043e\u043a \u0440\u0430\u043c\u0435\u0449\u0430\u0435\u0442\u0441\u044f \u043f\u0435\u0440\u0435\u0434 \u0442\u0435\u0433\u043e\u043c &#038;lt\/domain&#038;gt:<\/p>\n<pre><code class=\"xml\">&lt;qemu:commandline&gt; &lt;qemu:arg value=&quot;-readconfig&quot;\/&gt; &lt;qemu:arg value=&quot;\/etc\/qemu\/ich9-ehci-uhci.cfg&quot;\/&gt; &lt;qemu:arg value=&quot;-chardev&quot;\/&gt; &lt;qemu:arg value=&quot;spicevmc,name=usbredir,id=usbredirchardev1&quot;\/&gt; &lt;qemu:arg value=&quot;-device&quot;\/&gt; &lt;qemu:arg value=&quot;usb-redir,chardev=usbredirchardev1,id=usbredirdev1,bus=ehci.0,debug=3&quot;\/&gt; &lt;qemu:arg value=&quot;-chardev&quot;\/&gt; &lt;qemu:arg value=&quot;spicevmc,name=usbredir,id=usbredirchardev2&quot;\/&gt; &lt;qemu:arg value=&quot;-device&quot;\/&gt; &lt;qemu:arg value=&quot;usb-redir,chardev=usbredirchardev2,id=usbredirdev2,bus=ehci.0,debug=3&quot;\/&gt; &lt;qemu:arg value=&quot;-chardev&quot;\/&gt; &lt;qemu:arg value=&quot;spicevmc,name=usbredir,id=usbredirchardev3&quot;\/&gt; &lt;qemu:arg value=&quot;-device&quot;\/&gt; &lt;qemu:arg value=&quot;usb-redir,chardev=usbredirchardev3,id=usbredirdev3,bus=ehci.0,debug=3&quot;\/&gt; &lt;\/qemu:commandline&gt; <\/code><\/pre>\n<p>\u041d\u0435 \u0437\u0430\u0431\u0443\u0434\u044c\u0442\u0435 \u0442\u0430\u043a \u0436\u0435 \u0441\u043a\u0430\u0447\u0430\u0442\u044c \u043a\u043e\u043d\u0444\u0438\u0433 <a href=\"http:\/\/ehci-uhci.cfg\">ehci-uhci.cfg<\/a>, \u0438 \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0435\u0433\u043e \u0432 \/etc\/qemu\/ \u043a\u0430\u043a \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u0441 qemu \u0431\u0435\u0437 libvirt<\/p>\n<p>  \u041a\u0441\u0442\u0430\u0442\u0438, \u043f\u043e\u0441\u043b\u0435 \u0434\u0430\u043d\u043d\u043e\u0439 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438, \u0435\u0441\u043b\u0438 \u0432\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0435 spice, \u0441\u0442\u0430\u043d\u0435\u0442 \u0432\u043e\u0437\u043c\u043e\u0436\u0435\u043d \u043f\u0440\u043e\u0431\u0440\u043e\u0441 usb-\u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432 \u0441 \u043a\u043b\u0438\u0435\u043d\u0442\u0430 spice \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440. <\/p>\n<p>  \u0417\u0430\u0432\u043e\u0434\u0438\u043c \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u043a\u0443, \u0442\u0435\u043f\u0435\u0440\u044c \u0432\u0441\u0435 \u0433\u043e\u0442\u043e\u0432\u043e \u0434\u043b\u044f \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0431\u0440\u043e\u0441\u0430.<\/p>\n<h3>\u0417\u0430\u043f\u0443\u0441\u043a \u0441\u0435\u0440\u0432\u0435\u0440\u0430<\/h3>\n<p>  \u041f\u0430\u043a\u0435\u0442 usbredirserver \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0439\u0442\u0438 \u0432 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0445 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f\u0445 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0432\u043e \u0432\u0441\u0435\u0445 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u044b\u0445 \u0434\u0438\u0441\u0442\u0440\u0438\u0431\u0443\u0442\u0438\u0432\u0430\u0445 linux.<\/p>\n<p>  \u0412\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c \u0444\u043b\u0435\u0448\u043a\u0443 \u0432 \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440, \u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0432\u044b\u0432\u043e\u0434 usb-\u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432:  <\/p>\n<pre><code class=\"bash\">$ lsusb ... Bus 003 Device 011: ID 125f:c82a A-DATA Technology Co., Ltd.  ... <\/code><\/pre>\n<p>  \u0412\u0438\u0434\u0438\u043c \u0447\u0442\u043e \u043f\u0430\u0440\u0430 vendorid:prodid \u0440\u0430\u0432\u043d\u0430 125f:c82a, \u0430 \u044f\u0434\u0440\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u043b\u043e \u0444\u043b\u0435\u0448\u043a\u0435 003-001 usbbus-usbaddr \u0441\u043e\u043e\u0442\u0432\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e.<\/p>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u0440\u0430\u0441\u0448\u0430\u0440\u0438\u043c \u0435\u0435 \u043d\u0430 4000 \u043f\u043e\u0440\u0442: <\/p>\n<pre><code class=\"bash\"># \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u043f\u0430\u0440\u0443 vendorid:prodid $ usbredirserver -p 4000 125f:c82a # \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u043f\u0430\u0440\u0443 usbbus-usbaddr $ usbredirserver -p 4000 003-011 <\/code><\/pre>\n<h3>\u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u043a \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u0435<\/h3>\n<p>  \u0417\u0430\u0445\u043e\u0434\u0438\u043c \u043d\u0430 \u0433\u0438\u043f\u0435\u0440\u0432\u0438\u0437\u043e\u0440 \u0438 \u0432 qemu-monitor \u043d\u0430\u0448\u0435\u0439 \u043c\u0430\u0448\u0438\u043d\u044b \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b:   <\/p>\n<pre><code class=\"bash\"># \u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u043d\u0430\u0448\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e chardev-add socket,id=usbredirchardev1,port=4000,host=192.168.1.123 # \u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043c \u0435\u0433\u043e \u0432 ehci \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440 (USB-2.0) device_add usb-redir,chardev=usbredirchardev1,id=usbredirdev1,bus=ehci.0,debug=4 <\/code><\/pre>\n<p>  \u0427\u0442\u043e \u0431\u044b \u043e\u0442\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0444\u043b\u0435\u0448\u043a\u0443 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0442\u0430\u043a\u043e\u0439 \u043a\u043e\u043c\u0430\u043d\u0434\u044b:  <\/p>\n<pre><code class=\"bash\">device_del usbredirdev1 <\/code><\/pre>\n<p>  \u0415\u0441\u043b\u0438 \u0443 \u0432\u0430\u0441 libvirt, \u0442\u043e \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0432 qemu-monitor \u043c\u043e\u0436\u043d\u043e \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c:  <\/p>\n<pre><code class=\"bash\">$ virsh qemu-monitor-command --hmp one-73 'chardev-add socket,id=usbredirchardev1,port=4000,host=192.168.1.123' $ virsh qemu-monitor-command --hmp one-73 'device_add usb-redir,chardev=usbredirchardev1,id=usbredirdev1,bus=ehci.0,debug=4' $ virsh qemu-monitor-command --hmp one-73 'device_del usbredirdev1' <\/code><\/pre>\n<p>  \u041d\u0430 \u044d\u0442\u043e\u043c \u0432\u0441\u0435, \u043f\u043e\u0441\u043b\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u0448\u0430\u0433\u043e\u0432 \u0432\u0430\u0448\u0430 \u0412\u041c \u0443\u0432\u0438\u0434\u0438\u0442 \u0432\u0430\u0448\u0443 \u0444\u043b\u0435\u0448\u043a\u0443 \u0438 \u0441\u043c\u043e\u0436\u0435\u0442 \u0441 \u043d\u0435\u0439 \u043d\u0430\u0442\u0438\u0432\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c.<\/p>\n<h3>\u0415\u0441\u043b\u0438 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432 \u043c\u043d\u043e\u0433\u043e \u0438 \u0432\u0441\u0435 \u043e\u043d\u0438 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u0435<\/h3>\n<p>  \u0412\u043e\u0442 \u0442\u0443\u0442 \u043f\u043e\u044f\u0432\u0438\u043b\u0430\u0441\u044c \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u0430\u044f \u0437\u0430\u0434\u0430\u0447\u043a\u0430, \u043a\u0430\u043a \u043f\u0440\u043e\u0431\u0440\u043e\u0441\u0438\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u0445 \u0434\u0435\u0432\u0430\u0439\u0441\u043e\u0432 \u043d\u0430 \u0440\u0430\u0437\u043d\u044b\u0435 \u0412\u041c?<br \/>  \u041f\u0440\u0438 \u044d\u0442\u043e\u043c, \u0441\u0442\u043e\u0438\u0442 \u043e\u0442\u043c\u0435\u0442\u0438\u0442\u044c, \u0432\u0441\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u0438\u043c\u0435\u044e\u0442 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u0443\u044e \u043f\u0430\u0440\u0443 vendorid:prodid, \u0430 \u043f\u0430\u0440\u0430 usbbus-usbaddr \u0441\u043e\u0432\u0441\u0435\u043c \u043d\u0435 \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u0430, \u0441\u0442\u043e\u0438\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0432\u044b\u043d\u0443\u0442\u044c \u0438 \u0432\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e, \u0442\u0430\u043a \u043e\u043d\u043e \u0441\u0440\u0430\u0437\u0443 \u043f\u043e\u043c\u0435\u043d\u044f\u0435\u0442 \u0441\u0432\u043e\u0439 usbaddr.<\/p>\n<p>  \u0414\u043b\u044f \u0441\u0435\u0431\u044f \u044f \u0440\u0435\u0448\u0438\u043b \u0435\u0435 \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 udev, \u0438 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0433\u043e \u0441\u043a\u0440\u0438\u043f\u0442\u0430.<br \/>  \u041a\u0441\u0442\u0430\u0442\u0438 \u0435\u0441\u043b\u0438 \u0432\u044b \u043d\u0435 \u0441\u043e\u0432\u0441\u0435\u043c \u043f\u043e\u043d\u0438\u043c\u0430\u0435\u0442\u0435 \u043a\u0430\u043a \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 udev, \u043d\u0430 Debian Wiki \u0435\u0441\u0442\u044c \u043a\u043b\u0430\u0441\u0441\u043d\u0430\u044f <a href=\"https:\/\/wiki.debian.org\/ru\/udev\">\u0441\u0442\u0430\u0442\u044c\u044f \u043e udev<\/a><\/p>\n<p>  \u0418 \u0442\u0430\u043a \u043f\u0440\u0438\u0441\u0442\u0443\u043f\u0438\u043c:<\/p>\n<p>  \u0414\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u0443\u0437\u043d\u0430\u0435\u043c \u0441\u0435\u0440\u0438\u0439\u043d\u0438\u043a \u043d\u0430\u0448\u0435\u0433\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430, \u043f\u043e \u043a\u043e\u0442\u043e\u0440\u043e\u043c\u0443 \u0438 \u0431\u0443\u0434\u0435\u043c \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0435\u0433\u043e \u0432 udev:  <\/p>\n<pre><code class=\"bash\">$ udevadm info -a -n \/dev\/bus\/usb\/003\/011 | grep '{serial}'     ATTR{serial}==&quot;11C130317234004B&quot;     ATTRS{serial}==&quot;0000:00:14.0&quot; <\/code><\/pre>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u0441\u043e\u0437\u0434\u0430\u0434\u0430\u0438\u043c \u0444\u0430\u0439\u043b \/etc\/udev\/rules.d\/99-usb-serial.rules \u0438 \u0437\u0430\u043f\u0438\u0448\u0435\u043c \u0432 \u043d\u0435\u0433\u043e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435 \u043f\u0440\u0430\u0432\u0438\u043b\u043e:  <\/p>\n<pre><code class=\"bash\">SUBSYSTEM==&quot;usb&quot;, ATTRS{idVendor}==&quot;125f&quot;, ATTRS{idProduct}==&quot;c82a&quot;, ATTR{serial}==&quot;11C130317234004B&quot;, SYMLINK+=&quot;usbdevices\/token1&quot; <\/code><\/pre>\n<p>  \u041f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u0438\u043c udev-\u043f\u0440\u0430\u0432\u0438\u043b\u0430:  <\/p>\n<pre><code class=\"bash\">$ udevadm control --reload-rules <\/code><\/pre>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c, \u043f\u0440\u0438 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0438 \u043d\u0430\u0448\u0435\u0439 \u0444\u043b\u0435\u0448\u043a\u0438, \u0432 \/dev\/usbdevices\/token1 \u043d\u0430 \u043d\u0435\u0435 \u043f\u043e\u044f\u0432\u0438\u0442\u0441\u044f \u0441\u0438\u043c\u043b\u0438\u043d\u043a.<\/p>\n<p>  \u042f \u043d\u0430\u043f\u0438\u0441\u0430\u043b \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u0441\u043a\u0440\u0438\u043f\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u044d\u0442\u043e\u0442 \u0441\u0438\u043c\u043b\u0438\u043d\u043a, \u0434\u043b\u044f \u0442\u043e\u0433\u043e \u0447\u0442\u043e \u0431\u044b \u0443\u0437\u043d\u0430\u0442\u044c \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0443\u044e \u043f\u0430\u0440\u0443 usbbus-usbaddr \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u0438 \u0440\u0430\u0441\u0448\u0430\u0440\u0438\u0442\u044c \u0435\u0433\u043e \u043d\u0430 \u043d\u0443\u0436\u043d\u044b\u0439 \u043f\u043e\u0440\u0442<\/p>\n<p>  usbredirserver-by-symlink.sh  <\/p>\n<pre><code class=\"bash\">#!\/bin\/bash keys=&quot;${@:1:${#}-1}&quot; usblink=&quot;${@: -1}&quot; if [ -L $usblink ] && [ $# != 0 ]; then     usbbus=`udevadm info -a -n $usblink | awk -F== '\/ATTR{busnum}\/ { gsub(\/&quot;\/,&quot;&quot;,$2);print $2 }'`     usbaddr=`udevadm info -a -n $usblink | awk -F== '\/ATTR{devnum}\/ { gsub(\/&quot;\/,&quot;&quot;,$2);print $2 }'`     if [ &quot;$usbbus&quot; != &quot;&quot; ] && [ &quot;$usbaddr&quot; != &quot;&quot; ]; then         usbredirserver $keys $usbbus-$usbaddr     else         echo &quot;This is not usb device&quot;         exit 1     fi else     echo &quot;Usage: usbredirserver-by-symlink.sh [-p|--port &lt;port&gt;] [-v|--verbose &lt;0-5&gt;] \/dev\/usbdevice&quot;     exit 1 fi <\/code><\/pre>\n<p>  \u041a \u0441\u043e\u0436\u0430\u043b\u0435\u043d\u0438\u044e \u043e\u0442 \u0441\u043c\u0435\u043d\u044b \u043f\u0430\u0440\u044b usbbus-usbaddr \u043f\u043e\u0441\u043b\u0435 \u0440\u0430\u0441\u0448\u0430\u0440\u0438\u0432\u0430\u043d\u0438\u044f \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u044d\u0442\u043e\u0442 \u0441\u043a\u0440\u0438\u043f\u0442 \u043d\u0435 \u0441\u043f\u0430\u0441\u0435\u0442, \u0442\u0430\u043a \u043a\u0430\u043a usbredirserver \u043d\u0435 \u043e\u0442\u0432\u0430\u043b\u0438\u0432\u0430\u0435\u0442\u0441\u044f, \u0435\u0441\u043b\u0438 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u0432\u044b\u043d\u0443\u0442\u044c \u0438\u043b\u0438 \u0435\u0441\u043b\u0438 \u0442\u0430\u043a\u043e\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u0432\u043e\u043e\u0431\u0449\u0435 \u043d\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442. \u041d\u043e \u043e\u043d \u043e\u0431\u043b\u0435\u0433\u0447\u0438\u0442 \u043f\u0443\u0442\u044c \u0438 \u043f\u043e\u043c\u043e\u0436\u0435\u0442 \u043d\u0435 \u0437\u0430\u043f\u0443\u0442\u0430\u0442\u044c\u0441\u044f \u043f\u0440\u0438 \u0440\u0430\u0441\u0448\u0430\u0440\u0438\u0432\u0430\u043d\u0438\u0438 \u043d\u0443\u0436\u043d\u043e\u0433\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u043d\u0430 \u043d\u0443\u0436\u043d\u044b\u0435 \u0412\u041c.<br \/>  \u0412 \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0435\u043c \u0435\u0433\u043e \u043c\u043e\u0436\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c, \u0434\u043b\u044f \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0433\u043e \u0441\u043a\u0440\u0438\u043f\u0442\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u0443\u0434\u0435\u0442 \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u0442\u044c \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435\/\u043e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432, \u0440\u0430\u0441\u0448\u0430\u0440\u0438\u0432\u0430\u0442\u044c \u043d\u0443\u0436\u043d\u044b\u0435 \u0438 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0442\u044c\/\u043e\u0442\u043a\u043b\u044e\u0447\u0430\u0442\u044c \u0438\u0445 \u043d\u0430 \u0443\u0434\u0430\u043b\u0435\u043d\u043d\u043e\u0439 \u0412\u041c.<\/p>\n<h3>\u0418\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0438:<\/h3>\n<p>  <a href=\"http:\/\/www.opennet.ru\/opennews\/art.shtml?num=30773\">www.opennet.ru\/opennews\/art.shtml?num=30773<\/a><br \/>  <a href=\"http:\/\/opennebula.org\/opennebula-for-virtual-desktops\/\">opennebula.org\/opennebula-for-virtual-desktops<\/a><br \/>  <a href=\"http:\/\/umvirt.ru\/node\/82\">umvirt.ru\/node\/82<\/a><br \/>  <a href=\"http:\/\/lists.gnu.org\/archive\/html\/qemu-devel\/2013-07\/msg05244.html\">lists.gnu.org\/archive\/html\/qemu-devel\/2013-07\/msg05244.html<\/a>     \t<\/p>\n<div class=\"clear\"><\/div>\n<p> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"http:\/\/habrahabr.ru\/post\/265065\/\"> http:\/\/habrahabr.ru\/post\/265065\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>     \t<img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/e6a\/1bc\/05d\/e6a1bc05d70c460399d3276fdec28d2c.png\"\/><\/p>\n<p>  \u041d\u0430 \u0441\u0435\u0433\u043e\u0434\u043d\u044f\u0448\u043d\u0438\u0439 \u0434\u0435\u043d\u044c \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0435\u0442 \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u043c\u043d\u043e\u0433\u043e \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u0432 \u043f\u0440\u043e\u0431\u0440\u043e\u0441\u0438\u0442\u044c USB-\u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u043d\u0430 \u0434\u0440\u0443\u0433\u043e\u0439 \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440 \u0438\u043b\u0438 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u043a\u0443 \u043f\u043e \u0441\u0435\u0442\u0438.<br \/>  \u0418\u0437 \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u044b\u0445 \u2014 \u0436\u0435\u043b\u0435\u0437\u044f\u0447\u043d\u044b\u0435 \u0442\u0430\u043a\u0438\u0435 \u043a\u0430\u043a AnywhereUSB \u0438 \u0447\u0438\u0441\u0442\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043d\u044b\u0435 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u044b, \u0438\u0437 \u0442\u0435\u0445 \u0447\u0442\u043e \u044f \u043f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u043b \u0441\u0430\u043c: USB Redirector \u0438 USB\/IP.<br \/>  \u042f \u0431\u044b \u0445\u043e\u0442\u0435\u043b \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u0442\u044c \u0432\u0430\u043c \u0435\u0449\u0435 \u043e\u0431 \u043e\u0434\u043d\u043e\u043c \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e\u043c \u0441\u043f\u043e\u0441\u043e\u0431\u0435, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0441 \u044d\u043c\u0443\u043b\u044f\u0442\u043e\u0440\u043e\u043c qemu.<br \/>  \u041e\u043d \u0442\u0430\u043a \u0436\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0447\u0430\u0441\u0442\u044c\u044e \u043f\u0440\u043e\u0435\u043a\u0442\u0430 spice, \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u044b\u043c RedHat.<\/p>\n<p>  usbredir, \u044d\u0442\u043e \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0439 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b \u0434\u043b\u044f \u043f\u0440\u043e\u0431\u0440\u043e\u0441\u0430 usb-\u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432 \u043f\u043e tcp \u043d\u0430 \u0443\u0434\u0430\u043b\u0435\u043d\u043d\u044b\u0439 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0439 \u0441\u0435\u0440\u0432\u0435\u0440, \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u043d\u043d\u044b\u0439 \u043f\u0440\u0438 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0435 RedHat \u0432 \u0440\u0430\u043c\u043a\u0430\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 spice. \u041d\u043e \u043a\u0430\u043a \u043e\u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c \u0438\u043c \u043c\u043e\u0436\u043d\u043e \u0432\u043f\u043e\u043b\u043d\u0435 \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0438 \u0431\u0435\u0437 spice. \u0412 \u0440\u043e\u043b\u0438 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0432\u044b\u0441\u0442\u0443\u043f\u0430\u0435\u0442 usbredirserver, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0448\u0430\u0440\u0438\u0442 usb-\u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u043d\u0430 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0439 \u043f\u043e\u0440\u0442, \u0430 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043a\u043b\u0438\u0435\u043d\u0442\u0430 \u0441\u0430\u043c qemu, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u044d\u043c\u0443\u043b\u0438\u0440\u0443\u0435\u0442 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e usb-\u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u0432 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0439 usb-\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440 \u0432\u0430\u0448\u0435\u0439 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u044b. \u0411\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f \u0442\u0430\u043a\u043e\u043c\u0443 \u043f\u043e\u0434\u0445\u043e\u0434\u0443 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0433\u043e\u0441\u0442\u0435\u0432\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u043c\u043e\u0436\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0430\u0431\u0441\u043e\u043b\u044e\u0442\u043d\u043e \u043b\u044e\u0431\u0430\u044f \u041e\u0421, \u0442\u0430\u043a \u043a\u0430\u043a \u043e\u043d\u0430 \u0434\u0430\u0436\u0435 \u043d\u0435 \u0437\u043d\u0430\u0435\u0442, \u0447\u0442\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u0440\u043e\u0431\u0440\u043e\u0448\u0435\u043d\u043d\u044b\u043c \u0443\u0434\u0430\u043b\u0435\u043d\u043d\u043e, \u0430 \u0432\u0441\u044f \u043b\u043e\u0433\u0438\u043a\u0430 \u043b\u043e\u0436\u0438\u0442\u0441\u044f \u043d\u0430 qemu. <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-263947","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/263947","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=263947"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/263947\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=263947"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=263947"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=263947"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}