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 ;-)

Tags: , , , , , , , ,

74 Comments

  • Alan Lord says:

    @Dan, I’m not quite sure you get it… The reason I wrote this piece, pure and simple, is because I really don’t want Mono on my system. It really struck a nerve along with many others.

    Try reading this comment http://www.theopensourcerer.com/2008/08/04/how-to-remove-mono-m-from-ubuntu-hardy-heron/#comment-8414 and others to see why Mono is more than just ECMA334 and 335.

    Oh yes, and please do remember, ECMA are that totally august body that brought us ECMA-376 (OOXML) too. They are simply Microshaft’s standardisation department and I have little trust in anything they claim.

  • Slated says:

    @Dan O’Brian

    What “personal attacks”?

    Do you consider dissent against Microsoft to be “personal” now? Why? Do you have some connection with Microsoft we should know about?

    The only person launching “personal attacks” in this thread is “Cosmo7″ with his assertion that we’re “retarded creationists”.

    As for Microsoft and their personal “standards” group, ECMA, issuing vague promises to be “reasonable”, well I trust them about as far as I could throw Sweaty Ballmer … or about as much as I trust you, come to that.

    We don’t want Mono.

    Deal with it, and find a new hobby.

  • Mono domyślnie w Ubuntu Hardy Heron – po co i jak usunąć?…

    Nie przepadam za Mono, a raczej za aplikacjami napisanymi w Mono, jednak z jakiś (nieznanych mi) powodów jest ono domyślnie instalowane w Ubuntu.

    Dla tych, którzy nie wiedzą czym jest Mono:
    projekt w ramach wolnego oprogramowania mający na[…..

  • Ryan says:

    This is a great guide, thanks , I do something similar on all my new machines, but hadn’t remembered the applications I’m losing. It’s too bad f-spot is written with mono, of those apps, it’s the only one I miss.

  • Alan Lord says:

    @Ryan,

    many thanks for the compliment. It was a quick piece I wrote just because I wanted to document it really – I didn’t realise it would become the most popular article on the whole blog… I guess it just goes to show that there is a great deal of “interest” in removing the taint of Microsoft/Mono from one’s free software experience.

  • [...] it isn’t such a bad thing in reality. The article I wrote at the beginning of August “How to remove Mono from Ubuntu…” was, and remains, one of the most read peices on here, and almost all of the 50+ comments [...]

  • sporniket says:

    Thank you for this post. I’ve been wary of not letting Mono sneak in my computer, but having a cook-book to check that is a plus ^^

  • [...] doesn’t like Mono, or just want to eliminate some cruft from your computer, then check out this blog post. It explains how to remove Mono from Ubuntu (the Hardy Heron [...]

  • sillyxone says:

    thanks for this, I removed mono two weeks ago using your instruction, been working great. The only thing I missed is Gnome-Do which is convenient, but I’m learning Python with the hope to write a replacement.

    As for the other applications: I’ve been using Zim, never touched Tomboy before; F-spot wasn’t my taste, I’m using gqview; and Rhythym box is my music player.

    I don’t hate Tomboy, F-Spot, and Banshee, they are great products. I just feel pity for those who picked the wrong path. Value your freedom, or you will lose it.

  • Warren says:

    Why do people STILL believe this UTTER UTTER rubbish.

    The core .NET runtime and C# language are ISO Standards that are NOT patent encumbered and that ANYONE is free to implement.

    Let me say that again.

    The core .NET runtime and C# language are Internation Standards that are NOT patent encumbered and that ANYONE is free to implement.

    IF you make use of MS patent encumbered libraries (WinForms, ADO.NET etc) then yes there is a problem otherwise Mono is fine.

    Do you REALLY believe that the Gnome and Ubuntu people would risk having to pay MS licence fees. Come one people, wake up and smell the coffee.

    I am not a MS fan and have put my money where my mouth is because of it, Vista was the final push for me. That said I develop in Mono. Why because as long as I do not use MS patent encumbered stuff, the bits they have not given over to ISO, I have no patent issues.

    .NET, like it or not, is a VERY VERY good environment to work in. I can write ANY part of my app in different languages, including Python, and all parts can communicate with each other.

  • [...] 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 [...]

  • Alan says:

    Yo,

    Thanks for the tips. I don’t use Ubuntu but I confess I have used Tomboy before as a virtual “sticky note.” I don’t know if Tomboy and Zim have advanced features (you say Zim is like a desktop wiki, I guess), but for simple notes xpad is great.

    Alan

  • [...] similar thing happened the last time, when I did a piece on doing the same thing for Hardy [...]

  • Yaro says:

    “Why do people STILL believe this UTTER UTTER rubbish.”

    Because it isn’t utter, utter rubbish. It’s actually quite logical.

    “The core .NET runtime and C# language are ISO Standards that are NOT patent encumbered and that ANYONE is free to implement.”

    First off, .NET and C# are NOT ISO, but ECMA, which is in Microsoft’s grubby little pocket. Second off, just because something is a “standard” doesn’t mean it is open or unpatented. A requirement for standardization is not that anyone can use it freely even without royalties. Do research before opening your mouth.

    “Let me say that again.”

    Okay

    “The core .NET runtime and C# language are Internation Standards that are NOT patent encumbered and that ANYONE is free to implement.”

    .NET *does* have patents, look them up, and in actuality, there is only ONE other company than Microsoft who is actually allowed to use .net, and that is Novell. Mono is only legal on SuSE. Again, do your research.

    “IF you make use of MS patent encumbered libraries (WinForms, ADO.NET etc) then yes there is a problem otherwise Mono is fine.”

    No, the entirety of Mono is an implementation of a MICROSOFT controlled standard. Which means that whether it is patented or not makes no difference. Microsoft can and likely will pull crap like demanded a project be pulled or somesuch. A truly open standard is one that a group of groups control so that the standard will not be manipulated for monopolistic goals. Mono and .NET do not fall into that category. Mono is still an IP landmine, patents or not, because .NET is not any more “open” than Shared Source is.

    “Do you REALLY believe that the Gnome and Ubuntu people would risk having to pay MS licence fees. Come one people, wake up and smell the coffee.”

    I believe GNOME would thanks to a certain Microsoft-loving asshole named “Miguel de Icaza” who would probably jump at the chance to pump more garbage from Microsoft into Linux that the Linux community knows better than to want in their distributions. As for Ubuntu, it’s simply a matter of Mark Shuttleworth not believing Mono is a problem… yet. Even he admitted, however, on his blog, that there could be problems with Mono in an IP sense.

    “I am not a MS fan and have put my money where my mouth is because of it, Vista was the final push for me. That said I develop in Mono. Why because as long as I do not use MS patent encumbered stuff, the bits they have not given over to ISO, I have no patent issues.”

    Ah, the curtain is lifted. You’re a Mono developer. You’re just trying to defend a huge mistake you’re making. Be careful, in a few years Microsoft might actually own your ass when they decide .NET shouldn’t be “open” anymore. It doesn’t matter if .NET isn’t patent encumbered, it’s still controlled by one company who has the power to patent the whole damn thing whenever they want to, MSECMA standard or not. And I repeat, .NET is NOT NOT NOT an ISO standard.

    “.NET, like it or not, is a VERY VERY good environment to work in. I can write ANY part of my app in different languages, including Python, and all parts can communicate with each other.”

    I find .NET to be a horrible platform to develop in, coming from over 11 years of development experience for both Windows and Linux. Without the obvious IP deathtrap, .NET is clunky, slow, non-portable, and your claims that you can mix or match languages in your software is not something that .NET provides exclusively. It’s quite easy to mix up languages without a garbage framework like .NET or Mono weighting it down. I find Mono and .NET to be like Java: Nice and convenient for the incompetent programmer too lazy to do basic foundation programming, and very inconvenient and not fun for the end user, who is more important from a software standpoint than the lazy programmer who uses things like .NET. There’s NOTHING .NET provides that I can’t do in C++ or Python with just a small addition of time and effort required, and my software does well for it: No encumbering dependencies, no potential for a notable enemy of open source and Linux to be allowed to pull the rug out from under me, and best of all, small and fast binary.

  • See ISO/IEC 23270:2006 (C# standard) and ISO/IEC 23271:2006 (CLI [Common Language Infractructure] standard, which includes [but not exclusively] the CLR). It is both ISO and ECMA.

    Feel free to do the research which Yaro appears to have already done. Shuttleworth stated that there _could_ be a problem, not that there was. Your overamplification and lack of context in the whole of your discussion on Mono is an excellent tool to use in FUD.

    Also, read the in re Bilski decision completely. If you continue to assert that Mono is bad, provide proof as to why.

  • Pardon, but I misread the headers on the ordering of the posts. Yaro needs to do the research which Warren appears to have already done.

  • Yaro says:

    I *have* done my research. Warren clearly didn’t.

    “See ISO/IEC 23270:2006 (C# standard) and ISO/IEC 23271:2006 (CLI [Common Language Infractructure] standard, which i”
    includes [but not exclusively] the CLR). It is both ISO and ECMA.”

    C# and CLI are not .NET. They’re built off of it. That doesn’t make .NET an ISO standard. .NET has NEVER been an ISO. Unless you can show me an ISO number for .NET, your argument fails. Saying C# proves mono is an ISO standard is like providing the existence of mustard that bread exists. Try again before shilling for .NET or Microsoft.

    I’ll do you one better. I did a little digging, on Wikipedia and elsewhere and found that .NET itself wasn’t standardized at all, and just C# and CLI which are .NET itself by a long shot, especially since there ARE patented elements and probably even unpublished elements (And if you don’t believe there are, you’ve never payed attention through all the Microsoft hidden API debacles which got them in deep crap with the EU.) which basically mean any public aspect of .NET that is “standard” meaningless in the first place.

    Remember also that ECMA is in Microsoft’s pocket, used along with tactics like committee stacking and even outright bribes to bring the unnecessary OOXML standard to ISO. (And you’re telling *me* to do research and you’re using ECMA as a defense for Mono?) I wouldn’t believe any ECME standard is a standard at all the way Microsoft controls it.

    If standards bodies actually followed half their guidelines, we wouldn’t have Mono, C#, OOXML, or Joliet. And I repeat myself, I wouldn’t trust ECMA any further than Microsoft the way they conducted themselves with OOCLY

    “Feel free to do the research which Yaro appears to have already done. Shuttleworth stated that there _could_ be a problem, not that there was. Your overamplification and lack of context in the whole of your discussion on Mono is an excellent tool to use in FUD.”

    I never said otherwise or anything, I said, quite plainly that Mark Shuttleworth said ther may or may not be a problem. how is that out of context or an overstatement? Here, I’ll repost my statement on what Shuttleworth thinks of mono:

    “As for Ubuntu, it’s simply a matter of Mark Shuttleworth not believing Mono is a problem… yet. Even he admitted, however, on his blog, that there could be problems with Mono in an IP sense.”

    Tell me where I said anything that was really different than you did. Please. I said he said there COULD be problems and that indeed he DIDN’T see any problems with it, just like you said he sais. Pay attention to what you read before shilling for Microsoft.

    “Also, read the in re Bilski decision completely. If you continue to assert that Mono is bad, provide proof as to why.”

    Read it. No relevance here, doesn’t say anything about how a standard can’t be patented even after the fact. It’s a nice read, but sadly, irrelevant here.

    So, again, where’s the proof .NET or Mono are anything BUT fake open standards that Microsoft shills like you and Warren seem to think are actually open?

  • Yaro says:

    Also, you’re missing my point, I forgot to add.

    Even if .NET were standardized through ISO and not pantented at all, it’s still a deathtrap since ONE company controls it (Microsoft.) Which ,eans that people may have a way to follow one form of .NET, but that will not and cannot stop Microsoft from completely abandoning the standard and locking in .NET developers anyway.

    And again, explain to me why, if .NET is such a safe standard like you erroneously claim, that only Novell is legally indemnified for using and developing Mono?

    And the point most these people are making is they don’t want Mono at any rate since it’s still a Windows technology that those in the majority of Linux usage don’t want. Lunux users don’t want Windows features, and don’t bring your Mono using Microsoft shills into it as they’re in the minority just by looking at the vast majority of comments against Mono verses the three or for for it. Linux users don’t want jumk like C#, Mono, or Moonlight bloating Linux up or slowing it down.

  • I have written a commercial application in .Net and someone asked me for a considerable ($100K’s) worth of a Linux alternative development. I had thought that possibly I could use Mono as a jump start. But I Googled for “Mono Rubbish” first to get the downside and found this thread.

    Having read at least about 2/3 of the above, it just confirms my opinion of what a disjointed mess the Open Source so-called “community” are and how much I should avoid your volatile in-fighting in which no technology, platform, collaboration or whatever you guys like to call them is really ever safe and guarantied decent long term support.

    You know what? I’m going to tell the guy my App is Windows only and find something equally profitable to do instead.

    …Should have listened to Cosmo. If you guys lived in the real world you would realise that he wasn’t so much backing Mono as pointing out that you all back stabbing and flaming each other makes Microsoft look like a welcome island of stability. Native C#.Net is at least well backed whatever you think of the backer, so no, I won’t be ‘dipping my toe’ in any of these rant infested waters!

    As for the people above who dissed MS C#.Net – well you are all script kiddies obsessed with your own cleverness aren’t you? It doesn’t take long in a production environment to appreciate that it’s the ease of team working and the power of the IDE that sells. Fact – C# is fast and cheap. Why? Because it creates clear, easy to read and maintain code that can readily be shared in a team production environment, plus the .Net libraries (on Windows obviously – I am not taking about Mono) are extensive, and rock solid reliable. Put together it’s easily the fastest to develop language I have used in 25 years of coding. And you know what? It’s programmer time and expense that is important in commerce. I don’t actually care that the execution speed is sub optimal. Big up to the people who mentioned that above (duh! bangs head on desk) – Look, I wrote code in the 80’s and computers were expensive and slow. Then you would have had a point. Now that PC’s are cheap and fast nobody cares how direct and fast your platform is over anyone else’s. …What does it look like, what facilities does it provide and how cheap and easy is it to code in? That’s what’s important.

    Sounds like a big rant but I am not actually anti open source!

    It just has a way to go, and the fact that you very clearly are not the “Community” you claim to be is part of that. Now quit squabbling, give each other a hug and by all means gang up on me instead. I’m sure at least that, you can agree on. :)

    PS. What do I think of the actual subject under discussion?

    …I think a woman and a pig in a dress are not quite the same thing.

    Thanks for pointing that out to me re Mono.

    An Outsider (Pro C#.Net Coder)

  • The_Pirate says:

    Thanks for this guide.

    I really do not want Mono, so this was a lovely, simple way out.

    Just FYI – it works perfectly on Ubuntu 9.04 too.

  • [...] for non-technical and personal reasons. I tried removing it and found that it worked so I wrote a post on how to remove Mono from Hardy. What amazed me was the huge surge in traffic to my lowly blog and [...]

  • Robert says:

    For those that want a replacement for Tomboy they can use GNote. It’s a port of Tomboy to C++. To get your notes from Tomboy to GNote just copy from .tomboy to .gnote all *.note files. Done. Mono free here now :)

    cp .tomboy/*.note .gnote/

Leave a Reply

XHTML: You can use these tags:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>