13

I am running Debian 9 (Stretch) with QEMU/KVM hosting a Windows 10 - 1809 guest. Using Spice for graphics.

I installed SPICE Guest Tools 0.141 and am able to copy/paste files and text from my Debian host to my Windows guest. However, I am unable to copy from the Windows guest to the host.

I have tried reinstalling Spice Tools on the guest. I have checked that the Channel spice has been added and it looks good to my untrained eye. I checked the guest log files for errors, with no luck.

2 Answers 2

18

I made it work with Debian 10 host, and a Windows 10 guest, in both directions.

install virt-manager install the spice-guest-tools in windows (it has a non-costly license on http://spice-space.org/)

find the details tab for the VM put the video qxl to qxl (other may work but slower) bottom left, click add hardware, add a channel, and put the spicevmc type with the redhat name. This is very important for the clipboard to work.

You must restart virt-manager. It is also important you shut down the OS of the VM.

you can also use the option virt-manager --debug to see logs when you copy paste.

Here can be found more details: https://blogs.nologin.es/rickyepoderi/index.php?/archives/87-Copy-n-Paste-in-KVM.html

thanks to redhat that provided all the drivers


Since my answer was popular, I would like also to share how to share a folder. I don't think it is supported for linux kernel older than 4.19. But it works on 4.19. You need to be careful that you do not share a folder with the whole internet wihtout password. But you need to check this yourself.

Use virt-manager to share files between Linux host and Windows guest?

You set a folder as shared by right clicking on Windows.

linux with Nautilus can connect to the smb://IP_WINDOWS. But it is better to use the shell it is more stable.

enable firmware rules on windows Open Control Panel, click System and Security, and then click Windows Firewall.

In the left pane, click Advanced settings, and in the console tree, click Inbound Rules.

Under Inbound Rules, locate the rules File and Printer Sharing (NB-Session-In) and File and Printer Sharing (SMB-In).

For each rule, right-click the rule, and then click Enable Rule.

find ips using ipconfig and ifconfig

remove password protection for smb https://pureinfotech.com/setup-network-file-sharing-windows-10/

It is important to deactivate authenticate for all networks in the network configuration in windows, accessible from file sharing. then the folder must be created from scratch to make sure it works

See in particular the section "How to share files over the network without needing a password" at the pureinfotech.com link above.

If you make the public network have free access without password, it may be a security risk (do not put your credit card number in the shared folder yet). But it will work. You can expand upon those instructions. I don't think a VM inside linux is easily accessible from the public network, but maybe.

-- And this is how to mount sudo mount -t cifs //192.168.1.123/Users/MrHappy/Desktop/repos /media/vm -o user=externo,password=asd,uid=1000,gid=1000,mfsymlinks

or add this in /etc/fstab //192.168.1.123/Users/MrHappy/Desktop/repos /media/vm cifs user=externo,password=asd,uid=1000,gid=1000,mfsymlinks And then one can mount using sudo mount /media/vm

it is important to replace the gid and uid with the ones of the linux machine, using "id -g user" and "id -u user" the ui adn gid are so taht not only root has access but also the user

the option mfsymlinks enables symlinks to work

before you shut down the host computer, you should run this or the mount point is stuck: sudo umount -a -t cifs -l It is better to do it a few minutes before shutting down the computer.


if you want to make a plug-and play usb microphone (such as audio technica) work in a windows guest, you just need to add a "usb redirection" module in virtmanager, and perhaps set the hardware usb device to usb 3 if the socket is blue for usb 3. lsusb -v can inspect that the host finds the device. Windows device manager should then see the device. Try to unplug and replug. do not add the specific usb name in virt-manager or it crashes. sometimes, you may need in windows to unplug-replug the microphone, and open settings/system/sound to see the microphone appear.


On a working PC, I was using the Intel integrated graphics and not an amd/nvidia card. I had tearing for videos inside the VM. I removed it by activating TearFree in the intel driver. You can check that TearFree is enabled by running "grep -i tear /var/log/Xorg.0.log"

7
  • The above works but I did not have to restart anything with the latest spice-guest-tools. Just go to the site, download, install, profit. This is also with a recent (Nov 19) build of the Windows 10 ISO. Apr 7, 2020 at 16:18
  • Got great help from this with copy paste. But I think this answer would benefit a lot with some more detailed instructions on how to share a folder securely in Windows. At least with a link or so. Many who reads this are probably Linux only users. Myself included.
    – klutt
    Sep 1, 2020 at 13:24
  • Sure. I added a reference to where one enables the folder in the network on Windows, with a trait of humor that indicates extra work before storing safely a credit card number hehe. Sep 2, 2020 at 14:20
  • What do you mean by: "it has a non-costly license"? I can't find the license terms on that site. Even if the "license" is cheap, I'm not sure I will be able to get my employer to pay the fee.
    – Shawn Eary
    Jun 16, 2021 at 21:28
  • See the FAQ of the spice site, and also the download page, it gives a link to the source for the spice-guest-tools.exe, and see the file win-driver-license.txt. But yes an exe is always risky with viruses. You could build the source yourself, or check the seriousness of the spice website, or use an antivirus on the file itself. Jun 18, 2021 at 7:22
3

In my case I tried to enable this feature for an existing Windows 10 vm and in this case it was not enough to install the spice guest tools in the windows guest.

Solution:

First you have to install the spice-guest-tools as @Thierry Vilmart has pointed out.

After that poweroff the VM and add the spice agent to the VMs hardware e.g. with virt-manager:

Add Hardware -> Channel ->

Name: com.redhat.spice.0 
Device Type: Spice agent (spicevmc)
1
  • It seems to me the step you missed was actually mentioned in my tutorial. See the quote below: "click add hardware, add a channel, and put the spicevmc type with the redhat name. This is very important for the clipboard to work." Nov 26, 2020 at 12:54

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .