So I don't think that you can do that without a few tricks.
Namely, you don't want your user to see the VM through the virt-manager, which requires admin rights, but rather through a vnc client.
1) Make sure to install the vm with vnc enabled, which is the case by default but that you can ensure by giving the
--graphics vnc command to
2) Write a script that will be loaded at boot time (e.g on a debian)
- Write it in
chmod +x /etc/init.d/script.sh
update-rc.d script.sh defaults 100
3) The content of the script should boot the vm and call a vnc client to log in:
virsh start [your machine name]
vinagre -f 127.0.0.1 -n
If you're using vinagre as the client here.
Here the trick is to add the
n switch to hide the vnc client top windows, but you might want to disable shortcut such as
alt + F4 to make sure that the user cannot kill the process and fall back to the linux desktop.
Indeed this is a dirty solution, and not a perfect one. You might want to try several vnc client and see what you can do to "hide" the fact that it's a vnc client.