virt-manager Spice copy paste doesn't work

21,998

Solution 1

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.

Solution 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

Share:
21,998

Related videos on Youtube

thiras
Author by

thiras

I have specialized at DevOps particularly at Docker, Ansible and Linux System Administration. For few years I'm also interested to Python and it's frameworks like Django. Besides ICT sector, I have Bachelor of Economics degree and also have some experience as Financial Risk Management as freelancer.

Updated on September 18, 2022

Comments

  • thiras
    thiras almost 2 years

    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.

    • Trix
      Trix about 5 years
      Do not delete the "Channel Spice" or "Controller VirtIO Serial" devices in virt-manager or else the host/guest clipboard will not work.
  • thiras
    thiras almost 7 years
    I had to reboot after installation of spice-vdagent but worked like a charm. Thanks.
  • Spooler
    Spooler almost 7 years
    An important detail. I'll update with your contribution.
  • robguinness
    robguinness over 5 years
    "You'll need to be sure that you have the libvirt guest utilities installed to your guest operating system, to begin." Can you be more specific? I have searched for what this might refer to, and I can't find information anywhere.
  • john doe
    john doe almost 4 years
    What is the libvirt guest utils? such a thing does not exist.
  • Spooler
    Spooler almost 4 years
    There are links to both in the answer. They still work.
  • Rodrigo
    Rodrigo over 3 years
    sorry, but it's not clear, what are libvirt guest utils and what about that in linux?