Ubuntu (coLinux, VirtualBox, dual-boot) – Full Circle (again)

I blogged a few days back saying I was trying Ubuntu full-screen in Sun’s VirtualBox to see if I could use it to replace Windows.  The answer then was yes, pretty much.  I also found a spare 160GB SATA disk, so decided to install a fresh Ubuntu 9.10 image on that and leave Windows alone for a week or so.

Yep, that works as well.  No issues, could do everything I wanted except Lord of the Rings Online (probably works in WINE but why bother when I have an XP license).  But.

But there wasn’t any real driver for me to keep using Ubuntu.  I don’t have to give up XP (yet), after all, I paid for this license (kind of) and I can already do everything I want under XP, and use a lot of Open Source software to achieve that.  So, after being logged in to Ubuntu for a week, and fancying a quick bash on Lord of the Rings Online I rebooted back to Windows XP and realised I felt like I’d made it back home after a luxury holiday somewhere exotic.  Sure it was nice, but also, nice to be home.

Don’t get me wrong, I love Linux, I love UNIX and I can only get by day-to-day because I have Cygwin installed and can grep and awk and finger as much as I like.  But I don’t need to be using Ubuntu all day to get things done.  Maybe in a few years when I want to give up Microsoft products and stop paying their tax, but for now, no pressure.

So, here I am back in Windows.  But I miss some stuff Ubuntu, and in the short time I used Evolution and a few other things, I came to like them.  No problem I thought, let’s try coLinux again.  Surely, in 10 minutes, I can whip together a coLinux Ubuntu distribution, and be using XWindows and Gnome.

Well, not quite.  I followed most of this excellent guide to build a basic Ubuntu 9.10 coLinux image.  Really, it’s superb.  I tried booting it into coLinux – but no joy.  I hung half way through the boot.  An hour or so later and I discovered it was because Ubuntu Karmic requires some kernel features not present in the stable coLinux kernel.  No problem I thought, I’ll use their development kernel.  No joy there either.  More reading, and Karmic requires kernel stuff only found in some experimental coLinux kernels.  Essentially, I tracked down this page.

So I downloaded the relevant experimental kernel from http://www.henrynestler.com/colinux/testing/kernel-2.6.33/, followed the instructions, and sure enough, my new Ubuntu image boots quite happily.

I added a slirp interface so I could run some apt-get updates, and a TAP interface so I could connect into the coLinux instance from XP.  I also added a page file, and extended the root filesystem (you can find info on how to do those at tek:Cited as well, here and here).

So I was back to running XP, with Cygwin, and coLinux which is roughly where I was three or four weeks ago.  A quick ‘apt-get install ubuntu-desktop’ and a several hundred MB download later, and I can run gnome applications (using Cygwin/X).  But, they’re not quite perfect.  They forget my font settings.  Because I’m running them stand-alone (rather than as part of the whole gnome desktop setup) they don’t always work perfectly, etc., etc.

And so, three or four weeks into this whole thing, I’m coming to the conclusion my best bet, would be to run Ubuntu under VirtualBox.

Which really, is where I started in the first place.

Printing – it’s a nightmare surely?

I hate printers.  In fact, I know a lot of PC owners hate printers.  For a long time they were really the bane of many home computer users.  Initially every application needed it’s own drivers for every printer type, then we got unified drivers but they were crap, and so on and so forth.  It’s gotten better over the years, but windows printer drivers are still bulky and annoying.

I suspected the one big area of Ubuntu I’d have to bleed to get working was printing.  I’ve played with CUPS previously and an HP LaserJet 4L (a long time ago), and it worked but it wasn’t always ideal.  So I settled down today to spend three hours making Ubuntu drive my HP PhotoSmart C4585.

Holy crap was I wrong.

5 minutes.  Literally.  Googled for ‘HP PhotoSmart Linux’, found that HP have developed their own open source printer drivers.  That looked like a good sign, filled in a few fields on the website and it told me the drivers are already in Ubuntu.  That sounded good.  Did an apt-cache search hplip and apt-get install hplip only to discover the drivers were already installed.  So, opened System, Administration, Printing, told it to search for a printer, it found the PhotoSmart, installed the config, printed a test page.

I am literally gobsmacked.

It even happily drives the scanner as well (using XSane, also already installed).  The printer driver is less annoying than the Windows one (just hides away), and the only thing I’m missing is a display of how full the ink cartridges are, but the Windows one estimates that badly anyway.

So, well done HP, well done Ubuntu, and well done open source printing.  Now I have to find something else to do for 2 hours 55 minutes.

Flirting with Ubuntu (again!)

Anyone unlucky enough to have read anything in my blog before knows I’ve been a long-time Linux user.  I’ve had various Linux servers and now have a couple of Linux virtual machines on the ‘net hosting these pages.  I’ve flirted in the past with Linux based desktops, but for various reasons never made a solid effort to give up Windows.  Mostly that’s because there were a handful of things I wanted that I could still only really get from Windows.  Games primarily, and that’s still the case today.  Lord of the Rings Online might run on Linux under WINE, but since I have a valid XP license and my machine runs it quite happily already, why go to the bother?

However, the list of apps that I do need and only come with Windows has shrunk considerably.  I made the switch to OpenOffice a while back (both at home and work), and although the paragraph numbering pisses me off a great deal, I’m happy enough with the applications.  I don’t play any other PC games any more (other than Flash based stuff) because we got the PS3 and so that has removed a huge chunk of Windows reliance.  Just about anything else I do is either a web app (mail) or there are plenty of Linux apps that cover it (Usenet, browsing, etc.)

So I thought I’d make a solid effort to use Ubuntu and see how I really get on with it.  But I don’t really want a dual boot system until I know for sure I’m going to migrate my data to Linux and only boot into Windows to play LOTRO.  So I’m running Ubuntu in a VirtualBox VM, running Full Screen with Bridged Networking and ignoring Windows in the background.  The VM has ~1GB of memory and plenty of CPU (especially for Linux) so performance isn’t an issue.  The only question is really can I find the apps and a way of working that I’m comfortable with.

I’ve been setting this up for two days and already there’s been some pain.

  • Looks like NAT networking in VirtualBox 3.1.4 is hosed.  I started browsing and downloading various things yesterday and every now and then a web page wouldn’t load, and I’d need to click refresh a few times.  Then I installed a Usenet client (XPN, very nice) and it would randomly hang getting headers.  Took me a while to realise there was a problem, but since this is a Debian based distribution the investigation was trivial – sudo apt-get install wireshark; sudo wireshark.  Tracing the network traffic it was obvious the client was losing packets and there was a lot of bright red ACK’ing and re-ACK’ing going on.  I checked online and there were reports of VirtualBox NAT being broken a few sub-releases ago but being fixed now.  Well, it’s clearly not fixed, however Bridged networking seems (so far) to work fine.  Sadly, this caused me serious frustration yesterday and earlier today while I was trying to download and install various apps.
  • Finding a replacement for Twhirl (Twitter Client).  I could of course, still use Twhirl which is an Adobe AIR app and so runs under Linux.  However, support for Twhirl has been dropped and I hate the replacement (too big!).  So I scouted about and found Gwibber.  Sadly, it suffers from the major problem with a lot of open source apps, crap documentation.  Yes I know, it’s open source and so I can fix this myself, but it doesn’t help when you’re first trying to get it installed and working.  So, the current package is buggy, but I worked around that and got it running, then I couldn’t get any themes to work until I found they’d changed the theme system and none of the ones found by Google worked.  Then I found there was a theme package you could apt-get install and it was all okay.  But now in order to run it, I have to launch it twice from the menu, I’m sure I’ll get that worked out.
  • USB support – not critical, but I did manage to blue screen my entire machine today trying to get USB devices to show up inside the VM.  I might try again later, would be nice if I ever need to move data around (although I do have a shared folder, so I can leave stuff on the Windows partition).

Some things worked really well,

  • Pidgin, it’s just excellent.  The plugins are great, and GFire especially useful since I can hang out in the XFire channel with friends.
  • I loved apt-get the first time I used it, and I still love it now (even if it’s called something else ;))

Some things are okay, but could be better,

  • Picasa works under Linux, but only because it runs with the WINE libraries.  When I first ran it, I had some issues but that might be due to the network problems I was having at the same time.  Annoyingly, because it’s running in WINE it looks like a Windows XP app, which bugs me because if I’ve switched to Ubuntu I want it to look like a Gnome app.  But hell, at least it runs; Picasa was the one major app I would miss other than LOTRO.
  • After being a Windows desktop user for a very, very long time, a lot of the shortcut keys I’m used to (such as shift-num-pad-1 to select everything on a line) don’t work, and those are going to be the things that take me longest to get used to.

I’ve promised myself that if I’m just sitting at the computer, I’ll use the Ubuntu VM.  If I’m playing LOTRO I’ll close it down to free up resources, but return to it once I’m done.  I have a couple of other options.  Wubi looks very interesting, it installs Ubuntu into a single file under Windows, and adds a boot option for it on the Windows boot menu.  It installs like a Windows app, and you can uninstall it again afterwards.  When you boot into Ubuntu the Windows partition is mounted so you can share files.  The other option is a straight install and dual-boot into it’s own partition (but I’d need to do some partition shrinking to get there).  Until I know for certain I want to move, I’ll stick with the VM, since it gives me the quickest way to get into LOTRO and back out again.

I suppose the only question I haven’t answered is why I want to move?  Unlike some, I don’t hate Windows (although I still use XP so maybe that’ll come), and I think that Microsoft is no worse that many major software vendors.  I think I just like the idea of software being free and available for anyone to use, improve and share.  Certainly in the next 10 years the face of computing is going to change radically and I’d rather the stuff I use be driven by the people who use it, than the people who want to make money selling it to us.

Virtual Geekery – Sun xVM VirtualBox

Been playing with Sun’s xVM VirtualBox software again for a couple of days.  I find virtual machines fascinating.  Clearly emulators have been around since the dawn of computing, and in fact, the whole concept of writing software is in some ways emulation.  But the complexity of emulating an entire PC, within a PC, just makes me giggle.

In the daylight hours that I’m obliged to work I spend a lot of time dealing with virtualisation as it’s an increasingly popular technology, and I’ve messed around with virtual machines at home, but VirtualBox really is pretty smooth.

And I’m using it to satisfy my other geekery interest – Linux.  Anyone unlucky enough to have read this blog for a few years will know that I used to have much more Linux in the house, handling web, mail and a bunch of other things.  Over time it became clear that I was just doing it for the sake of it and that open source and free Windows software really was enough to get me by.  This was even more true when we bought new PC’s with XP licenses (I’ll leave that statement hanging, so you get the implication).

I’d messed with Linux desktops for quite a while, originally with SUSE and a little Red Hat, but I’d never gotten on very well with the X Windows environment, it was always too painful to me.  So for a long time I stuck to a server implementation of Debian (never got X working on the graphics card that I used in that machine) and stuck to the server side.  Lately however the desktop distributions have come on in leaps and bounds and coupled with Linux versions of Firefox and Open Office, they really do provide a significant amount of functionality that I use day to day at home.

So I stuck Ubuntu on a virtual machine and it runs really well, very impressed.  Despite the fact that it’s a VM it runs pretty quickly, more than useable.  I suspect other than games I could quite easily live with Ubuntu as my main OS and these days WINE is pretty good at supporting most games (if I understand it correctly).  The reason I won’t move fully is that I have a legit version of XP on this machine, it works fine, does everything I need it to do and plays games.  Which is exactly why Linux is still the underdog in the desktop wars and why you find people so upset about the bundling of OS’s with hardware.

The reason I started looking at VirtualBox again was actually nothing to do with Linux, I wanted to see if I could build a little sandbox running XP, in which I could install and run software that I’d downloaded to make sure it worked as expected and didn’t cause any issues, before installing it on the real image.  VirtualBox provides really nice snapshotting which can ‘roll back’ any malicious installs.  I’m really not sure how the XP licensing works though.  Can I run the same licensed version of XP on my machine, and inside a VM on the same machine legitimately?