This may be a late reply but better late than never.
What is the best way to install and recognize the Kinect on Linux?
If you have a choice please opt for libfreenect (aka OpenKinect). It access the sensors at much lower level. If you have to go with OpenNI you must install SensorKinect driver as well.
Is it possible to run applications on computers Kinect ARM architecture?
Yes. Both OpenNI+Sensor Kinect and libfreenect work just fine on ARM architectures.
It is possible to develop applications for Kinect on Linux , with c#?
Yes. Check Mono. However, I do not trust the C# performance on linux/android. I never did on Windows either. On such a complicated platform I'd recommend Python wrappers. OpenNI has a mono wrapper and libfreenect does not. I think wrapping libfreenect into a mono wrapper is not that difficult considering they did it for Matlab.
Is it possible to do this with MonoDevelop? If yes, how to install or use the wrapper for this purpose?
Yes. 1) install dependancies (libusb, opengl, freeglut). 2) Clone and build OpenNI from github. 3) Clone and build SensorKinect from github.
PS. In OpenNI and SensorKinect folder edit Platform/Linux/Build/Common/Platform.Arm and comment out the "-mfloat-abi=softfp" CFLAG. This is essential when you build on ARM architecture since the processor has an FPU and is using hard floating point.
Does Microsoft user therms allow us to use Kinect on a different operating system, and sell a product with it?
As far as I know the answer is "Yes" (at least for Kinect 1). The Kinect sensor is an open architecture founded by PrimeSense (Apple bought this company now). Asus and other manufacturers relased several verisons of the same sensor. They are all supported by OpenNI. As for libfreenect support, you should keep an eye on the git hub users.