Kde

沒有 GNOME 的系統上的 Gentoo virt-manager 無法連接到 libvirtd,因為 polkit 拋出失去文件錯誤

  • August 14, 2014

我正在使用 AMD A8-4555M CPU 的 HP Pavilion Touch 14-N009LA 上使用核心 3.12.21 AMD64 執行 Gentoo Linux for AMD64。我的桌面環境是 KDE 4.12.5。我已經安裝了 KVM、libvirtd、polkit 和 virt-manager。但是,當我打開 virt-manager 時,我收到以下錯誤並且無法對虛擬機執行任何操作:

Unable to connect to libvirt.

authentication failed: polkit: Error getting authority: Error initializing authority: Could not connect: No such file or directory

詳細輸出在這裡:

Unable to connect to libvirt.

authentication failed: polkit: Error getting authority: Error initializing authority: Could not connect: No such file or directory

Libvirt URI is: qemu:///system

Traceback (most recent call last):
 File "/usr/share/virt-manager/virtManager/connection.py", line 1002, in _open_thread
   self.vmm = self._try_open()
 File "/usr/share/virt-manager/virtManager/connection.py", line 984, in _try_open
   flags)
 File "/usr/lib64/python2.7/site-packages/libvirt.py", line 105, in openAuth
   if ret is None:raise libvirtError('virConnectOpenAuth() failed')
libvirtError: authentication failed: polkit: Error getting authority: Error initializing authority: Could not connect: No such file or directory

Google搜尋我發現了以下提示來嘗試使其工作,這就是他們的做法:

  • 確保 polkit 身份驗證代理正在執行。我檢查了一下,它確實在執行:
黑色@rockshooter ~ $ ps -ef | 握持polkit
黑色 5039 1 0 04:31 ? 00:00:00 /usr/lib64/kde4/libexec/polkit-kde-authentication-agent-1
  • 創建一個名為 kvm 的組,將我的使用者 ID 添加到其中,並創建一個 polkit 規則來驗證希望管理 VM 的組 kvm 的使用者。我這樣做了,但沒有奏效:
root@rockshooter /etc/polkit-1/rules.d # cat 50-default.rules
polkit.addRule(函式(動作,主題){
if (action.id == "org.libvirt.unix.manage" &&
主題.isInGroup("kvm")) {
返回 polkit.Result.YES;
}
});
root@rockshooter /etc/polkit-1/rules.d #grep kvm /etc/group
kvm:x:78:qemu,黑色
  • 從命令行連接到管理程序(使用virsh)。我得到完全相同的錯誤。
black@rockshooter ~ $ virsh --connect qemu:///system
錯誤:無法連接到管理程序
錯誤:身份驗證失敗:polkit:獲取權限時出錯:初始化權限時出錯:無法連接:沒有這樣的文件或目錄

您的系統策略阻止管理本地虛擬化系統。您應該使用su來執行virt-managervirsh --connect qemu:///system以及任何其他與虛擬化相關的任務。

引用自:https://unix.stackexchange.com/questions/148128