There are hundreds of reasons why someone would want to run Microsoft Outlook in Linux, and this guide will show you how from beginning to end.
When I use the term “natively,” I mean fully integrated into the desktop enviroment, NOT an actual native binary Outlook client. Outlook itself runs in a Virtual Machine, but it acts like a pseudo-native application.
Unlike most emulators, VirtualBox allows you move freely between applications, without the constraints of a border around the VM which degrades the user experience. Here’s a picture for a good idea of what I’m talking about.
In the screenshot, there is Outlook 2007, Internet Explorer 7 (browsing Digg of course), and Windows Media Player 11 playing an internet stream, and the start menu sits at the bottom of the screen, while I have the Gnome Desktop menu up at the top.
I personally need Outlook for corporate email, and VirtualBox lets me utilize all of the other tools like IE (and toys, like iTunes) that can’t be experienced without emulation in Linux.
Using VirtualBox, I can seamlessly copy and paste a URL from Firefox in Linux to IE7 to test compatibility with IE. It’s pretty damn slick, and until we see a version of Linux coming straight from Redmond, it’s about as “native” as these proprietary applications will ever be.
Impressed? I certainly was, and to be honest, I’m very jaded when it comes to new technology. Let’s get down to it, shall we? These instructions are written with Ubuntu or Debian in mind, but may vary if using a distro that doesn’t utilize apt-get.
1. Download the VirtualBox binary for your distribution from their website and install it. Usually all you need to do is double click on it after downloading.
Note: Some distributions have VirtualBox within their repositories, but these can sometimes be out of date, and we want to be absolutely certain that we get version 1.5.2 or higher so that we can utilize ‘Seamless Mode’ which makes it so applications we run in the virtual machine show up just like normal windows in Gnome or KDE, instead of bound within a virtual machine window.
2. Add yourself to the vboxusers group.
As always, there are methods to accomplish these by using a GUI, but ultimately it’ll be faster and easier to work in the terminal. We’ll add ourselves to the vboxusers group to use the program, and we must logout and back in again for the group addition to take effect. Change wayne to your own username.
sudo adduser wayne vboxusers
3. Then we download utilities to setup a network bridge from the Linux system to the virtual machine.
sudo apt-get install bridge-utils
4. Now we have to edit the interfaces file to add the bridge interface.
sudo gedit /etc/network/interfaces/
I appended the last three lines (in bold) to this file to make it look like this:
auto lo
iface lo inet loopback
auto br0
iface br0 inet dhcp
bridge_ports eth0
5. Restart networking services to recognize the bridge we just added.
sudo /etc/init.d/networking restart
5a. These commands may be helpful needed if you get errors with the above steps.
sudo rmmod vboxdrv
sudo modprobe -k vboxdrv
sudo chmod 666 /dev/vboxdrv
6. Now we need to create a permanent host interface, so that if we reboot, networking will still be available to the virtual machine. Obviously change “wayne” to your own username:
sudo VBoxAddIF vbox0 wayne br0
7. I tried this twice, and both times at this point my internet connection was hosed. A quick reboot fixed the problem, and I’m not quite sure where to start as far as trying to find the culprit, so we’ll reboot here. If you can find a workaround for rebooting, please leave a comment and I’ll give credit where it’s due.
Barry comments:
The reboot thing seems to be related to setting group membership. I got away with logging out and back in.
8. Open up the VirtualBox program (Found in Applications | System Tools
in Gnome), accept the EULA, and register to receive newletters. Click New, and follow the wizard.
Once finished with the wizard, you should have a screen that looks like this:
9. Configuring the Virtual Machine.
Click the settings button in the menu and we’ll go through and change a few settings to gain better performance and get everything set just right. If you have a newer processor that supports virtualization, you will see a performance boost by enabling it in both the BIOS and in the Advanced tab, put a check next to “Enable VT-x/AMD-v”.
To get install Windows on the virtual machine, we will either need to insert the bootable disc into the CD/DVD-ROM drive, or make an ISO image of the media and point the VM at the image. This setting is found under CD/DVD-ROM on the left. Put a checkmark next to “Mount CD/DVD Drive” and configure this page according to what you need. I found that using an ISO image was easier to use.
If you want to hear the audio notification when email arrives or are using this guide for another purpose (like iTunes) click Audio on the left and put a checkmark in “Enable Audio,” then hit the dropdown and select OSS or ALSA.
The virtual machine isn’t hooked up to the network yet, and to accomplish that, we will use something called “Host Interface” which we setup earlier.
Click Network on the left, then make sure “Enable Network Adapter” is checked, then where it says “Attached to” select “Host Interface” from the dropdown menu. Type in vbox0 into the Interface Name box.
Press OK and we’re done configuring VirtualBox, and can startup our newly created system and start installing Windows.
Important Note: By default the keyboard and mouse get trapped when you click inside a running VM. Use the right CTRL key (other right) to escape from it. After the next step, this wont be needed.
10. Once finished installing Windows, we’ll need to install drivers for the emulated graphics and networking cards in Windows. Click Devices, Install Guest Additions.
You’ll get a popup in the VM just as if you had put in a new CD. Run the setup and reboot when prompted, that takes care of the graphics drivers and tools to allow us to take advantage of Seamless Mode.
For Vista, there was an additional step needed – updating the device drivers for the emulated AMD PCNET ethernet device. I went into the Device Manager in Windows, right clicked on the Ethernet Controller, chose Update Driver Software and followed the prompts, when asks, I chose to install from a specific location and chose the D:\ drive, and everything worked like a charm.
11. Now that everything with our VM is up and running, prepare to be absolutely amazed at how well VirtualBox integrates the experience of running Windows applications in Linux.
To enable Seamless Mode, press CTRL+L. You’ll end up with something like this:
Now we’re all done. Install Outlook, iTunes, and all your other proprietary applications that do not run well under WINE. That’s not all folks. Did you think all I was going to say was super awesome enthusiastic positive remarks?
Nah. There are problems. Not the type of problems that make innotek’s VirtualBox unusable… No.. there are just some small issues that are minor annoyances.
First, the audio coming from the VM sometimes will take control of all audio coming from the sound server. I know this is how audio works in Linux, and there are workarounds. But do I really want to spend a couple of hours installing Pulseaudio or Jack to gain multiple streams of audio playing at once? Not really. Itwould be nice if VirtualBox would release the sound server when it is done playing something.
Secondly, sometimes there are some pretty massive and frankly, quite ugly video transitions that take place when the VM is using lots of CPU and you try to manipulate windows. Did you think the jarring blackout effect of Windows User Account Control in Vista was bad? This is worse. Far worse. The best fix for this I can find is using the same wallpaper for both machines. Fortunately this quick fix seems to minimize the effect. Also, disabling Compiz Fusion or Beryl will help cut down on the frequency and duration of these episodes, although they still exist. It’s hard to describe, but imagine Windows UAC and multiply it by 10.
Other than those two issues, there is only one more issue to discuss: video performance, or rather, lack thereof. Playing a video on YouTube or any other flash video site and trying to do anything else at the same time results in audio skipping. I realize the video and audio go through multiple layers of two different operating systems and emulation, but you would think it could be fixed. I’m sure it will be fixed eventually, but until that time comes it’s annoying.
These three problems (other documented problems exist, but I have yet to run into them) are probably why VirtualBox doesn’t cost an arm and a leg.
If you are still running a dual-booting system, I highly recommend you give VirtualBox a try – who knows… maybe you’ll be able to give up Windows. In the end, innotek’s VirtualBox is an innovative product that provides people who need proprietary applications to get work done the ability to run them without requiring a dual-boot setup.
If you’re a new visitor, feel free to subscribe to the RSS feed to keep up to date with the latest posts and comments on fsckin.com.