Moving to Ubuntu for mobile development
My web-development office is a fast-moving place.
It averages around 50 miles per hour, and I work on a laptop normally squished between two people on the train to and from the office.
When I happen to have a spare moment to build websites at home, I tend to use my desktop, which is running Ubuntu. I do my editing in emacs, where I’ve gradually got things set up more or less as I like them.
On my laptop that I’ve been using on the train, I’m working in Notepad++, because I’ve never got around to installing emacs on Windows.
Hurrah for tiny laptops
I’ve recently (re-)acquired an Asus Aspire One. It’s a pretty cheap computer that I bought about 3 years ago. I gradually stopped using it, as it tended to be too slow to do much with (it came with Windows Vista, which may not have helped).
It’s really quite a lot better as a portable laptop than the rather heavy Dell I was using - mostly because it’s light, it’s narrower (which is good for the fairly small seats on the train), and its battery lasts for approximately a millennium.
Having got used to (and grown rather fond of) Ubuntu on my desktop, I thought it was worth a go trying it on my Aspire One. It’s taken me several hours (most of which was spent watching progress bars and a tragically inevitable Wimbledon final), so I thought I’d write up how I got it working, partly in case I ever need to do it again.
Pain
First, I tried downloading the latest release of Ubuntu (12.04),
dumping it on a USB stick, and booting from that. I quickly got into
Ubuntu, only to get an io-remap
error, at which point the bottom of
the screen went black, and the top half of the screen tried to
display both halves simultaneously. I went through the installation
process anyway1, hoping the problem would go away. It didn’t.
Next, I thought I’d try Linux Mint. Same thing, no dice.
Next, I did some reading, and discovered that I’d bumped into a known issue, which may or may not be fixed in the latest pre-release of Ubuntu (12.10). I downloaded that. Also no dice.
Next, I read some workarounds for Ubuntu 12.04, so I re-installed and tried those. Still no dice.
I tried Linux Mint again, tweaking some display options. Still no luck.
Then, I tried Ubuntu 12.04 again, and discovered that if I hit quit when asked whether I wanted to install Ubuntu 12.04, the screen would redraw, and everything looked fine. I installed, went to restart, and was presented with a pitch black screen.
I discovered then that Ctrl-Alt-F1 got me a terminal2, but that wasn’t going to help me build websites. I installed some things just for fun.
Googling around brought me to this answer, which told me to type the magic incantation at the prompt:
sudo service lightdm restart
A blog
post
linked from that answer told me to edit /etc/default/grub
and add
this line (in place of the previous setting of
GRUB_CMDLINE_LINUX_DEFAULT
):
GRUB_CMDLINE_LINUX_DEFAULT="quiet console=tty1 acpi_backlight=vendor acpi_osi=Linux acer_wmi.blacklist=yes mem=1920mb"
Once I’d done that, it all worked.
Not for the first time, I had a feeling that I didn’t really know
what I was doing (though I am of course very happy to be using my
vendor’s acpi_backlight
, I hope he doesn’t mind).
Admittedly my laptop’s a little old (I think it came out three years ago or so), but that was a serious amount of pain just to get things working. Now I’ve got things working, it’s great, but I can’t help wondering how many people would have been sufficiently stubborn to get this far. I had a similarly painful experience upgrading my Desktop from Ubuntu 11 to Ubuntu 12, so maybe I’ve just got really, really bad luck.
Good Things
All this means that the editing environment I use on my laptop is now identical to the one I use on my desktop. I’ve synced my emacs configurations with Dropbox, and logged in to Google Chrome so my bookmarks are synced. I now get to work in a development environment where I can use virtualenvwrapper and where most things are pip-installable. Even better, I didn’t have to spend a load of money on a Macbook Air, and I get to retain my free-software smugness.