LinuxCNC works very well and can be configured for several variations of machine type.There aren't as many people using it,it seems,as there are using Mach of some variety because they are used to the Windows environment.You can download an iso and try it as a live install.
As far as desktop machines are concerned,you need to be aware that unsupported round rails won't be rigid enough to allow you to cut accurately in all materials.In fact they only really work with foam and the like.In addition they often come with spindles more suited to powering a pencil sharpener.