
On 1/25/20 8:04 PM, Kasper Laudrup wrote:
Hi libvirt-users,
Hope this is the right place to ask, otherwise please point me in the right direction.
I have a libvirt virtual machine running on the session bus that I would like to access through SSH. I have previously done so using X11 forwarding and while it works, it is very sluggish with the connection I have.
I recently learned that you can access the virtual machine with virt-viewer through SSH which should perform much better. Unfortunately, my virtual machine is currently running on the session bus and that doesn't seem to be supported (please do correct if I'm wrong here).
Virt-viewer accepts -c URI argument. In your case you can do: virt-viewer -c qemu:///session $domain and it will show the domain's GUI.
It doesn't really matter to much if the VM is running on the system bus or session bus, I just prefer running things as a non privileged user for all the obvious reasons, so that's where I created the VM initially.
Domains running under the system connection doesn't necessarily run as root:root. You can configure the UID:GID pair in /etc/libvirt/qemu.conf (search user/group). Alternatively, each domain can be fine tuned to run under different user. See https://libvirt.org/formatdomain.html#seclabel for more info.
I tried to follow this guide to move my VM to the system bus.
Running `sudo virsh define vm.xml` fails with:
error: invalid argument: could not find capabilities for arch=x86_64 domaintype=kvm
Digging a bit further into it, I figured out that the cause of the error message is, that I for some reason do not have KVM acceleration support when running VMs on the system bus (as root) running my VM on the session bus as a normal user (with the correct group membership) works fine.
Trying to launch virt-manager as root verifies that, as creating a new VM warns me that I do not have KVM support.
I'm fairly lost as to what to do from here. I must admit I remember struggling a bit to get the virtual machine to run with KVM support on the session bus in the first place, but have completely forgotten what the problem and resolution was.
I'm using Debian stable (Buster) with standard package versions:
QEMU 3.1.0 libvirt 5.0.0
Any kind of help or input would be greatly appreciated.
Thanks a lot and kind regards,
Kasper Laudrup
First of all, you need to verify that the host is KVM capable. Try running "virt-host-validate qemu" under root. It should do some basic diagnostic and suggest resolution to possible errors. Secondly, you want to make sure that /dev/kvm is accessible to the user that you want to start your domain under. I'm using consolekit on my desktop so whenever I log in it appends an ACL entry to the file so that my user can run domains: # getfacl /dev/kvm getfacl: Removing leading '/' from absolute path names # file: dev/kvm # owner: root # group: kvm user::rw- user:zippy:rw- group::rw- mask::rw- other::--- After these steps, libvirt should detect KVM just fine. Michal