I ' m going to throw in my 2 cents here . I ' ve not done this at large scale , ie hundreds of desktops . But I ' ve done it different ways . Thinstation works well enough to boot and run something like rdesktop which you can use to login to your vm . Proxmox can help you manage your VMs that you are logging into . Now , the old school way would be something like a terminal server running x 11 vnc to which you ' d connect using ssvnc . Having a terminal server would mean that instead of a fuckton of VMs , you ' d only have to manage a single server . This is what X 11 was originally developed for . Each user would still get their own desktop and disk space . The UNIX way . As long as your server was robust enough , it would work . The idea is to have a thin client just strong enough to run a remote desktop client plus sound , USB , etc . Sound may be a problem , so you need to look into that . I ' ve also done this with plain ol ' VirtualBox which just happens to include a virtual display RDP desktop server , so you can run each VM on a different port and have each Thinstation assigned to a particular port . That works each user gets their own desktop . You can prevent them from shutting down the VM by accident . The key thing here is to test , test , test . Give one to your most difficult user and let them bash away at it for a while . I gave an accountant a Thinstation desktop and he didn ' t realise it even after he ' d been using it for a year . The backend for that was a VM running on Proxmox . I ran that Proxmox server for a few years . I think it ' s still running actually , five years later . German software is a thing of beauty . Now you can always PXE boot off a server , any kind of server actually I ' ve seen it done off a Windows 98 machine , load some kind of boot image with any old stripped down Linux distro , boot enough stuff to run X and ssvnc , rdesktop , Thinstation whatever . There was this one guy who ' d done it off a floppy back in the day . Now , the absolute best thing I ever found for this was the Fog Project , which allows for maximum flexibility . This was pretty hardcore the last time I looked at it . You could manage thn clients , PCs , servers , what have you , anything that could PXE boot or iPXE boot . It would load a PXE boot menu to manage the client , or just boot it directly into a preassigned image . So a machine could be a thin client one day , or a PC another day , or a server another day . If I was still doing system administration full time , I ' d have one of these somewhere on my network . All web based management as well . Doubtless there are other tools like this nowadays . But man , I like thin clients . They are so damn reliable . I had this one client who used to call me every month and after I set up his thin clients , just stopped calling . Everything just worked . Another client , i set up 4 labs of 10 thin clients each in one afternoon , booting off a Slackware install . Those labs worked for years without requiring any maintenance . Nothing . They never called me . Hell , I set up a demo cluster one night using the office PCs just to show some friends that you could build a super computer cluster in an ordinary business environment and put everything back the way it was in two minutes . yeah , gotta stop now .