How to remove Mono from Ubuntu 8.10 Intrepid Ibex

As this was such a popular How To for Hardy Heron, I thought I’d document the same exercise for Ubuntu’s latest version Intrepid Ibex (8.10).

With a default install of Ubuntu Desktop 8.10, there are quite a few mono packages installed as standard. In fact there seem to be quite lot really (I counted 28!), especially considering they are only there to support two fairly minor applications: Tomboy and F-Spot. Although the good news is that Intrepid Ibex comes with one less Mono application than did Hardy; which also included Banshee.

If you type the command dpkg -l '*mono*' you will get a list that looks something like this:

| Status=Not/Inst/Cfg-files/Unpacked/Failed-cfg/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err: uppercase=bad)
||/ Name           Version        Description
ii  libmono-addins 0.3.1-5        GTK# frontend library for Mono.Addins
ii  libmono-addins 0.3.1-5        addin framework for extensible CLI applicati
ii  libmono-cairo1 1.9.1+dfsg-4ub Mono Cairo library
ii  libmono-cairo2 1.9.1+dfsg-4ub Mono Cairo library
ii  libmono-corlib 1.9.1+dfsg-4ub Mono core library (1.0)
ii  libmono-corlib 1.9.1+dfsg-4ub Mono core library (2.0)
ii  libmono-data-t 1.9.1+dfsg-4ub Mono Data library
ii  libmono-data-t 1.9.1+dfsg-4ub Mono Data Library
un  libmono-dev    <none>         (no description available)
ii  libmono-i18n1. 1.9.1+dfsg-4ub Mono I18N libraries (1.0)
ii  libmono-i18n2. 1.9.1+dfsg-4ub Mono I18N libraries (2.0)
ii  libmono-securi 1.9.1+dfsg-4ub Mono Security library
ii  libmono-securi 1.9.1+dfsg-4ub Mono Security library
ii  libmono-sharpz 1.9.1+dfsg-4ub Mono SharpZipLib library
ii  libmono-sharpz 1.9.1+dfsg-4ub Mono SharpZipLib library
ii  libmono-sqlite 1.9.1+dfsg-4ub Mono Sqlite library
ii  libmono-system 1.9.1+dfsg-4ub Mono System.Data library
ii  libmono-system 1.9.1+dfsg-4ub Mono System.Data Library
ii  libmono-system 1.9.1+dfsg-4ub Mono System.Web library
ii  libmono-system 1.9.1+dfsg-4ub Mono System.Web Library
ii  libmono-system 1.9.1+dfsg-4ub Mono System libraries (1.0)
ii  libmono-system 1.9.1+dfsg-4ub Mono System libraries (2.0)
un  libmono-winfor <none>         (no description available)
un  libmono-winfor <none>         (no description available)
ii  libmono0       1.9.1+dfsg-4ub libraries for the Mono JIT
ii  libmono1.0-cil 1.9.1+dfsg-4ub Mono libraries (1.0)
ii  libmono2.0-cil 1.9.1+dfsg-4ub Mono libraries (2.0)
un  mono-classlib- <none>         (no description available)
un  mono-classlib- <none>         (no description available)
un  mono-classlib- <none>         (no description available)
un  mono-classlib- <none>         (no description available)
ii  mono-common    1.9.1+dfsg-4ub common files for Mono
ii  mono-gac       1.9.1+dfsg-4ub Mono GAC tool
ii  mono-jit       1.9.1+dfsg-4ub fast CLI JIT/AOT compiler for Mono
ii  mono-runtime   1.9.1+dfsg-4ub Mono runtime
un  mono-utils     <none>         (no description available)
un  monodoc-gtk2.0 <none>         (no description available)

Fortunately, the dependency management tools mean that we don’t have to remove each one of these files on it’s own. The single package mono-common is a common dependency for everything above apart from libmono0.

So the command to purge yourself of all the Microsoft infected software is as follows:

sudo apt-get remove --purge mono-common libmono0

This command will remove almost 60MB of crap from your hard drive and free you from eternal damnation and suffering. Well, OK. Perhaps it’s not quite that bad, but I personally have no wish to use software that is so tainted. Nor for that matter do I want to use code that is so tightly bound to a company that, amongst other things, manages to screw us all out of significant tax revenues.

File Management Preferences

There are several alternatives for the two minor applications that we have just removed. For F-Spot, I recommend using the gThumb application which basically does the same thing, and in fact is better in my opinion as I found it easy to set it automatically remove the photos from my camera when it copies them across. Something I never managed to work out how to do when I tried F-Spot.

To install gThumb simply type:

sudo apt-get install gthumb.

If you want gThumb to start automatically when you plug in your camera, or other removable storage media with photos on, open Nautilus (the Gnome file manager), go to the Edit menu and select the Preferences option. On the File Manager Preferences dialogue window, select the Media tab and then change the option next to Photos: so it says “Open gThumb Image Viewer”.

For the note taking app, there are several alternatives. I have used Zim in the past which is very good, and I have also recently started using Notecase just as a comparison. There are others too. I recommend that you try a few and find one that suits you.

How to remove Mono (M$) from Ubuntu Hardy Heron

I have had a long-time problem with Mono and the Mono-based applications that, for reasons I do not understand, come installed by default with Ubuntu.

For those who don’t know about it, Mono:

provides the necessary software to develop and run .NET client and server applications on Linux, Solaris, Mac OS X, Windows, and Unix.

That sounds pretty innocuous on the face of it. But Mono has a potentially fatal sting-in-the-tail for some, and leaves a rather nasty taste in the mouths of many others…

The potential sting is because Mono is developed and supported largely by Novell who are, as we all know so well, in a patent-protection deal with Microsoft. This caused a huge storm when they signed the deal – basically because it gave some “credence” to Ballmer’s “Linux/OSS breaches 235+ patents” line. So, it’s O.K. for Novell to do stuff that implements helps M$’s stuff because they have “protection” from being sued [yeah right – who really believes that one!]. But what about everyone else???

The nasty taste which has always ‘ever-so-slightly’ tainted my use of Ubuntu is that Mono is there only to support applications written in languages and for platforms which are basically Microsoft’s. It encourages software development using systems that are based on technologies almost certainly encumbered by a whole raft of M$ patents. To my mind, there are many great non M$ languages and architectures out there which are almost part-and-parcel of Linux programming and I see no need to bring .NET, ASP or even Visual Basic to my desktop. If I want to write an application, I could use PHP, Python, PERL, C, C++, Java and, of course, many others. Why do I need to endorse and encourage the proliferation of non-free software by relying on M$’s IP and the smell of their stinky patents?

Well, I figured I don’t. So, I thought I’d see what happened if I removed Mono from Ubuntu.

As a test I typed the following (but I didn’t accept the Y/n question before doing some further research):

sudo apt-get remove --purge mono-common

The following packages will be REMOVED
banshee f-spot libart2.0-cil libavahi1.0-cil libboo2.0-cil libflickrnet2.1.5-cil libgconf2.0-cil libglade2.0-cil
libglib2.0-cil libgmime2.2-cil libgnome-vfs2.0-cil libgnome2.0-cil libgtk2.0-cil libgtkhtml3.16-cil
libmono-addins-gui0.2-cil libmono-addins0.2-cil libmono-cairo1.0-cil libmono-cairo2.0-cil libmono-corlib1.0-cil
libmono-corlib2.0-cil libmono-data-tds1.0-cil libmono-data-tds2.0-cil libmono-security1.0-cil libmono-security2.0-cil
libmono-sharpzip0.84-cil libmono-sharpzip2.84-cil libmono-sqlite2.0-cil libmono-system-data1.0-cil
libmono-system-data2.0-cil libmono-system-web1.0-cil libmono-system-web2.0-cil libmono-system1.0-cil libmono-system2.0-cil
libmono-zeroconf1.0-cil libmono1.0-cil libmono2.0-cil libndesk-dbus-glib1.0-cil libndesk-dbus1.0-cil libtaglib2.0-cil
mono-common mono-gac mono-jit mono-runtime tomboy

This lot removes just three applications from Ubuntu 8.04: Tomboy, F-Spot and Banshee. And they aren’t exactly desktop behemoths either.

The long list of libraries and things that just might break something else looked pretty scary to simply accept without question. So I built a quick Ubuntu Hardy 8.04 VM using Virtualbox and tried it in there first. It seemed to be fine. Nothing else I tried broke. I rebooted the VM and tried loading several applications and it all worked as expected.

So here we go then; to get rid of Mono, Tomboy, Banshee and F-Spot, simply type the following.

sudo apt-get remove --purge mono-common libmono0

(The --purge switch removes the old packages from the package manager’s cache so you actually get the disk space freed up too)

Now I must confess to having used Tomboy in the past. But after a bit of research some time ago I found what I think is actually a better alternative called Zim. It is basically a desktop Wiki application:

Zim is a WYSIWYG text editor written in Gtk2-Perl which aims to bring the concept of a wiki to your desktop. Every page is saved as a text file with wiki markup. Pages can contain links to other pages, and are saved automatically. Creating a new page is as easy as linking to a non-existing page. Pages are ordered in a hierarchical structure that gives it the look and feel of an outliner. This tool is intended to keep track of TODO lists or to serve as a personal scratch book.

I have been using Zim for several months now and am very happy with it.

F-Spot is easily replaced by gthumb which, for me at least, does exactly the same thing: it gets photos from my camera.

I never used Banshee after looking at the UI once. I found Rhythmbox much more obvious and easy to use, and it is already installed as well.

So, to replace the 44 packages (and 3 apps) above with non-encumbered alternatives, simply type:

sudo apt-get install gthumb zim

Of course please check your own system before blindly following my instructions. I checked carefully before removing Mono to make sure nothing was going to break. I would recommend you do the same, and, of course, back up your Tomboy notes first 😉