我有一個運行 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 重定向錯誤”。
這是我到目前為止所嘗試過的,但沒有成功:
按照建議這裡,我建立了一個包含以下內容的 /etc/udev/rules.d/50-spice.rules 文件,然後建立了一個 `spice` 群組並將我的使用者加入到該群組中
SUBSYSTEM=="usb", GROUP="spice", MODE="0660" SUBSYSTEM=="usb_device", GROUP="spice", MODE="0660"
將 SPICE-GTK 從最新版本的 Fedora 33 (0.39-1) 降級至 0.38-3。
禁用selinux
sudo chmod 4755 /usr/libexec/spice-gtk-x86_64/spice-client-glib-usb-acl-helper
升級到Fedora 34,附spice-gtk 0.39-2
答案1
我的解決方案是建立 /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>
答案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
西蒙