skip to main bit
a man slumped on his desk, from 'The Sleep of Reason Produces



Archive for July 21st, 2012


if the 3.4.1 Debian wheezy gnome-shell starts up slowly for you

I love titles like that.

Anyway, I am intensely enjoying being back in Debian-space, and I am slowly accreting small mechanisms of usefulness around me. Vim keystrokes are bleeding out everywhere. My caps lock is now a Meta key, and springs up little windows when I dance on it.

I still quite like Gnome 3, although it took a sly upgrade to the unstable version of Debian (now pretty much stable, and pretty much called Wheezy) before it was really usable.

My biggest peeve was that it took a million years to start. I knew it wasn’t doing anything useful in that time. I suspected it was something to do with my Contacts list, which is huge, tied to Google Contacts, and also not doing much that was useful. Gnome Contacts is not a particularly well-excavated place right now, and it seems like tying it to the gnome-shell was a somewhat overambitious idea. I run strace on the gnome-shell process (as you do), and it confirmed that that was happening was that gnome-shell was excitedly counting my friends and their habits instead of doing something vaguely useful, like letting me run an application or two.

In Gnome 3.5, it looks like they’ve finally disentangled gnome-shell and the contacts service, but Gnome 3.5 won’t be coming to Debian for a while. I vaguely considered trying to build it myself, but then I remembered — isn’t huge chunks of gnome-shell written in Javascript for exactly this kind of userland tweaking?

Sadly, the impressive gnome-shell extensions feature kicks in a little too late in the shell bootup process for it to wrench out the contacts support before the drooling begins, but I did find a line in the internal javascript code of gnome shell that, once killed, lets it boot up in non-geological time.

Ideally you shouldn’t mess with the internals of a debian package like this, but it’ll hopefully all be fixed by the next upgrade anyway. Here’s the patch. All it does is stick turns one line into a comment by prepending ‘//’ in front of it. You can do it by hand by sudo nano /usr/share/gnome-shell/js/ui/overview.js and finding the ContactDisplay line below, or save the lines below and patch it with patch -p0 < wherever_you_saved_those_linesbelow .

Tada! It pays to explore some of the other files in that directory, although possibly not mess with them. Gnome 3 really needs better documentation, and if I was a man with infinite time, I would greatly enjoy writing more of it up.


petit disclaimer:
My employer has enough opinions of its own, without having to have mine too.