Ubuntu – Virt-Manager can’t connect to graphical console

kvmqemuvirt-managervirtualization

Since yesterday, I can't view any running VMs (QEMU/KVM) with my virt-manager GUI any more. When I try to view the screen of a VM in its built-in viewer, I get this error message instead:

Error connecting to graphical console:
internal error: unable to execute QEMU command 'getfd':
No file descriptor supplied via SCM_RIGHTS

This applies to all of my VMs.

I can still correctly view and interact with my VMs in virt-viewer though, only the virt-manager built-in viewer is dead.

What is wrong here and how can I fix it?

Edit: I just found out I am using virt-manager version 1:1.4.0-1~getdeb1 from the archive.getdeb.net repo.

Best Answer

In working to try to Merge the latest virt-manager 1.4.0 to Ubuntu I came across this same issue. It does not appear to be a bug in virt-manager just a change how it sends display data to VMs.

I've opened a bug to add the necessary permissions to libvirt which is where the apparmor profiles are defined - https://bugs.launchpad.net/ubuntu/+source/libvirt/+bug/1668681

To fix this issue without disabling security append:

# allow connect with openGraphicsFD to work
unix (send, receive) type=stream addr=none peer=(label=/usr/sbin/libvirtd),

to the file /etc/apparmor.d/abstractions/libvirt-qemu but not in the qemu-bridge-helper section. (So right after "owner @{PROC}/0-9*/fd/ r,")

Then reload the profiles with sudo systemctl reload apparmor.

Having said all that, I always do recommend using the packages from our archive for best support.

Related Question