What is your favorite screen recording tool for Linux?

Weigh in on our poll.
109 readers like this
109 readers like this
Top 4 JavaScript code editors


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.

Educator, entrepreneur, open source advocate, life long learner, Python teacher. M.A. in Educational Psychology, MSED in Educational Leadership, Linux system administrator, Follow me at @Don_Watkins .


VSCode live share extension should help you share your ide directly, allowing you to demonstrate what you are doing as you are doing it

Spectacle on KDE works more or less the same as GNOME Screenshot.
As far as capturing video and audio, it should be a rare instance where you need these. Think of all the bad instructional videos out there, where most of the time is spent showing the creator's face. The biggest fundamental problem I have with video/streaming is that these are linear time-locked methods. Once you begin, you are locked into whatever useful and wasted time has been stitched together. There's no way to scan ahead, or intelligently skip forward or back. With fixed text and images on screen, like opensource.com webpages, I can scan through and decide if there is anything worth taking the time to read.

Our school uses Screencastify. Since it's a Google extension, it works pretty much the same way on every device (Windows computers, Linux computers, Chromebooks).

I use obs studio and ffmpeg.
Best screen capture settings Codec libx264 x264
Profile=baseline preset=ultrafast tune=zerolatency keyint=60 keyin_min=1 qp=0 fps=30 or 60 color range=limited or tv , color Trac matrix transfer all three to bt709

VLC media player, because I don't need an extra program. It isn't the best tool but it's usable.

I am trying out different video recording tools right now, but what I miss in this article is a way of showing keyboard press, like non alphanumerical characters.
I am using screenkey(1), which is can be modified to show your keys in a strip window.

Creative Commons LicenseThis work is licensed under a Creative Commons Attribution-Share Alike 4.0 International License.