How to remove Mono from Ubuntu 10.04 Lucid Lynx [Updated]

Monogenea

Monogenea

Monogeneans are ectoparasites, meaning they live on the surface of their host’s body (as opposed to inside of it) and feed mainly on mucus and other detritus. To ensure they do not lose grip of their host, Monogeneans have very highly developed attachment appendages such as suction devices, pincers, hooks or spines. Most species require only one host to complete their life cycle and they are mostly hermaphroditic. Monogeneans are a type of Platyhelminthe (flatworm) and as such have only one “opening” where food is ingested and any waste is expelled.
OK, that’s enough of a biology lesson. If you are reading this then you probably know why you are here already.

To remove Mono from your shiny new desktop installation of Ubuntu 10.04 Lucid Lynx enter the following command (after taking the usual precautions like backups of your data etc):

sudo apt-get purge libmono* libgdiplus cli-common libglitz-glx1 libglitz1

[UPDATE: Many thanks to Directhex who pointed out my error regarding the need to remove libsqlite0. I’ve removed it from the command above. He also requested (you can see in his comment below), that I mention that the mononono package is no longer particularly effective at preventing Mono from being installed. Thanks for the prompt Jo, I was going to but I just forgot.]

This is almost the same one as used for the Karmic Koala release (9.10), and for me the result of the above command was as follows:

The following packages will be REMOVED
cli-common* f-spot* gbrainy* libart2.0-cil* libflickrnet2.2-cil* libgconf2.0-cil* libgdiplus* libglade2.0-cil* libglib2.0-cil* libglitz-glx1* libglitz1* libgmime2.4-cil* libgnome-keyring1.0-cil* libgnome-vfs2.0-cil*
libgnome2.24-cil* libgnomepanel2.24-cil* libgtk2.0-cil* liblaunchpad-integration1.0-cil* libmono-addins-gui0.2-cil* libmono-addins0.2-cil* libmono-cairo2.0-cil* libmono-corlib2.0-cil* libmono-data-tds2.0-cil* libmono-i18n-west2.0-cil* libmono-posix2.0-cil* libmono-security2.0-cil* libmono-sharpzip2.84-cil* libmono-sqlite2.0-cil* libmono-system-data2.0-cil* libmono-system-runtime2.0-cil* libmono-system-web2.0-cil* libmono-system2.0-cil* libmono2.0-cil* libndesk-dbus-glib1.0-cil* libndesk-dbus1.0-cil* libnunit2.4-cil* mono-2.0-gac* mono-gac* mono-runtime* tomboy*
0 upgraded, 0 newly installed, 40 to remove and 0 not upgraded.
After this operation, 49.8MB disk space will be freed.
Do you want to continue [Y/n]?

I chose to accept this and proceeded. Of course YMMV so please check carefully before hitting that enter key. The purge switch of this command removes any configuration files as well as the packages themselves.

Compared to Ubuntu 9.10, in 10.04 there appears to be just one new Mono dependant application called gbrainy (in the Games menu) which is described thus: “a platform to train memory, arithmetical and logical capabilities with many sorts of different exercises of different difficulty levels”.

Unfortunately it appears as though the “training” objective of gbrainy might not be realised…

Over the last year or so, the BBC have carried out an experiment which examined “brain trainer” games. Subsequent analysis of the data found that these brain trainers are an empty promise as reported here in The Guardian:

Practising brain-training games will improve your performance on brain-training games, but that effect will not transfer to other aspects of brain function. They will not make you brainier, so you may as well just pootle around on the internet.

It seems that not much grey matter will be lost by removing the gbrainy package then 😉

Gnote and Getting Things Gnome

Gnote and Getting Things Gnome

The other applications expunged by removing Mono from the default Desktop installation are the same as last year: F-Spot and Tomboy.

For a very similar alternative to Tomboy try Gnote, and as I like task-related management too I also recommend the excellent GTG [Getting Things Gnome] application. To install these two simply type: sudo apt-get install gnote gtg.

The alternative for F-Spot I usually use is a combination of gthumb and Gimp, the latter of which has been removed from the default Lucid desktop install to make space for other things. Both of these applications can be easily installed by a simple sudo apt-get install gthumb gimp command. However there is now a new kid on the block which looks quite exciting called shotwell. Shotwell will be the default camera/image app in the forthcoming Fedora 13 distribution replacing gthumb (as it has no dependencies on Mono in the default desktop installation). It is also, I was pleased to discover, available in the main Lucid repository so can be installed using either the command line: sudo apt-get install shotwell or you can use the very easy and graphically attractive Ubuntu Software Centre (as you can for the other applications listed above also). This is how Fedora describe Shotwell in the preliminary release notes:

Shotwell is an open source photo organizer designed for the GNOME desktop environment and has replaced Gthumb by default in Fedora 13. It supports the following features:

  • import photos from any digital camera supported by gPhoto
  • automatically organize events containing photos taken at the same time
  • use tags to organize your photo collection
  • edit non-destructively when altering photos, without ruining originals or using disk space for each copy
  • publish photos to Facebook, Flickr or Picasa
  • one-click auto-enhancement
  • rotate, mirror, and crop photos
  • reduce red-eye and adjust the exposure, saturation, tint, and temperature of your photos
  • edit any photo, even if it’s not imported to the Shotwell library

I haven’t used Shotwell yet but it sounds like a good one to try out.

There you have it and hopefully that will be it for another 6 months on this subject.

How to remove Mono from Ubuntu 9.10 Karmic Koala [Updated]

AkhenatenI’ve been mildly intrigued as to why the volume of background noise and character assassination that has surrounded Mono has been on the wane over the last few months. Consequently, I started wondering if there were any obvious reasons for this outbreak of pacifism in what has sometimes seemed like a debating chamber for differing groups of religious fundamentalists.

Some of it is surely to do with Microsoft’s Community Promise made back in July 2009, but I doubt that is really the only reason for the attenuation. I do wonder if Mono might just simply be losing some of its lustre. In August Blackduck reported how the amount of code being written for FOSS projects using C# was pretty negligible at just 1.33% and that growth in C# usage over a 12 month period was virtually zero.

There were also some rather nasty and personal attacks which did nothing to help our community at large nor the reputation of the individuals’ concerned so maybe people have consciously, or subconsciously, decided to just shut-up for a while?

Quite recently Microsoft, along with Intel, announced that they will ship Silverlight on Linux as opposed to using the Microsoft/Novell sponsored Mono project called Moonlight. OK, admittedly this announcement was only for Moblin Linux, but hey, since when has Microsoft ever been transparent about it’s long term objectives or plans? Perhaps, Mono and Moonlight were just too heavyweight for Moblin devices (netbooks and smart-phones typically), or maybe there is more to it. It could be a very good start to a typical Microsoft "Embrace, Extend & Extinguish" strategy. Who knows? But it certainly isn’t exactly a ringing endorsement of Mono and Moonlight is it?

The awkward question: If it’s that easy to port Microsoft Silverlight to Linux, why does the Moonlight project exist at all?

“I’m really clear about our commitment to Moonlight. I see the work we’re doing with Miguel and Moonlight as core to our strategy for delivering implementations for Linux,” says Goldfarb, protesting, perhaps, a little too much. ®

Anyhow, my personal opinion of Mono hasn’t changed much. There are no Mono applications in Ubuntu that make me go weak at the knees and get all excited; far from it in fact:

  • I’ve never really had any need for Tomboy at all and since discovering Getting Things Gnome my jotted notes and todos all go in this great little Python task keeping application anyway. If you have used, or ever wanted to use Tomboy in the past however there is now a clone written in C++ called Gnote. This is in the Karmic “universe” repository and can be installed either from Synaptic, the new Ubuntu Software Centre (now spelt correctly if you use an en_GB locale) or by typing sudo apt-get install gnote.
  • When I last used F-Spot, which was probably back in Gutsy or Hardy days I reckon, it annoyed me that the application wouldn’t automatically delete the pictures off my camera after importing. GThumb did and always has; so no big deal there then. There is also a new kid on the block called Solang that is in the Karmic repos too. I haven’t tried it in anger myself yet but I’ve heard good things from others.
  • Media Players/Managers? “Banshee!” I hear you cry. Well, I’ve never tried it because I don’t have Mono on my Ubuntu desktop or laptops so I can’t say if I like or not as an application. On my Ubuntu machines, the only music player I have tried and actually really liked, is Songbird. There are still a few features missing, but the forthcoming 1.4 release is looking like it will plug some of these gaps. Songbird looks, feels and works fine for my needs.

On the 15th October a very important figure in our community penned his own contribution to this discussion. Jeremy Allison, of Samba fame, wrote a well considered letter essentially calling on the major GNU/Linux distributions to move Mono outside of their default and core repositories. It’s something others, including myself, have discussed before, but likely with a lot less weight than Jeremy’s comments will surely carry.

… I think it is time for the Mono implementation and applications that use it to be moved into the “risky” category, until the patent situation around it is deemed to be truly safe to use by default in Free Software.

Microsoft isn’t playing games any more by merely threatening to assert patents. Real lawsuits have now occurred and the gloves are off against Free Software. Moving Mono and its applications to the “restricted” repositories is now just plain common sense.

Anyway, back to the reason for this post.

In the latest, shiniest, bestest, release of Ubuntu to date, and it really is a cracking release, the desktop version of Karmic Koala (version 9.10) contains two Mono dependent applications in the default install along with the Mono VM and associated libraries etc.

Now, this time, we have 3 ways to go Mono free:

  1. Visit Jo Shield’s blog and get Chicken Little Remix (CLR). Chicken Little Remix (CLR) provides a solution for users who wish to use Ubuntu but would prefer it to not contain any Mono-based software. This 2nd release of CLR, based on Ubuntu 9.10, comes as a livecd with it’s own unique desktop wallpaper and also features replacement applications where appropriate.
  2.  

  3. Use the KDE based Kubuntu instead of Ubuntu, which uses Gnome. (Thanks Mark for pointing out my omission in the comments below)
  4.  

  5. Install the regular Ubuntu distribution and then remove the applications and their supporting packages*. The simple command required goes like this [Update] Thanks to Jo who mentioned the 3 libraries that should also be removed [/Update]:

    sudo apt-get purge libmono* libgdiplus cli-common libsqlite0 libglitz-glx1 libglitz1

    Which should reply with something similar to:


    The following packages will be REMOVED
    cli-common* f-spot* libart2.0-cil* libflickrnet2.2-cil* libgconf2.0-cil*
    libgdiplus* libglade2.0-cil* libglib2.0-cil* libgmime2.2a-cil*
    libgnome-keyring1.0-cil* libgnome-vfs2.0-cil* libgnome2.24-cil*
    libgnomepanel2.24-cil* libgtk2.0-cil* libmono-addins-gui0.2-cil*
    libmono-addins0.2-cil* libmono-cairo2.0-cil* libmono-corlib2.0-cil*
    libmono-data-tds2.0-cil* libmono-i18n-west2.0-cil* libmono-posix2.0-cil*
    libmono-security2.0-cil* libmono-sharpzip2.84-cil* libmono-sqlite2.0-cil*
    libmono-system-data2.0-cil* libmono-system-web2.0-cil*
    libmono-system2.0-cil* libmono2.0-cil* libndesk-dbus-glib1.0-cil*
    libndesk-dbus1.0-cil* mono-2.0-gac* mono-gac* mono-runtime* tomboy*
    0 upgraded, 0 newly installed, 34 to remove and 0 not upgraded.
    After this operation, 47.8MB disk space will be freed.
    Do you want to continue [Y/n]?

NB: This command was tested on a default installation. The purge switch is designed to remove configuration data too. If you have any important information on your system that might be dependent on these applications, please do your research and backup or copy it first. I test the command in a clean Virtual Machine build before using it on a live system: YMMV.

* If you are aware of any other packages that can, or should be removed, please let me know and I will update the post.

Depending on your vigilance or need, you may wish to install the package called Mononono which will keep a look out for you and alert you if an application tries to install any Mono components.

For those of you who do not happen to be scholars of ancient Egyptian history, the picture at the top of this article is of the Egyptian Pharaoh Akhenaten regarded by some as the first Monotheist:

Akhenaten tried to bring about a departure from traditional religion that in the end would not be accepted. After his death, traditional religious practice was gradually restored, and when some dozen years later rulers without clear rights of succession from the Eighteenth Dynasty founded a new dynasty, they discredited Akhenaten and his immediate successors, referring to Akhenaten himself as ‘the enemy’ in archival records.

Image courtesy of Wikimedia under several free licences.

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:

Desired=Unknown/Install/Remove/Purge/Hold
| 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 😉