After more playing around with Linux I decided to take the plunge and wipe my main desktop PC and install it natively. I have been trying out both Linux Mint and Elementary OS for a few weeks now in a Virtual Box VM to see whether the desktop experience is any good, and I am glad to say that it has now matured perfectly.
I first decided to install Elementary OS natively. This worked fine on my laptop, but there was a problem when I installed it onto my PC. There seems to be an annoying display bug where the screen just flips out if you have multiple monitors attached. This looks to be a known issue, but I am not sure when it will be fixed. This is a shame as Elementary OS has a nicer look and feel to Linux Mint, but after recently shelling out for 2 very nice 24inch flat panel monitors, I wasn’t going to be in a position where I could only use one of them. Elementary OS worked fine though if you unplugged one of the screens.
Next up I decided to install Linux Mint, which in itself is an amazing distribution. The installation process for this was very smooth and within 15 minutes my PC was wiped and I was logging into a fresh install of Linux. Everything worked as expected, sound, display, usb etc. I spent an hour or so installing updates and some applications (Mono Develop, xMind, Cairo Dock etc) and I was all done.
So Now What?
There is a method to my madness as to why I am switching to Linux. I am still a committed .NET developer and I love the C# language and platform, but I really want to try some cross platform development. My recent brush with open source development (SafePad and Text Shredder) have both gone well, but I want to be more cross platform.
Both of my applications do run on Linux by the way. They were developed using Windows Forms. This is supported on Mono, but the user interface, although works fine, looks a little odd on Linux.
What I want to experiment with now, is using the GTK# library to create some cross platform applications for both Linux and Windows. I intend to do this using the Mono Develop IDE. Mono looks very good and it is well supported by the community and Xamarin. I haven’t ditched windows completely though. I have installed Virtual Box on Linux and created a Windows 8 virtual machine that runs really smoothly. I can use this for testing my cross platform code (I will be developing primarily on Linux) plus any other applications that I may need to run for work that don’t work on Linux. I will document my steps on this blog for anyone that is interested in similar work.