I need a free tool for online teaching. It has to record my desktop activity and transmit it over the Internet in real time to other person to watch.
VLC can do this, if you want to stream live.
For just recording, check out either gtkRecordMyDesktop (Linux) or Jing (free, but time limited on recordings) or Camtasia.
For even more functionality, a web conference tool like Big Blue Button may do the trick. Document sharing, desktop sharing, audio/video/chat, etc
You may want to look at using a course management system that has these types of tools built in - in which case, I use and for the most part love Canvas. Canvas has Big Blue Button built into it along with all sorts of other useful things for teaching both face to face and online.