使用 virt-manager 将 USB 设备重定向到虚拟机不起作用

使用 virt-manager 将 USB 设备重定向到虚拟机不起作用

我有一台运行 Ubuntu 16.04 虚拟机(KVM 管理程序)的 Fedora 工作站。我想将 USB 设备重定向到虚拟机,但从 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"
    
  2. 将 spice-gtk 从 Fedora 33 的最新版本 (0.39-1) 降级至 0.38-3。

  3. 禁用 selinux

  4. sudo chmod 4755 /usr/libexec/spice-gtk-x86_64/spice-client-glib-usb-acl-helper

  5. 升级到 Fedora 34,附带 spice-gtk 0.39-2

答案1

对我来说,解决方案是创建 /etc/udev/rules.d/50-spice.rules 文件,然后将其添加到/usr/share/polkit-1/actions/org.spice-space.lowlevelusbaccess.policy 中的部分<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>

答案2

更正确的应该是:(取决于Linux发行版):

文件:/etc/polkit-default-privs/local 或 /etc/polkit-default-privs.local

在文件中添加以下行(或生成文件/目录):org.spice-space.lowlevelusbaccess yes:no:yes

运行后:/sbin/set_polkit_default_privs

如果是 opensuse 则另外:

在文件 /etc/permissions.local 中添加以下行:/usr/bin/spice-client-glib-usb-acl-helper root:root 4755 运行后:chkstat --system --set

西蒙

相关内容