As promised in my previous blog post on the topic, the SPICE protocol is capable of USB redirection. I didn’t dive into it for that post, but now the future is here and I’ve added USB redirection to my Raspberry Pi thin client. I’ve tested it with USB flash drives, webcams, and pretty much all of the USB devices I could find. And I’m here to tell you how it all works.
I recently was browsing eBay for used computer parts (as one does) and I found how cheap some used thin clients are. These are mini desktops with minimal IO which are designed to act as a modern terminal for modern VDI setups, something like Citrix or Microsoft Remote Desktop based enterprise systems. The thin client itself just has to deal with the local displays, keyboard, mouse, and local USB ports, the actual computation is done on a server somewhere else.
Virtual Desktop Infrastructure (VDI) is quite a buzz-word now in enterprise computing, and it’s something I’d like to experiment more with in my homelab. Essentially, it’s a new way to describe old school terminal servers, but with modern features and marketing. The primary difference is that VDI normally implies that each ‘seat’ is a virtual machine and has some resources associated with it, as opposed to a terminal session running on a shared server.