Plan9 for people who can't be bothered
My pathetic attempts to master the famously gnarly operating system.
02 Long Distance Runaround
No-one told you when to run
You missed the starting gun.
-- Pink Floyd
I was expecting the Plan9 bootcamp to be a ball of pain, and so far it's certainly met my expectations; indeed it's even exceeded them.
As of today, some three weeks in, my sole achievement has been to ssh in to my vps instance and login to my glenda account. Literally. The rest of the three weeks have mostly been spent on the following:
- trying to install drawterm on my Macbook so I can ssh into my remote vps plan9 instance
- trying to connect to plan9 instance after finally managing to install drawterm
- trying to launch the rio window manager after finally managing to remote login to plan9 instance
- sending out emails to bootcamp administrators, which were largely ignored, and eventually to the plan9-l mailing list itself, which did receive some helpful responses.
The bootcamp kicked off with a live orientation session on Twitch, for some reason called a Tea Note, that we were asked to attend. We were given a walk-through of the basic setup once plan9 was installed - launching the rio window manager, creating new windows, using focus follow when moving between windows, the 3-button mouse, and so on. The chat stream was intimidating - a lot of people seemed pretty familiar with the basics already, and seemed to be interested in advanced functions I had no idea about.
In the week after, following instructions in the tutorial, I managed to ssh in to my vps instance, install the plan9 image, login to the default glenda account, and configure the server for remote access. So far, so good. It was then that I hit the wall.
The wall turned out not to be plan9 itself, in fact, but merely the little terminal app called drawterm that's used to ssh in to plan9 remotely. One of the bootcamp administrators appeared to have helpfully provided a binary for my current MacOS system but omitted to provide any further instructions and I initially couldn't get it to run at all. When I eventually got the command syntax right, I was able to launch it from my iTerm terminal, but the ssh login prompt wasn't what it was supposed to be and didn't seem to be connecting to my plan9 instance.
After a week of emails, it emerged that there were in fact several versions of drawterm, and that the one I was probably using required one letter of the syntax to be different from the command in the online tutorial. I changed -c to -h and was finally able to connect to my plan9 instance! Never has simply changing one letter made one person so happy. But it wasn't over - I then got a message that drawterm was unable to change directory to my local directory. I was also unable to launch the rio window manager either by right-clicking my Mac mouse or by trying to launch it from the bin/rc directory. The directory error message turned out to be trivial - page 11 of the beginner's guide to plan9 explained that it could be ignored (RTFM, duh!). I still haven't yet managed to get rio running, however.
And that, dear reader, is pretty much where your intrepid reporter is left at this point. My latest flurry of emails have received a few responses that I haven't yet tried out, so stay tuned for further updates on whether I get rio working by next week! As I commented on Merveilles, my sole ambition for the bootcamp at this point has shrunk to getting the kit-kat clock app working on the desktop. Then I can retire happily.
As I've been yak-shaving with the basics of the basics, the bootcamp party has long since moved on. Having somehow missed that the Tea Note orientation was in fact a regular weekly live event, I missed both of the subsequent two sessions, which appear to have been mainly about upgrades to the server instances of the bootcamp itself - if I'm counting correctly we're now up to the third server (vps9). This frequent shifting of the platform of the bootcamp itself throws a further complication into the loop - in each case it's required users to login to the new server and (at least in my case) re-configure plan9 for remote access again while trying to get drawterm working on my Macbook at the other end. As of today, having shutdown my vps instance per instructions, I was simply unable to ssh in to the new vps9 server because of a timeout. Has my account been moved to the new server? Have I simply been kicked off the bootcamp due to lack of progress and bombarding the administrators with requests for help? Stay tuned.
Meanwhile, the discussion on the plan-l mailing list has moved on to basic, everyday computing tasks that I'm not even close to: setting up email, file transfers, pushing and pulling to GitHub. Did you ever get that feeling, when you were taking a course, as if you were in a race? There you are, crouching down on the starting-blocks, body tense and ready to go, waiting for the starting gun - only to realize that the gun has already been fired and everyone around you has already taken off and are already sprinting away into the distance? Welcome to plan9.
So far, according to the mailing list, only one person has actually dropped out of the bootcamp. My coping strategy so far has been essentially to treat plan9 as a particular kind of puzzle game, like Zork or Myst, in which the goal is not to collect treasure items and escape from trolls, but simply to get the game working at all. I'm not intending to drop out anytime soon, and am determined to get this thing running on my Macbook whatever it takes. Whatever else you may think of Apple - and these days I'm hardly one of their most vocal supporters - I'm tired of the disdain with which people who are "still" on MacOS rather than running Linux on a solar-powered Raspberry Pi are treated ("Oh, you're on a Mac, well..."), and will have none of it. At this point, it shouldn't matter anymore what platform you're using.
It remains to be seen whether I'll ever have any actual use for plan9, other than simply getting its basic tools to run. But I remain undaunted, and optimistic that once I eventually figure it out it will turn out to be useful and the effort worthwhile. Whether you're learning a foreign language, an instrument, or an operating system, this has always been my experience in the past. Right now Plan9 may be a Long Distance Runaround, as Yes famously put it, but I'm still planning to get there in the end.
01: Full Disclosure