Something like Parallels Desktop for Linux?

Solution 1:

Virtual Box

A quite stable actively developed alternative to Parallels Desktop for Ubuntu is Virtual Box. We may install a OSE edition from Ubuntu Software Center but to my experience it is better to run the most recent version from the Oracle Repository (see this answer for installation). This will not only give you up to date bug fixes but also enables USB2.0 and RDP support.

There is quite a high lever of integration to the Ubuntu host OS:

  • Virtual Box can be run with different levels of desktop integration from running a virtualized OS in a separate window, in full screen mode or in "Seamless Windows" mode to integrate guest application windows on the desktop of the host.
  • Sharing directories can be achieved by "Shared Folders" or through fully integrated network solutions.
  • Clipboard content is available from guest to host and vice versa.
  • Most USB-devices are fully accessible (in the PUEL version with USB2.0 support).
  • Virtual Box is scriptable, i.e. can easily be run and maintained from the command line (or remotely through SSH).

The main advantage however is that Virtual Box is Open Source and cross-platform. This gives you the possibility to export and run your virtual machines on any host OS supported.

Solution 2:

I have some experience with Xen, VMware and VirtualBox. Xen is not working for me because it has problems with everything where Linux needs really deep access to the hardware (3D acceleration in my case and sending the screen into power save mode). VMware and VirtualBox more or less provide the same features and I decided to go with VirtualBox because it is available via Ubuntu Software Center. Works nice for me, but is is not as good integrated into Linux as Parallels for the Mac.

Solution 3:

Virtual Box seems to be the best solution. As another user mentioned, it is script-able, so while built-in seamless levels aren't as high as Parallels, with some scripting, it can be achieved. One of the reasons the seamless isn't as high as Parallels, is precisely because 2 different installs of windows say, can have things in different places.

I have written some scripts that act as pass-through associations to say open a word document in word. Changed the shutdown buttons to send shutdown commands to the VM and wait for the VM to shutdown properly. Set the windows VM to launch at login. Set the VM to shutdown on logout. I left sleep and hibernate alone, as linux seems to do an excellent job of sleeping every open app, including the VM. However, on some hardware it would be necessary to address that as well.