6

I have a Debian 9 KVM host runs on a dedicated server. I use virt-manager on my laptop (Ubuntu 16.04) to connect it remotely. Everything works quite well except copy/paste actions between VM's SPICE display(the one embedded in virt-manager) and my laptop's Ubuntu.

All packages are from official repositories. No PPA or 3rd party repository involved.

Also tried VNC instead of Spice but that didn't work too.

I just got an idea that I may connect through RDP to a VM machine, but it's painfully process because of all firewalls and routes between my laptop and the machine. Also not all of my machines has WAN access.

Looking for easier solution on virt-manager.

thiras
  • 165
  • 1
  • 1
  • 7
  • Do not delete the "Channel Spice" or "Controller VirtIO Serial" devices in virt-manager or else the host/guest clipboard will not work. – Trix May 05 '19 at 13:30

2 Answers2

5

You'll need to be sure that you have the libvirt guest utilities installed to your guest operating system, to begin.

Also, in order for copy/paste to work, you'll need a SPICE guest agent socket device in addition to a VirtIO Serial device assigned to the VM, which will allow virt-viewer and most other SPICE clients to pipe copy/paste over a virtual serial connection, which the guest agent will hande. Defining these devices may have already been done for you, especially if you use virt-manager to make these VMs (virt-manager assumes a GUI install of most guests).

In order to install the guest agent on a Debian based GNU/Linux guest machine, you'll need to run: sudo apt install spice-vdagent

In order to install the guest agent on a Windows machine, you must install the package which can be found here: https://www.spice-space.org/download/binaries/spice-guest-tools/

And finally, you will need to install VirtIO drivers in Windows in order to get most advanced functionality. This can be accomplished by adding drivers from the Win-virtio ISO (which you'll have to attach to the guest). A link to those: https://www.linux-kvm.org/page/WindowsGuestDrivers/Download_Drivers

As you've pointed out in the comment below, you must ensure that the spice agent is running in the guest before this will function fully. A reboot is a sure way to get that agent running.

Spooler
  • 7,016
  • 16
  • 29
2

For those looking for an answer you need to add to the XML file this

<devices>
    <controller type='virtio-serial' index='0'/>
    <channel type='spicevmc'>
        <target type='virtio' name='com.redhat.spice.0'/>
    </channel>
</devices>

and install the guest, the debian package is called spice-vdagent and reboot the vm

Docs: https://www.spice-space.org/spice-user-manual.html#agent

awaska
  • 21
  • 1