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 9.04 Jaunty Jackalope [Updated]

SABDFL groks Mono

It’s that time again 😉

Fortunately, Mono is still quite trivial to remove and has not, apparently, increased its infiltration of the Ubuntu/Gnome code base as one might have been led to believe if you’d read this on the 1st April:

“Mark Shuttleworth, the Benevolent Dictator for Life of the popular Ubuntu Linux distro, has announced his plans to rewrite all of Gnome, X11 and the Linux kernel using the Mono platform…

Ubuntu is Linux for human beings, and, believe it or not, Microsoft employees are human beings too. We think we need to work closer with Microsoft to ensure heterogenous data silo paradigm middleware enhancements can continue to grow. Oh, and they gave me this nice T-shirt.”

As was the case with 8.10 Intrepid Ibex, there are just two applications in the default Jaunty desktop install which depend on Mono: F-Spot and Tomboy.

As an alternative to F-Spot, I happily use the Gnome viewer gThumb for managing the import and deletion of images from our digital cameras. I actually think it is better for a simple reason. It allows me to copy the images off my camera and delete them from the camera at the same time. The last time I tried F-Spot (admittedly quite a while ago now) I could never find a setting to do this.

And for note taking I have been happily using notecase. Although I note [pun intended] that the developer has stopped work on the free version himself the code is available under a BSD license so if anyone wants to pick it up and run with it they can. Anyway – notecase works fine for me and is still in the repos.

There are many other note taking type applications too. Here is what looks to be quite a comprehensive (albeit old) list of them: http://linuxappfinder.com/utilities/notes

But this is just GREAT!

Gnote: Tomboy minus Mono
Whilst I was preparing this article, I came across this on April 1st too. I actually did think it was a joke.

However it seems not; a bored and unemployed (ex Novell/Suse) developer, Hubert Figuière, is porting [has ported] Tomboy to C++ and calls it Gnote.

You can now use a virtually identical application to Tomboy without Mono! (This is still an early development so YMMV).

There is a PPA for Ubuntu here very kindly organised by Vadim Peretokin. I installed it on my intrepid desktop just to see it and it looks exactly the same as Tomboy!

Even better, as it isn’t built on top of Mono, it has fairly meagre requirements too:

sudo apt-get install gnote
[sudo] password for alord:
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed
gnote libboost-filesystem1.34.1 libboost-regex1.34.1 libxml++2.6-2
0 upgraded, 4 newly installed, 0 to remove and 0 not upgraded.
1 not fully installed or removed.
Need to get 1130kB of archives.
After this operation, 3400kB of additional disk space will be used.
Do you want to continue [Y/n]? Y

3.4MB vs. 54.0MB. That’s a decent comparison I think.

OK. The moment you’ve all been waiting for…

To remove that patent-trap-masquerading-as-free-software from your Shiny New Ubuntu Jaunty system simply type:

sudo apt-get purge libmono0 mono-common libgdiplus

[UPDATE]
Thanks to a keen eyed commenter, Lupine, we note that there is another package that lurks hidden and must be explicitly removed. I have added libgdiplus to this command since first publishing. To remove it individually just enter sudo apt-get purge libgdiplus. Thanks Lupine.
[/UPDATE]

Then watch what happens next…


The following packages will be REMOVED
f-spot* libart2.24-cil* libflickrnet2.1.5-cil* libgconf2.24-cil* libglade2.0-cil* libglib2.0-cil* libgmime2.2a-cil* libgnome-keyring1.0-cil* libgnome-vfs2.24-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-data2.0-cil* libmono-getoptions2.0-cil* libmono-i18n2.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* libmono0* libmono2.0-cil* libndesk-dbus-glib1.0-cil* libndesk-dbus1.0-cil* mono-2.0-gac* mono-2.0-runtime* mono-common* mono-gac* mono-jit* mono-runtime* tomboy*
0 upgraded, 0 newly installed, 38 to remove.
After this operation, 54.0MB disk space will be freed.
Do you want to continue [Y/n]?

Oh yes please…

To wrap up this post, we’ve been using Jaunty on various devices for some time now. It’s been really stable, boots very fast and is probably the best desktop operating system you can get anywhere and for any price right now. Thanks to Canonical and the rest of the amazing FOSS Community for making Ubuntu and this release happen.

Our Libertus Server Appliances, with the Mono-free Jaunty 9.04 server edition, are available from today.