You have a lot of options if what you want is to take screencast (videos of your Desktop) in Linux.

But for me the simplier the better, and that is why I normally use ffmpeg

Just a simple command line, and you are taking your video. Here is the line.

ffmpeg -f x11grab -s 1280x1024 -r 25 -i :0.0 -sameq /tmp/screencast.mpg

You can change the resolution, to whatever fits your needs.

These are the options used here:

-r: Sets the frame rate, means, the number of pictures per second.

-s: Size, in this case 1280x1024 as that is the resolution of my screen.

-i :0.0: is the display.screen number of your X11 server.

-sameq: use video quality as source.

-f x11grab: Tells ffmpeg to capture x11 output, meaning your Desktop.

Now if you want to delay a littel the video, to arrange your screen, use sleep.

sleep 10 && ffmpeg -f x11grab -s 1280x1024 -r 25 -i :0.0 -sameq /tmp/screencast.mpg

Here is a small example of the result, I have limited to 800x600 so only a fraction of my Desktop has been recorded.