Once you go down the pain of getting Mono to run on Linux...you may as well have just written your program in Java (or something else).
While I loved working with C#, once we moved down the path of moving off Windows platform, it's just easier to learn a new language and change your tooling.
What's painful about 'apt-get install mono-runtime mono-mcs'? (or your distro's equivalent)
Its main target platform is/was Linux.
But once you started needed ASP.NET MVC, specific database drivers and setup, it become non trivial quickly, especially since stuff isn't as well documented as most other mainstream open source techs...
Edit: Also, to try and help our transition to running on Linux easier, we even integrated ServiceStack for a lot of the database drivers into the app. (Note: ServiceStack is one seriously great library if you are working in .NET-land)
Edit: Adding, that if I'm going to go through all this trouble to have a sub-set, and not-up-to-date version of the .NET framework and it's ecosystem to run as open source, I'd rather just use Java, and it's full ecosystem and be done with it.
Also, using MonoDevelop on my Mac was very uninspiring.
I am sure C# is the "Next Main Desktop App Dev. Language". I really wish MS would OPEN-SOURCE it one day. You can read article in my blog about that here (really short): http://anthonyakentiev.github.io/blog/2013/12/08/what-if-see...
I wish C# will be used freely everywhere - on Apple, on Android, on Linux... Really - Mono/Xamarin does not have a full .NET/CLR/C#/frameworks support.
First C++11 which added lots of interesting stuff. (Lambdas, move constructors, threads as part of the language spec, better smart pointers, and more.) Most of this was added in a very clever "C++ way" - for example lambdas that can be inlined as functors and can take advantage of copy constructors and RAII kind of blows my mind. Major compilers picked it up pretty quickly. Already people are talking about C++14.
I will agree that its history makes it a sort of Byzantine language (I really prefer the simplicity of C for a lot of things), but there is a lot to be optimisitic about for C++ in the last few years. With the latest standards and best practices the language it ought to have been for a long time is finally getting out.
What's wrong with Mono? I worked with C# only briefly and I really liked it (as opposed to Java.. but maybe I just had better tools). If I'd need something a bit faster than python, C# would probably be my choice. That's assuming it's portable to other platforms...