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.