Having Your Photoshop Cake, Your Ubuntu Icing
and Eating It, Too
Just Cook It all in a VirtualBox
In previous posts I’ve discussed some pointers based on my experience of installing WordPress locally on Ubuntu – that’s because I use Ubuntu on my laptop. For the past year or so while traveling/living abroad, I had been dual booting Ubuntu and Windows XP, but since I returned home this spring and built a new desktop, I’ve let Ubuntu completely take over my laptop. It’s more secure and less hardware intensive than Windows XP, so it’s ideal for a laptop, especially an oldie but goodie like this here Toshiba Satellite. That’s also why Ubuntu is showing up on more and more netbooks.
In fact my laptop is going on six years old, and computer years are like dog years. It’s also led a bit of a hard life, as electronics go; it’s been bounced around many an overhead bin and many a sticky coffee-shop table from Cincinnati to Sai Gon and points in between. As you can see, my palm prints are literally burned into the casing (guess which side the CPU is on?).
But it seems to be made of Timex-like endurance; it takes a licking and keeps on processing bits. It’s had memory upgrades over the years of course, and recently a new high-capacity battery and hard drive upgrade. The DVD drive needs replaced, but then I almost never ever use that anymore – I installed Ubuntu 10.10 from a thumb drive.
But I digress. On my desktop I primarily use Windows 7, for three reasons: games, 3D rendering software and Photoshop. These are really the only reasons to use Windows, as far as I’m concerned, but they’re significant. Of course Linux aficionados and others might suggest Gimp, and Gimp is an awesome, sophisticated image manipulation and photo editing program, and it boggles my mind that it is free and open source software. But it’s not Photoshop.
It can do much of what Photoshop does, and I’m speaking of the professional version of Photoshop too, but what takes one or two steps in Photoshop takes many more in Gimp. For simple edits, Gimp is great, but when you get into more complicated things, like digital compositing and masking out things like hair or trees from backgrounds, etc., Photoshop is a much more sophisticated tool. Plus I’ve learned Photoshop – taken classes from professional photographers and in turn used it myself for several years; I’m comfortable with it and know my way around.
So let’s say you’re using Ubuntu or some other flavor of Linux, but you want to use Photoshop. Wine, the Windows emulator, can run Photoshop in many versions of Linux. I had both Photoshop and Bridge (the CS2 versions) running just fine on Ubuntu 10.4. On 10.10, it took a bit more work but I eventually got Photoshop up and running, but I couldn’t get Bridge to work, no matter what I tried. Furthermore, there were some quirks – the Photoshop workspace would sometimes get messed up, and I’d have to reload the default workspace. I could usually avoid problems by giving Photoshop it’s own workspace in Ubuntu, but not always – but other than this, it ran fine and was (usually) stable.
I thought about dual booting once more, but then I wanted to continue to use Ubuntu when I used my laptop. Dual booting really didn’t address my issue: I wanted to be able to edit photos in Photoshop while otherwise using Ubuntu; I didn’t want to have to stop, turn off Ubuntu, and reboot in Windows. BTW, Adobe, if you can have a native version running in Apple OS, which is really just a pretty GUI with Unix under the hood, would it really be a stretch to have a stable, native version for a Linux kernel? As the kids say, seriously. WTF?
While lamenting this overall situation one recent day, my Web services developer friend Vern suggested VirtualBox. I was not familiar with VirtualBox in spite of my general computer nerdiness. This is the drawback of having a journalism background, rather than a computer science background, and mucking about with information technology anyway.
To make a not-so-long story short, I installed VirtualBox on my laptop – the open-source version is included in standard repositories for Ubuntu (just look for VirtualBox OSE), and it has a nifty little GUI as well – and then used it to install Windows 7 on my laptop, replete with Photoshop CS2, “inside” of Ubuntu. You can read about installing VirtualBox in Ubuntu here; or just go directly to the VirtualBox OSE Website. Let it suffice to say it serves as a hardware emulator, so Windows thinks it’s running on a desktop/laptop just as it normally would.
You could also do the reverse, and run Linux virtually on Windows, if you want to try it out.
The only caveat is, you have to have the hardware to be able to run not only your host OS, in my case Ubuntu 10.10 (haven’t tried out Natty Narwhal yet), and your guest OS – Windows 7 32bit, in the case of my laptop.
Fortunately Windows 7 is actually not any more demanding than earlier versions of Windows (provided you don’t insist on using Aero). My laptop has a CoreDuo T23600 CPU, which operates at 1.6 gigahertz — not exactly cutting edge — and 3 gigs of memory. It’s not really ancient, my laptop, but certainly getting long in the silicon tooth. I assigned Windows – via VirtualBox – 1.5 gigs of memory and 20 gigs of hard drive space (VirtualBox creates one big file, inside of which your Windows install will reside), and things run just fine; VirtualBox even takes care of the network functions.
Now this does utilize between 80 percent and 90 percent of my total system memory when I’m running Photoshop in Windows 7 within Ubuntu, and my CPU stays plenty busy (and warm), but it rarely hits 100 percent utilization for more than a moment or two. In fact when I have Windows 7 up and running but idled in the background, it uses few system resources. Best of all, I can maximize Windows 7 in VirtualBox, so it’s just the same as if I had installed Windows 7 on my laptop normally (note in the screen cap you see here you don’t see the Windows task bar; I keep it hidden to maximize space when I’m using Photoshop). But when I’m done using Photoshop, I can shut it down and viola, I’m back in Ubuntu – or I can switch back and forth as necessary.
Just a couple of tips if this is new to you. It’s pretty straight forward, installing VirtualBox, but once it is up and running, and you have your version of Windows (or whatever other OS you want to run virtually) running, look under the “device” menu in VirtualBox for “install guest additions;” you’ll find this in the window/tab where your guest OS is actually running (as opposed to the VirtualBox window/tab — incidentally, if you have that window maximized you won’t see the menu). This is a group of extensions for VirtualBox that make it a little more user friendly; the biggie here is that you will be limited in the resolutions you can use for your guest OS in VirtualBox – until you install the guest additions. Once you do, the guest OS can automatically resize to whatever your native monitor can handle and whatever resolution your host OS is running.
If you want to move files back and forth, you’ll need to set up a shared folder that both guest and host operating systems can see. Don’t do this in Windows or another guest OS, though; do this via VirtualBox as well. Again, in the device menu, you’ll see an option for shared folders. Create one or assign and existing folder as the shared designee, then in Windows map a network drive. Windows should see the shared folder you designated in VirtualBox; assign it a drive letter for Windows to use, and you’re done (if you want, you can make a shortcut to it on both your Windows desktop and Ubuntu desktops to make it easy to move files back and forth).
Again, let me emphasize that this is all pretty straightforward. If you’re familiar at all with Ubuntu or some other flavor of Linux, getting VirtualBox up and running will be easy. And it really is pretty cool. It’s the technical equivalent of having your cake and eating it too. Of course if Adobe would just get a clue about Linux …
P.S. If you’re wondering why the image of the drop-down menu looks so craptacular, I used my old point-and-shoot camera (it’s even older than my Toshiba by a few years), as I couldn’t get the screen capture to work in either Ubuntu or Windows with that drop down menu showing. After a few minutes of fiddling, I just decided to take the easy route.