El siguiente texto lo traduje directamente de la página oficial de Mono:
"Aunque Linux en escritorio está madurando hacia una en una oferta de clase empresarial, el desarrollo de aplicaciones Linux sigue siendo una propuesta ambiciosa. El entorno actual de desarrollo de Linux, aunque potente, tiene una curva de aprendizaje muy pronunciada, y se limita en gran medida a Python, Perl, C y C++.
Los desarrolladores están adoptando cada vez más entornos de ejecución administrado, tales como. NET y Java. En estos ambientes, la responsabilidad de tareas como la creación de objetos, haciendo llamadas a métodos, la asignación de la gestión de la memoria y el acceso a los recursos del sistema operativo se deja a Language Runtime, que proporciona servicios adicionales a la ejecución de código. Los lenguajes administrados son más seguros que lenguajes como C o C++. Sin embargo, Java runtime systems comúnmente disponibles en Linux, carecen en el desempeño que demandas los clientes y las aplicaciones Java no se ajustan al look and feel del GUI de Linux .
.NET y su "nuevo" lenguaje, C #, sin embargo, ofrecen el rendimiento y la apariencia de código nativo. Con el Common Language Specification para los compiladores, el código se puede mezclar libremente a través de lenguajes: Java, C, C #, C, Python, etc. Además,. NET utiliza un mecanismo de compilación intermedia que permite el despliegue multi-plataforma de aplicaciones binarias.
La implementación de Mono sobre plataforma de desarrollo. NET, proporciona un entorno de desarrollo superior para escribir aplicaciones Linux con una productividad sin precedentes, permitiendo a los desarrolladores escribir clientes ricos, servicios web y aplicaciones de servidor y desplegarlos en Linux, NetWare, Mac OS y Microsoft Windows."
Ahora, ya entendiendo el porqué usar Mono en aplicaciones Linux o en cualquier otro SO, vamos a ver que fácil se instala tanto el runtime como Mono Develop, el IDE que más me gusta para Mono.
Desde GIT
En esta ocasión usaremos git para la descarga del soure, aunque también se puede bajar el tarball y compilar, a mi me gusta más esta forma.
Si no tienes instalado Git puedes leer una guía acá: https://git.wiki.kernel.org/index.php/Installation en caso de tenerlo, es recomendable actualizarlo si es necesario.
Ahora ya con git en nuestro sistema abrimos el terminal (en caso de no tenerlo abierto ya), vamos a un lugar en donde querramos tener el fuente de Mono, creamos una carpeta y ejecutamos lo siguiente:
Código:
$ git clone git://github.com/mono/mono.git
Cuando termine, vamos a la carpeta que creó y ahora ejecutamos esto:
Código:
$ cd mono
$ ./autogen.sh --prefix=/usr/local
$ make
$ make install
Luego:
Código:
make get-monolite-latest
make EXTERNAL_MCS=/foo/bar/gmcs.exe
make EXTERNAL_MCS="${PWD}/mcs/class/lib/monolite/gmcs.exe"
Ahora, si también necesitas usar System.Drawing.dll y System.Windows.Forms.dll necesitas hacer lo siguiente:
Código:
$ cd libgdiplus
$ ./autogen.sh --prefix=/usr/local
$ make
$ make install
Con esto configuramos, construimos e instalamos libgdiplus.
Usando Tarball
Esto es más sencillo pero menos útil si quieres mantener el source actualizado o hacer cambios y aportar a la comunidad. Primero descargar el tarball en http://ftp.novell.com/pub/mono/sources-stable/
Ahora desempacar el archivo: tar xzvf mono-X.XX.tar.gz; cd mono-X.XX
Y por último configurar, compilar e instalar! ./configure --prefix=/usr/local; make; make install
Con eso estamos listos para usar, solo hace falta descargar MonoDevelop que se puede hacer con apt-get install monodevelop
Un saludo!