web-dev-qa-db-fra.com

Redirection d'un périphérique USB sur une machine virtuelle avec VER-Manager ne fonctionne pas

J'ai un poste de travail Fedora exécutant une machine virtuelle Ubuntu 16.04 (Hypervisor KVM). J'aimerais rediriger un périphérique USB sur la machine virtuelle, mais lorsque vous sélectionnez "Machine virtuelle | Rediriger le périphérique USB" de Virt Manager, je reçois l'erreur suivante:

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

La fenêtre d'erreur contient une section "Détails" qui vient de lire "Erreur de redirection USB".

Voici ce que j'ai essayé jusqu'à présent, sans succès:

  1. Comme suggéré ICI , j'ai créé un fichier /etc/udi/rules.d/50-Spice.rule avec le contenu suivant, puis créé un groupe `SPICE` et ajouté mon utilisateur à ce groupe.

    SUBSYSTEM=="usb", GROUP="spice", MODE="0660"
    SUBSYSTEM=="usb_device", GROUP="spice", MODE="0660"
    
  2. Détaillé SPICE-GTK de la dernière version de Fedora 33 (0,39-1) à 0,38-3.

  3. Désactivé selinux

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

  5. Amélioré à Fedora 34 qui vient avec Spice-GTK 0.39-2

1
Romain Deterre

La solution pour moi était de créer des fichiers /etc/udev/rules.d/50-spice.rules, puis d'ajouter <allow_any>yes</allow_any> sous le <defaults> section dans /usr/share/polkit--/actions/org.spice-space.lowLeusbaccess.policy. Après modification, le fichier ressemble à ceci sur ma machine:

<?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>
1
Romain Deterre