Actually, the idea is very simple, but exact implementation depends on your desktop environment you are using and can be different even for every application like a
file manager which can have its own system of registration of
file types. With Linux (Ubuntu or not) there is big number of different options and their combination, do the research by yourself and find some settings convenient for you.
Here is the goal of all of it: mono can be used to either development or for running applications which usually are named as *.exe. You don't really need MonoDevelop, this is just the convenient IDE for development. It does not build anything, just uses mono, exactly as Visual Studio uses MSBuild.
The format is very simple. Assuming that your application main executable is located in the same directory as your current directory and named "application.exe", it looks like:
mono ./myApplication.exe
You need to define the file type by the name pattern *.exe to be opened with this command. Refer to the documentation of your desktop manager and/or your file manager.
—SA