从昨天开始,我再也无法使用我的virt-manager
GUI 查看任何正在运行的虚拟机(QEMU/KVM)。当我尝试在其内置查看器中查看 VM 的屏幕时,我收到以下错误消息:
连接到图形控制台时出错:
内部错误:无法执行 QEMU 命令“getfd”:
没有通过 SCM_RIGHTS 提供文件描述符
这适用于我所有的虚拟机。
不过,我仍然可以正确查看我的虚拟机并与之交互virt-viewer
,只有virt-manager
内置查看器已失效。
这里有什么问题,我该如何解决?
编辑:我刚刚发现我使用的是archive.getdeb.net repo中的virt-manager
版本1:1.4.0-1~getdeb1
。
在尝试将最新的 virt-manager 1.4.0 合并到 Ubuntu 时,我遇到了同样的问题。它似乎不是 virt-manager 中的错误,只是改变了它向 VM 发送显示数据的方式。
我打开了一个错误以向 libvirt 添加必要的权限,这是定义 apparmor 配置文件的地方 - https://bugs.launchpad.net/ubuntu/+source/libvirt/+bug/1668681
要在不禁用安全附加的情况下解决此问题:
到文件
/etc/apparmor.d/abstractions/libvirt-qemu
,但不在 qemu-bridge-helper 部分。(所以就在“所有者@{PROC}/0-9*/fd/r”之后)然后重新加载配置文件
sudo systemctl reload apparmor
。说了这么多,我总是建议使用我们存档中的软件包以获得最佳支持。
就我而言,这是 apparmour 阻止访问。apparmour 魔术配置文件生成器似乎无法正常工作。我的解决方法如下。
启动 KVM 实例并收到错误后,我做了:
其中列出了导致问题的配置文件,
然后我将 apparmour 配置文件设置为抱怨而不是强制执行:
现在我不再收到错误。希望这个冲突得到解决。
我无法重现该问题,但
libvirt
10 月 5 日有更新:libvirt-bin-1.3.1-1ubuntu10.2
已升级为libvirt-bin-1.3.1-1ubuntu10.3
libvirt0-1.3.1-1ubuntu10.2
已升级为libvirt01.3.1-1ubuntu10.3
如果您没有更改任何设置或其他任何内容,则很可能在升级过程中出现了问题。完全删除所有
virt-manager
相关软件包并重新安装它们。重新启动主机操作系统 - 现在一切都应该像以前一样正常工作。
似乎是来自http://getdeb.net
virt-manager
的版本中的错误。1:1.4.0-1~getdeb1
1:1.3.2-3ubuntu1.16.04.2
再次将包降级到官方 repos ( from )提供的最新版本可以xenial-updates
解决此问题。更新:版本
1:1.4.0-1~getdeb2
尚未解决此问题。