New laptop blues

At a previous employer, my husband, who worked from home as a developer, was given a new laptop every three years, since it was his primary work tool. One of his colleagues, after going through the hassle of setting up a new laptop, apparently opined that he wished he was getting a new coffee machine or something similar.

Speaking of which, hello from my new Lenovo X1 Carbon, likewise my primary work tool! It’s amazeballs. It is the size I like (14″) while having the weight I’ve always coveted and previously associated with <12″ laptops (as weight little as possible of course, but 1.2kg or so is OK). I’m also joining the world of SSD drives, luckily modern spinning drives have way more space than what I use on a laptop (my photos are stored on an external drive, my music in FLAC on our central server and Vorbis or MP3 on our phones) so I didn’t even need to dial back in order to settle for 120GB. So far, so win.

But, oh, the setup.

First, I’ve never had a new laptop that entirely worked with Linux, and this one is no exception. It doesn’t resume from suspend (looks like this is bug 1084742 and I’m going to need to update the BIOS, so writing this entry has already paid off!). And sheesh moving my working environment from one laptop to another is a monumental pain. Especially when I’ve just reinstalled my Linode for the first time in about a decade, in order to install a 64 bit distro and thereby be able to use their SSD offering.

If you look for how to do such a thing on the ‘net, you get a few possibilities.

Use some kind of scripting/automation of the installer to get exactly the right packages, your config files set up the way you like them and such. I maintain a small number of Linux machines: three (hetrogenous) Ubuntu servers and a Fedora laptop. That’s, in my opinion, about three too few to find it worthwhile to, eg, semi-manually maintain a list of all the packages I need, work out the common versus custom bits of their config files, and such-like, especially when I reinstall so seldom. By the time a reinstall comes around, I can guarentee you I will have accidentally busted my automated install config through lack of testing, or the entire software stack I was relying on for the automation has been discontinued for years.

Copy /home and /etc to the new machine. Yeah, don’t do this.

Well, /home is basically OK, as long as you check the user ids carefully. (Fancy that, some people still run multi-user systems.) But don’t wholesale copy /etc. It worked OK for the Linode, once I edited /etc/fstab to mount the new drive configuration and chowned a bunch of things in /var to account for some of the user ids changing. Which was silly of me and which isn’t really what you’d call working, but it works now.

It was a monumental disaster on Fedora though, because I don’t speak new-fangled Linux. Specifically, I have no idea how one mounts LVM partitions from the command line and had to rely on Nautilus for it, and it turns out that if I, eg, move a new file in over the top of /etc/postfix/main.cf, SELinux won’t let it read it any more and I have to either understand SELinux or invoke random magic commands found on Google that probably amount to “disable SELinux and mail my SSL private key to the NSA while you’re at it”. Or I could understand LVM and SELinux of course, and that would be what I’d do if rebuilding a laptop wasn’t a 3–5 yearly task for me. Once again, whatever I learned will be thoroughly out of date by the time I next need to apply this knowledge.

And separately, there’s the package installing problem. Basically, both Debian-verse and Red Hat-verse systems both now have package managers that track the difference between “this package was installed at the administrator’s request” and “this package was installed as the dependency of another package”. But neither of them, as best I can tell, can export this reliably to a second machine, which means that on my new Fedora laptop, both Firefox and libwhatever.something.the.millionth are treated as sacrosanct “installed at the administrator’s request!” packages and I’m stuck with libwhatever.something.the.millionth forever, because I used rpm -qa. (There’s attempts at getting only the right packages out of the package manager, and the leading solution is now busted to the point of giving about 200 errors and then telling me I’d only ever installed 10 applications on my old Fedora install. You see what I mean about this stuff aging.)

Use some other operating system. Judging from commentary on the “yay, a new lapt— shit, a new laptop, now to spend three days of my life spinning my wheels on reinstalling all my favourite apps and redoing all my config” situation I’ve heard from Windows and Mac-using peeps, I get the impression this is a universal problem.

Use some magical program where one points at an existing laptop and say “make it like that one!” Dreamland. Although you’d think it would be something of a market advantage for Linux, which typically is agnostic on which packages you use (as long as they are open source and have certain trademark properties, admittedly, browsers are an issue here).

But I’d use the hell out of a desktop replicator, if one existed. Or even something that reliably dumped my package status including the “installed as a dependency” distinction, plus gave me some hints as to which bits of /etc I probably want.

Standard disclaimer! I’m not after any of: requests for further information for debugging purposes, exhortions to file bugs, or explanations of how to do anything with LVM and SELinux. I can figure out where to look that up when hell freezes over or it becomes a paid job of mine, one or the other.

Now brought to you by Fedora*

I’ve been an Ubuntu user since about September or October 2004. I bought my first up-to-date laptop hardware in New York City (a Fujitsu Lifebook, still my favourite of my laptops), replacing a Toshiba Libretto I’d bought in late 2002 or early 2003 at more than five years of age and which I’d managed to squeeze Debian onto against its will. In 2004 my husband was working for the company later to be known as Canonical and so I became a beta tester (I think not a highly contributing one) for the distribution soon after revealed to be Ubuntu. And that was pretty great for me, basically Debian with a regular release schedule centered around up-to-date GNOME.

In January this year I appeared on My Linux Rig and you can see I was still an Ubuntu desktop user. I wrote:

I am curious about how Fedora is doing these days, but realistically switching distributions is more work than upgrading Ubuntu so I am likely to stick with the path of least resistance.

But rumblings were changing my mind. Late last year I made a belated upgrade to Ubuntu 12.04 (after I submitted my PhD in May), at which point for reasons I now forget it became impossible to use GNOME 2/Metacity. I wasn’t particularly enamoured of GNOME 2 by that point in any event, but I’d resisted switching because my husband has been using Unity for considerably longer (he is a fan; he may have been dogfooding for Canonical fairly early, although he’s worked for Google since mid-2011 and I am not sure of Unity’s timeline there) and I really struggled with it when I used his machine. Much later it emerged that he doesn’t use workspaces at all in Unity, so that may be responsible for his desktop being a bit Mary-hostile.

I gave Unity and GNOME Shell about two hours each on my desktop and decided that I liked the latter better. GNOME Shell wasn’t ideally supported in Ubuntu 12.04 and 12.10 but it worked well enough to keep me from the pain of re-installing. But then I upgraded to 13.04, and GNOME Shell crashed about every half an hour on my hardware and graphics seemed unstable in general. Unity was rather better, needing a restart “only” a few times a week. But I really missed GNOME Shell. I was tempted to move to a distro that follows mainline GNOME at that point, but the decision was sealed when I began to learn about Canonical’s plans for the desktop stack. I don’t actually have a strongly held opinion on a lot of the issues: the value or otherwise of collaborating with upstream in general or with GNOME or Wayland or Xorg in particular, the relative technical merits of any current proposal, the risks of splitting the Linux desktop and so on. I just have a preference for vanilla GNOME 3 and Canonical’s development direction suggested Ubuntu was increasingly less likely to cater to me as time went on. And less likely looked pretty bad when 13.04 already rendered it nearly unusable.

Well, I guess I do have a preference in a way, I’m using Fedora — rather than any other distro with a good GNOME 3 stack — to support Red Hat (in a small way), in that they are active in developing the software I like at the moment.

In terms of work, I really didn’t want to switch. Reinstalling my machine and setting up my work environment has been exactly as annoying and boring as I expected it would be, I have a whole second post coming with notes on all the gotchas I encountered configuring Fedora. There is nothing fun about installing or configuring Linux, and FedUp better do what it says on the tin and take me to Fedora 20 and so on when the time comes. (Ubuntu’s preferred upgrade path, by the by, hadn’t worked for me for at least five releases, I was therefore still using apt-get dist-upgrade.) It took me a month to get from “I want to switch to Fedora” to actually installing it, and it probably would have been at least another month if Unity hadn’t crashed on me about three times in an hour last week.

So here we are. Initial signs are promising. My install, while boring, went cleanly. GNOME 3 on Fedora is much more stable than GNOME 3 or Unity on Ubuntu 13.04 on my hardware.

Hopefully I won’t be doing this again before 2022.

* Not really, my servers are still Ubuntu LTS and will likely stay Ubuntu LTS or, if there’s some Unity-equivalent disruption in the Ubuntu server experience, which I can’t imagine, Debian.

Connecting a Debian/Ubuntu server to the Macquarie University OneNetAnywhere VPN

I realise that this is a rather specific problem, but hopefully the links I provide here will be useful for anyone wanting to access a PPTP VPN themselves.

I have to say that this is one of those entries more likely to be useful if you ever have this specific problem (eg, you can here via a search engine query for “argh pptp mppe errors argh argh argh”) and less for a casual reader. Apologies loyal fans!

Continue reading “Connecting a Debian/Ubuntu server to the Macquarie University OneNetAnywhere VPN”

GNOME Shell versus Unity

I upgraded my laptop to Ubuntu 11.10 today. I used Metacity+GNOME Panel through the previous version of Ubuntu as Unity crashed annoyingly on my laptop (tending to leave me looking at my background image, which is a cute picture of my son but even so) so this is my first Ubuntu version with the new shiny.

What’s annoying me right now is that they both have features I really like. I’ve only played around for a few hours so possibly one can be configured to have the good features of the other; these are from the default functionality on 11.10.

Unity: my laptop doesn’t have a lot of screen real estate, so I love the integration of the menu bar of windows into the top panel (called global menu). I like having those 20 pixels or so back!

GNOME Shell: I love the Activities mode in general! The presence of workspace previews that don’t require me to keep holding down the Alt part of the Alt-Tab combo is lovely, and the favourites menu on the left seems easier to edit than Unity’s. On the balance, I’d say I prefer GNOME Shell, but damn, global menu is a killer feature on my smaller screen. I’ll watch the global menu patch closely.

(Meanwhile, while writing this entry I discovered that Firefox’s right-click menu is broken in Unity—it disappears as soon as I move my mouse—which is a rather compelling reason to use GNOME Shell.)

Jaunty notifications

I missed the best known feature of Ubuntu 9.04 in my roundup, the new notifications. There’s lots of information around about this, see Mark Shuttleworth’s announcement, LWN coverage of development debate and Glyph Lefkowitz’s criticisms for plenty of information (Matthew Paul Thomas comments at Glyph’s place extensively).

I just want to pass on one tip, which is how to turn off notification of new messages in the Pidgin instant messaging client, because good grief, is that annoying. My typical use of IM is actually somewhat asynchronous, as in, I will flip over to it and check for messages periodically, chat a bit, do some work, and back. The notification workflow assumes I want to know about every message as soon as it arrives, which I most emphatically do not.

Other people of my opinion can configure Pidgin’s notifications by going to ‘Plugins’ and then looking for ‘Libnotify Popups’, which you can either configure to be less talkative, or disable entirely. In an ideal world that would be slightly more discoverable: I expected the configuration to be associated with the notifications, not with Pidgin itself, and certainly not with a plugin in particular.

Ubuntu 9.04 (Jaunty Jackalope)

I didn’t do one of these for 8.10 Intrepid Ibex, I was a little worried to find not one but two links to my Hardy (8.04 LTS) beta writeup as reasons to be exceptionally cautious about upgrading. I discovered I did not want to be an influential commentator on Ubuntu, even for trivial values of influential.

However, I should note in the interests of fairness that both Intrepid and Jaunty have been vastly better experiences. Specifically, things that seem to remain reliably working across upgrades for me without requiring reconfiguration now include suspend and resume, sound, wireless and external monitors. I have not found Jaunty less stable than Intrepid and both are fine for my terminal+mutt+Firefox+LaTeX+Python+Pidgin use.

Fixed in Jaunty:

Still broken in Jaunty:

  • gnome-typing-monitor still doesn’t regard being suspended or hibernated as a typing break. This one is one of those bugs that gets triaged as ‘Low’, never gets fixed, and drives me completely insane, There is nothing like starting up to get some work done and immediately being locked out for a typing break. It’s bug 122038 against Ubuntu, bug 492662 against Debian and bug 430797 against GNOME. It’s nearing its second birthday. I might throw it a party and then never use gnome-typing-monitor again.
  • In both Intrepid and Jaunty I have occasional kernel panics resuming from suspend (I don’t know about hibernate, I use it extremely rarely because my install of Ubuntu 7.10 gave me a swap partition that is too small to hibernate into unless I close all interesting programs, and I haven’t bothered fixing it). I should attempt to file this bug, and I will get around to it any, uh, release now. The main thing stopping me is that it often happens when I resume on a train, which means I don’t have ‘net access, which means keeping copious notes for a later report, which means no report. Besides, I don’t think I’d ever seen a kernel panic before Intrepid. The novelty is wearing off, but only slowly.

Newly broken in Jaunty:

  • OpenOffice(!!) on my laptop dies consistently on launch with the warning unable to get gail version number. I have tried and failed to find an existing bug for this: there are a few isolated reports, either marked as fixed or useless conversations that end with oh never mind, I made a stupid mistake and now I’ve fixed it. (Dear Internet: always specify how.) There’s bug 350193 but it seems to require pasting some specific data into OO Calc, whereas I don’t even get to the stage of having a window open. OpenOffice works on my university desktop though. I’ve filed bug 365763.
  • Empathy, generally, although it falls into this category by default since I’ve never tried to use it before. I can’t get it to connect to any instant messaging service at all. I haven’t been motivated to investigate enough to file a bug report, because it doesn’t appear to support what for me is a key feature of Pidgin, namely, ability to have profiles where I connect to some IM accounts but not always all of them. (I also consider having to have several IM accounts in the first place something of a bug. With the universe.)

I don’t know the status of my very annoying bug in Hardy whereby whenever I adjusted the screen brightness downwards via the keyboard, my Ctrl key got virtually ‘stuck’ down. (So, for example, if I pressed ‘w’, a window would close, and ‘d’ would terminate programs.) Daniel Stone even kindly offered to look into this one for me, but shortly afterwards I poured hot chocolate all over my laptop and now the down arrow doesn’t work. I can’t try and reproduce this unless I finally get off my butt and get a new keyboard. And thus do promising bug reports vanish into nothing.

Plus, a bonus tip for people who use rdiff-backup. rdiff-backup is rather fiddly about version numbers, which is not a great attribute in a backup program, since you should be able to backup between two systems that aren’t running exactly the same version of rdiff-backup, Python, Ubuntu or anything else. (Quoth Martin Pool: I use duplicity as a workaround.) However, if you’re like me and your precious rdiff-backup backup regime took days to set up and you’re not doing it again for a while, Andreas Olsson points out that he maintains a PPA of the latest version of rdiff-backup for all supported versions of Ubuntu except Dapper, which is sufficient for my purposes at the moment.