Esto va a ser bastante corto.

1.- Abrir una consola

2.- Poner la siguiente linea: 

# sudo apt-get install mono mono-gmcs mono-gac mono-utils monodevelop monodoc monodoc-http

Con eso se instala la interfaz gráfica (MonoDevelop 0.10), el compilador de C# 2.0 (gmcs), el entorno de ejecución, etc. Tambien se instala el compilador de C# 1.0 (mcs) pero ese no compila cuando usas clases que no estaban disponibles sino hasta la especificacion 2.0 (ej. System.Collections.Generic), por lo cual yo prefiero gmcs.

Los paquetes monodoc y modoc-http son los paquetes de ayuda.

3.- Instalar paquetes extra:

Para desarrollar en Java con mono: 

#sudo apt-get install monodevelop-java

Para subir un servidor web para aplicaciones con ASP.NET 1.0 y 2.0 respectivamente

#sudo apt-get install mono-xsp

#sudo apt-get install mono-xsp2

Para usar un servidor apache en lugar del anterior, para ASP.NET 1.0 y 2.0 respectivamente:

#apt-get install mono-apache-server

#apt-get install mono-apache-server2

4. Aprendiendo a Compilar:

La interfaz gráfica de mono está bien para compilar aplicaciones GTK o Glade, pero no está diseñada para compilar aplicaciones de consola. No permite la entrada de datos desde el teclado. Suponiendo que tenemos un simple HolaMundo.cs, la forma en que tendriamos que compilarlo (desde la consola), sería:

#mcs HolaMundo.cs

ó

#gmcs HolaMundo.cs

Las lineas anteriores generarían un archivo exe (HolaMundo.exe) que contiene el CIL bytecode .

Para ejecutar ese archivo, desde consola:

#mono HolaMundo.exe

Ejecutarlo así, nos permite introducir datos desde el teclado.

Ahora, digamos que queremos enlazar ese archivo compilado a la compilacion de otro programa. Solo necesitamos poner (con mcs o gmcs):

#gmcs -lib: -r:HolaMundo.exe OtroPrograma.cs

Lo que genera OtroPrograma.exe .

Para ejecutar, solamente hay que hacer:

#mono OtroPrograma.exe