Tengo una estación de trabajo Fedora que ejecuta una máquina virtual Ubuntu 16.04 (hipervisor KVM). Me gustaría redirigir un dispositivo USB a la VM, pero al seleccionar "Máquina virtual | Redirigir dispositivo USB" desde virt-manager, aparece el siguiente error:
spice-client-error-quark: Could not redirect <USB device name> at 1-4:
Error setting USB device node ACL: 'Not authorized' (0)
La ventana de error tiene una sección "Detalles" que simplemente dice "Error de redirección USB".
Esto es lo que he probado hasta ahora, sin éxito:
Como se sugiereaquí, Creé un archivo /etc/udev/rules.d/50-spice.rules con el siguiente contenido, luego creé un grupo `spice` y agregué mi usuario a este grupo
SUBSYSTEM=="usb", GROUP="spice", MODE="0660" SUBSYSTEM=="usb_device", GROUP="spice", MODE="0660"
Spice-gtk degradado de la última versión de Fedora 33 (0.39-1) a 0.38-3.
Linux deshabilitado
sudo chmod 4755 /usr/libexec/spice-gtk-x86_64/spice-client-glib-usb-acl-helper
Actualizado a Fedora 34 que viene con especias-gtk 0.39-2
Respuesta1
La solución para mí fue crear los archivos /etc/udev/rules.d/50-spice.rules y luego agregarlos <allow_any>yes</allow_any>
en la <defaults>
sección en /usr/share/polkit-1/actions/org.spice-space.lowlevelusbaccess. política. Después de la modificación, el archivo se ve así en mi máquina:
<?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>
Respuesta2
Más correcto debería ser: (depende de la distribución de Linux):
archivo: /etc/polkit-default-privs/local o /etc/polkit-default-privs.local
agregue al archivo la línea (o genere el archivo/directorio): org.spice-space.lowlevelusbaccess sí:no:yes
después de esta ejecución: /sbin/set_polkit_default_privs
si opensuse entonces además:
en el archivo /etc/permissions.local agregue la línea: /usr/bin/spice-client-glib-usb-acl-helper root:root 4755 después de ejecutar: chkstat --system --set
Simón