Kvm-Virtualization

使用 virt-manager 將 USB 設備重定向到虛擬機不起作用

  • January 7, 2022

我有一個執行 Ubuntu 16.04 虛擬機(KVM 管理程序)的 Fedora 工作站。我想將 USB 設備重定向到 VM,但是從 virt-manager 中選擇“虛擬機 | 重定向 USB 設備”時,出現以下錯誤:

spice-client-error-quark: Could not redirect <USB device name> at 1-4:
Error setting USB device node ACL: 'Not authorized' (0)

錯誤視窗有一個“詳細資訊”部分,僅顯示“USB 重定向錯誤”。

到目前為止,這是我嘗試過的,但沒有成功:

  1. 按照這裡的建議,我創建了一個包含以下內容的 /etc/udev/rules.d/50-spice.rules 文件,然後創建了一個spice組並將我的使用者添加到該組
SUBSYSTEM=="usb", GROUP="spice", MODE="0660"
SUBSYSTEM=="usb_device", GROUP="spice", MODE="0660"
  1. 將 spice-gtk 從最新版本的 Fedora 33 (0.39-1) 降級到 0.38-3。
  2. 禁用 selinux
  3. sudo chmod 4755 /usr/libexec/spice-gtk-x86_64/spice-client-glib-usb-acl-helper
  4. 升級到帶有 spice-gtk 0.39-2 的 Fedora 34

我的解決方案是創建 /etc/udev/rules.d/50-spice.rules 文件,然後在 /usr/share/polkit-1/actions/org.spice-space.lowlevelusbaccess<allow_any>yes</allow_any>的部分下添加。<defaults>政策。修改後,文件在我的機器上是這樣的:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE policyconfig PUBLIC
         "-//freedesktop//DTD PolicyKit Policy Configuration 1.0//EN"
         "http://www.freedesktop.org/standards/PolicyKit/1.0/policyconfig.dtd">
<policyconfig>

 <vendor>The Spice Project</vendor>
 <vendor_url>http://spice-space.org/</vendor_url>
 <icon_name>spice</icon_name>

 <action id="org.spice-space.lowlevelusbaccess">
   <description>Low level USB device access</description>
   <message>Privileges are required for low level USB device access (for usb device pass through).</message>
   <defaults>
     <allow_any>yes</allow_any>
     <allow_inactive>no</allow_inactive>
     <allow_active>yes</allow_active>
   </defaults>
 </action>

</policyconfig>

引用自:https://serverfault.com/questions/1073182