When I teach programming classes, I find my students learn better when I include screen captures in my teaching materials. By showing step-by-step details using a digital projector, my students can visualize how the application works, making it quicker and easier for them to understand what I'm trying to explain.
When I was preparing materials for a Python class I recently taught to middle schoolers, I started wondering about the best screen-capture and screencasting applications for Linux, including which ones readers prefer. First, I asked my fellow Opensource.com Community Moderators for recommendations.
Chris Collins suggested Green Recorder, a new-to-me application built with Python, GTK+ 3, and FFmpeg. According to its GitHub repository, it is a "simple desktop recorder for Linux systems … [that] supports recording audio and video on almost all Linux interfaces."
Moshe Zadka mentioned Open Broadcaster Software (OBS), which is supported on Linux, MacOS, and Windows. I knew that OBS is frequently used for capturing, encoding, and broadcasting content, but I had not thought of using it for screencasting.
Seth Kenlon offered a couple of screen-capture utilities, including RecordMyDesktop and Vokoscreen. RecordMyDesktop has both a simple command-line tool and a graphical interface that makes the program more accessible to less-experienced users. Vokoscreen is "an easy to use screencast creator to record educational videos, live recordings of [the] browser, installation, and videoconferences," according to its GitHub code repository.
Seth also suggested a great command-line tool for screencasting. Make sure you have FFmpeg installed, then enter the following code at the command line:
$ ffmpeg -f x11grab -an -s hd1080 -r 25 \ -v:b 23000 -i :0.0 -g 1 -q:v 0.1 \ -vcodec libxvid screenCapture1.mp4
Bonus: Screen capture tools
Screen capture tools are important too, so I want to shift gears to call out a few favorites.
My favorite utility is GNOME Screenshot. From the command line: Use Print Screen to take a screenshot of the desktop. Use Alt+Print Screen to take a screenshot of a window. And use Shift+Print Screen to take a screenshot of any area you select. Press Control+Alt+Shift+R to start recording what is on your screen; a red circle appears in the top-right corner of the screen while recording is in progress. Press Control+Alt+Shift+R again to end the recording; you should find the result in your Videos folder.
Scott Nesbitt wrote about Scrot, a great tool for doing screen captures from the command line. I referenced his article when I used Scrot to prepare classroom materials for a class on the Raspberry Pi.