我对 Linux 还比较陌生,一段时间以来,我一直使用 Arch Linux 作为一些虚拟机的主机。我不知道是什么触发了它,但最近 90% 的时间里,我启动并打开虚拟机管理器窗口时,用于对我进行身份验证的 PolicyKit 窗口都没有弹出,虚拟管理器窗口一直处于“正在连接...”状态,并且从不加载虚拟机。无论我做什么,似乎都无法解决这个问题,只能重新启动,并希望这次我能进入 10%。
有人知道为什么会发生这种情况以及如何解决它吗?
我不知道在这里分享什么信息才有助于解决这个问题,所以如果你需要的话,只要问我,我就会添加到帖子中。
版本:
$ uname -srm
Linux 6.2.13-arch1-1-vfio x86_64
$ plasmashell --version
plasmashell 5.27.5
$ kf5-config --version
Qt: 5.15.9
KDE Frameworks: 5.106.0
kf5-config: 1.0
$ virt-manager --version
4.1.0
$ pacman -Q polkit-kde-agent
polkit-kde-agent 5.27.5-1
编辑#1:
● polkit.service - Authorization Manager
Loaded: loaded (/usr/lib/systemd/system/polkit.service; static)
Active: active (running) since Wed 2023-06-14 13:15:14 -03; 2h 44min ago
Docs: man:polkit(8)
Main PID: 1593 (polkitd)
Tasks: 4 (limit: 38244)
Memory: 6.1M
CPU: 348ms
CGroup: /system.slice/polkit.service
└─1593 /usr/lib/polkit-1/polkitd --no-debug
Jun 14 13:15:14 archlinux systemd[1]: Starting Authorization Manager...
Jun 14 13:15:14 archlinux polkitd[1593]: Started polkitd version 122
Jun 14 13:15:14 archlinux polkitd[1593]: Loading rules from directory /etc/polkit-1/rules.d
Jun 14 13:15:14 archlinux polkitd[1593]: Loading rules from directory /usr/share/polkit-1/rules.d
Jun 14 13:15:14 archlinux polkitd[1593]: Finished loading, compiling and executing 7 rules
Jun 14 13:15:14 archlinux systemd[1]: Started Authorization Manager.
Jun 14 13:15:14 archlinux polkitd[1593]: Acquired the name org.freedesktop.PolicyKit1 on the system bus
Jun 14 13:15:17 archlinux polkitd[1593]: Registered Authentication Agent for unix-session:4 (system bus name :1.41 [/usr/lib/polkit-kde-authentication-agent-1], object path /org/kde/PolicyKit1/AuthenticationAgent, locale C.UTF-8)
在polkit.service
日志中,在“注册的身份验证代理”日志之后,有一个关于成功(10%)会话的额外日志:
Jun 14 12:59:43 archlinux polkitd[1157]: Operator of unix-session:2 successfully authenticated as unix-user:MYUSER to gain TEMPORARY authorization for action org.libvirt.unix.manage for unix-process:2010:18511 [/usr/bin/python /usr/bin/virt-manager] (owned by unix-user:MYUSER)
答案1
经过大量研究,我发现只需重新启动libvirtd
即可解决问题:
$ systemctl restart libvirtd