Not Unifed In 12.10: The Quickening

Before I begin: if you would just like to remove “as much of Unity as possible” without reading my stance on Unity, or you’d like to see where this post began — please skip to the end :)

Personally, I like the basic idea of Ubuntu, I like the fact it mostly works as a Desktop, I like the PPAs and I like the fact there’s continuous improvement between releases.

It’s no secret though, some people, myself included — dislike the Ubuntu Unity interface.

Now, unlike my troubles with 12.04 LTS, Unity’s quirks in 12.10 were restricted to:

  1. Erratic Mouse Cursor Movement — basically, the touchpad was erratic and moving to what seemed like “the hot corner” whenever I removed a finger from the pad. Now, I always tune my touchpad to be slightly higher sensititivity than normal anyway, then using the synclient client to tune the areas of my touchpad — however, while that works in GNOME’s fallback desktop & GNOME 3.x, it now completely trips out Unity.

  2. Graphical Artifacts on-screen — usually behind windows, or when searching for something from the dash, they used to be largely inconsequental, but in Unity 6.x, they’re all over the place and solid colours, making a completely unusable desktop after 3-4 windows have been opened.

  3. Missing / Incomplete / Disappearing Shortcuts — I can click on a shortcut on the dock and it “crashes” into the icon that is above or below it, especially annoying when it crashes into the “Removable Drive” icon, which, combined with problem 1) tends to unmount things erratically, making me want to hurt something.

Problems One & Two turned out to be the easiest to fix, I have no Intel-Only (Embedded / Onboard) machines, so it was a simple case of using the ATi / nVidia binary blobs rather than relying on the discrete graphics that are fired up by default, then Unity’s interface at least played ball.

The Third issue seemed to occur regardless of things being on a binary driver or the F/OSS one.

So, what to do?

I thought, “Once again, I know GNOME Shell works on this setup — i’ll use that instead.”

# add-apt-repository ppa:gnome3-team/gnome3 && apt-get -f update
# apt-get -f install gdm gnome-shell gnome-tweak-tool gnome-session-fallback 

The former installs gnome-shell (and GDM, which is required by GNOME 3.6) & gnome-tweak-tool for customising your setup, the latter installs Ubuntu’s “classic GNOME desktop” — just in case.

Now, I almost always select the GNOME Fallback (No Effects) session the first time I want to strip Unity from an install, it’s a personal preference, so my desktop looked like:

The GNOME Fallback (GNOME 2.x-look) Default Desktop

The default desktop UI if you have selected “GNOME Fallback (No Effects)” from the Session List.

If you know your desktop can handle GNOME 3.x out-of-the-box, feel free to omit “gnome-session-fallback” from the apt-get line above.

note: GDM will ask you which “Default display manager” you wish to use, make sure you select gdm rather than lightdm– otherwise, X will fail to start once you’ve finished stripping out the Unity packages (but more on that later).

The Display Manager Selector

You should select the ‘GDM’ option here, if you wish to install the GNOME 3.x desktop in Ubuntu 12.xx

After you’ve done that, you should reboot your system for the changes to take effect, which will then display GDM at boot time like:

Looks rather old-school(tm) doesn’t it :)

So, having rebooted, selected GNOME as my default setup from the greeter and was ready to use my machine — I thought:

Some six months later, if i’m still never going to use Unity, because it doesn’t actually appear to work, why don’t I get rid of it?

Turns out, it’s a more invasive task than it was in 12.04LTS — there’s numerous examples of ways to do it on the interschnitzel, but other than my previous article on the subject, the majority of them ended up either:

  1. Breaking the Desktop (either by claiming X was broken and things were running in low-resolution mode, or by experiencing crashes in software that was linked to the Unity libraries themselves).

  2. Removing Applications you might actually need (including, for example, Nautilus and GNOME Shell itself, as well as Brasero, Rhythmbox, Totem & other GNOME-y related goodness) because they’ve been linked with Unity libraries at either the packaging level, buildtime, or runtime.

In addition, a number of the sites I found recommend getting rid of the indicator-applets packages — which, breaks the fallback session quite severely too and you might want / need to keep that, so we don’t want to do that either.

Unfortunately, there’s a bunch of new pieces in 12.10, relating the “webapps”, “web based services” and the infamous “Amazon Sales” issue — I mentioned on Twitter that i’m almost certain that Unity is becoming more like a tenticled beast that’ll get harder before it gets easier, but for now, we can still uncouple things to make a perfectly usable desktop for the masses.

Oh, that’s an important distinction — while i’m actually a fan of Ubuntu’s ideas for the future (TV’s, Phones, Tablets, Whatever) for now, i’d just like a DESKTOP that works — and chances are, if you’re reading this, you would too.

The Juice Is Loose (again)

So, without further delay (aside from saying “running these commands, as they are written here, in the order I have them listed, all work for me and have been well tested on my 12.10 installs, but if they hose your desktop, delete your information, or eat your dog — I take no responsibility for any of it” — operator beware and all that.):

Log Out of Unity, ALT-Fx to your favourite TTY, login, sudo to root and run:

# apt-get --yes purge unity 
# apt-get --yes purge unity-asset-pool unity-services 
# apt-get --yes purge unity-lens-* unity-scope-* ubuntu-webapps-*
# apt-get --yes purge unity-common
# apt-get --yes purge libunity-misc4 libunity-core-6* libunity-webapps*
# apt-get --yes purge gir1.2-unity-*
# apt-get --yes purge liboverlay-scrollbar* overlay-scrollbar*
# apt-get --yes purge appmenu-gtk appmenu-gtk3 appmenu-qt
# apt-get --yes purge libufe-xidgetter0
# apt-get --yes purge xul-ext-unity xul-ext-websites-integration
# apt-get --yes purge firefox-globalmenu thunderbird-globalmenu

To be fair, the commands above don’t remove all of Unity and friends, there’s parts you need for various things:

If you remove:

  • unity-greeter — If you have not rebooted after firstly installing your alternative desktop, X will fail to start — claiming you are running in Low Resolution mode and telling you to fix your configuration, troubleshoot or login to a console instead — this would appear to be an issue with the way the Classic (Fallback) GNOME Desktop is configured in Ubuntu, however investigation into this is still on-going.

    update 24-10-2012: if you reboot your system after installing gdm rather than simply logging out (as part of installing your alternative desktop — see above) then purge Unity from your system, your X session will start normally and GNOME will work normally too.

  • libunity9 — Various “core” GNOME applications will be uninstalled, such as Nautilus (File Manager), Brasero (CD Burning) & Rhythmbox (Music Player) & Totem (Movie Player) which you might actually need in order to retain a working desktop.

  • indicator-* — The Classic GNOME Desktop will break — the indicator applets on the top right-hand-side will be removed, but clicking on the locations they should have been will cause your session to crash.

(This list will be updated with any others I find, or people e-mail/tweet me about, but as of 24-10-2012 is correct.)

When you return, no Unity options should be present in your Session options — and once you’ve chosen your new environment of choice, you will be Unity-less and all of the GNOME based applications on your desktop should continue to operate correctly too.

In addition, you will also have cleaned out the Unity / Global Menu related components from Firefox / Thunderbird / LibreOffice, making it leaner, faster and less privacy-concerning than before too.

update 14-11-2012: added overlay-scrollbar packages to the list of packages to purge due to this bug which causes pieces of the default GTK+ theme to be either completely black or to disppear intermittently.

overlay-scrollbar should be fixed, but the bug is labelled as WONTFIX which is disappointing, given it seems to be an Ubuntu-specific issue and nothing at all to do with GTK+

Enjoy, until the hacksaws come out for the 13.04 release :)