Let’s get to the point directly, when we start a new virtual machine it will be started in the new VirtualBox window. This main window in turn acts as a desktop for the guest OS, this way the guest windows are confined within the boundary of main VirtualBox window. Alternatively we can enable the full screen mode and complete host desktop will be replaced with the guest desktop. This reminds us that we are using the virtual machine. What if we don’t’ want to be reminded of this fact at all?
Ok, in my setup I have Windows XP host and Kubuntu as guest. I use Kubuntu to do development of my hobby projects for AVR microcontrollers. For some reason I was not able to access the emulator through VirtualBox. To solve this problem I used to compile the programs in Kubuntu and download them to my target hardware using Windows application. Needless to say that I have to constantly switch between the Virtual machine and main desktop. This was more cumbersome when guest was switched to full screen mode. Somehow I wanted to have the Bash shell window used for compilation (in Kubuntu) just next to my windows application (AVR Studio), so that I can switch between them just by clicking on the title bar.
Where There Is A Wish There Is A Way:
With VirtualBox Seamless windows mode we can do just what I wanted. That is it will hide the VirtualBox window and place the application windows owned by guest right on host’s desktop. As you can’t see any evidence of virtual machine running, so you will not be reminded of it. To make it more clear let’s say you have same OS running on both host and guest, I bet you will not be able to differentiate between host and guest applications.
Virtual Box Setup & Requirement:
You can use seamless windows feature if you are using VirtualBox version 1.5 or above. You must also install Guest Additions to enable seamless windows. This information is correct for VirtualBox 3.0.2, for specific version please refer to VirtualBox User Manual for you version.
How to Get It Working:
From this point onwards I assume that you have installed guest additions and have already started the virtual machine. Also note that in following example my host OS is Windows XP and guest is Kubuntu.
Step1: Ok I will start with the windows desktop showing couple of windows applications running. In the snapshot below you can see that I have opened Windows Explorer, Windows Notepad and Windows command prompt. The virtual machine is running as well but it is minimized.
Step2: In the following snapshot I have restored the VirtualBox window. Inside VirtualBox windows you can see that I have opened Dolphin, Kate and Bash shell. If you look at this snapshot the guest windows are restricted within the Virtual Box window. Our aim is remove this boundary.
Step3: Let the magic begin, Select “Seamless Mode” entry from the “Machines” menu of VirtualBox window as shown below. It can also be activites by using shortcut key “Host + L“
Step4: VirtualBox will provide you with the information cum confirmation box, Click on “Switch“. I am sure after reading this blog you would also want to check the “Do not show this message again” before confirmation. The confirmation dialog box is shown below.
Step5: Voila!!!, As you can see that VirtualBox will remove the background window and place the guest applications directly on host’s desktop. You can arrange them the way you want and switch between then with just a click of mouse. In the following snapshot I have arranged Dolphin windows just above Windows Explorer, Kate window next to Notepad and Shell window above command prompt. I love it :).
If you have taskbars for both host and the guest, taskbar corrosponding to selected window will get the focus automatically. In this snapshot you can see that Kubuntu taskbar is visible.
Step 6: Following snapshot shows that the desktop still belongs to the host (see final thoughts (1) below). You can see the windows context menu in the center and windows taskbar at the bottom.
Step7: To exit the Seamless mode you can either press “Host + L” or press “Host + Home” to disable it through “Machine” menu.
- You can not drag and drop between guest and host windows, That would be a great feature though. However if you drag the item from any of the guest application and drop it over desktop it will be copied on guest’s desktop.
- You can start more guest application using its start menu or through bash shell and they will still be shown in seamless mode.
- The keyboard will automatically follow the selected OS, for example if you have selected the Dolphin window, Windows Key has no effect.
- In the seamless mode you can acccess the VirtualBox menu using “Host + Home” key.
- Alt-Tab application switcher does not recognize guest windows but treat them as a single window.
That’s it for this post I like the way it works but if VirtualBox team can enable the drag and drop between Guest and Host and make the Alt-Tab application switcher aware of Seamless mode it will be perfect.
Links Related to This Post: