Working Inside a Virtual Desktop
Posted on January 23rd, 2006
Last week I spent some time setting myself up with a simple NetBSD desktop environment running within VMWare Player, and made a point of doing work inside it to see how comfortable things were compared to my regular desktop (Windows). So far the answer seems to be: not so much.
The romance of having a portable operating system that could be carried between work and home on something as common as a CD was what got me started down this path. The convenience! The portability! The sheer novelty! And what better excuse to get back to NetBSD. Here was an opportunity to build a lean, essentials-only work environment. No unnecessary daemons, no unnecessary utilities. I went with Fluxbox for the window manager and whittled the application menu down to just four primary items: a web browser, a text editor, an IM client, and a terminal session.
This is essentially all I need/want during most work sessions. Anything elselike Photoshop would just be a click away back on the host OS.
One thing I noticed early on is that using VMWare Player in fullscreen mode can be annoying. For the times you do want to get back to the host, pressing Ctrl-Alt to refocus mouse and keyboard input out of the guest OS and back to the host gets tedious. Plus, any alt-tab instincts you have will probably get in your way because you'll be alt-tabbing in the wrong context.
Weirdly, I'd sometimes see artifacts of the VMWare window while in full screen mode, especially after coming out of sleep or sometimes after too much jumping around between guest and host. Arrow ghosting also happened a few times you'd move around the arrow in the guest and also see the host arrow moving a hundred pixels or so above it.
Things like this break the illusion that your guest OS is "real." The computer isn't the only thing that has to do double duty. Your brain does too, as you track what's going on in your primary desktop as well as the sub-world of your virtual desktop. I found it much easier to shrink the guest OS desktop slightly smaller than that of the host, so that you could see everything without needing full screen mode.
Responsiveness was another thing I wasn't quite prepared for. Slower-than-normal application start up times are a speedbump that you do start to notice after a while. And when I started really getting into what I was working on and needed to rapidly flip between browser and text editor, there was noticeable lag there as well.
The biggest thing that spoiled my virtual desktop experience was the realization that although I had something simple and efficient, it was wrapped inside the greater complexity of a host OS. In juggling both guest and host, I was actually making things more complicated than they had been before.
There's a technical side to that but also a mental side. If you can't trick yourself into believing that your virtual desktop is "the" desktop, and not something that can be pushed aside when you suddenly get distracted by something on the host OS, you've got a bit of an uphill battle on your hands that isn't necessarily solved by faster hardware or better virtualization.
Out of all this, the takeaway for me is the realization that desktops are like personalities. For most people, one is about all you really ought to have.