5 tools to record Linux desktops in 2020 (screenshots)

This article introduces 5 tools for recording Linux desktops. All work is done under X11, and there are some solutions that can be used to record Linux screens under Wayland.
I skipped apps that are no longer maintained, such as Kazan, Screen studio Either Green recorder. Even if they still work, there are still many errors that may never be fixed.
This article originally only included 4 screen capture tools, but then I added another (RecApp).SimpleScreenRecorder It is a Qt5 screen recorder for X11 and supports OpenGL. Despite its name, this is a feature-rich screen recorder. The actual meaning of its name is that it is easy to use this application to record the screen due to its reasonable default settings (no adjustments are required to get started).
It should also be noted that the tool will not attempt to perform any operations other than recording the screen.
Although it has many functions related to screen recording, as you will see below, SimpleScreenRecorder does not have any other functions. Cannot record live webcam (you can use other applications), can not add any effects, text or similar content. SimpleScreenRecorder

This application is for desktop recording only, put everything else you might want to add on top of other applications, such as a dedicated webcam application or video editor.
SimpleScreenRecorder features:

  • Record the entire screen (including all screens or specific screens in multi-monitor settings), fixed rectangles, application windows, follow the cursor or record OpenGL programs
  • Configurable recording coordinates and frame rate, zoom video, optionally record (or exclude) the mouse cursor
  • Record audio-allow to select the backend (ALSA, PulseAudio, JACK) and source
  • It uses libavformat (part of FFmpeg) to encode recorded material into various video formats. It supports Matroska (MKV), MP4, WebM, OGG and other containers, as well as H.264, VP8 and Theora video codecs and Vorbis, MP3, AAC audio codecs, etc. There are also options to choose the desired bitrate (for Theora and VP8) or preset (for H.264)
  • Keyboard shortcuts for start, pause and resume recording

At first, its user interface as simple as a wizard seems a bit confusing, but the tool is very easy to use and powerful. My suggestion is to use the default values, so only interact with the application when you choose what you want to record: the entire screen, a window, a rectangle drawn on the screen (if you want to record audio), and leave the encoding to the default value .
After recording the screen multiple times, you can try different quality settings. But in most cases, just using the default settings is sufficient to produce high-quality Linux desktop records.

Click the button above to enter the SimpleScreenRecorder installation page, you will find information on how to install on a large number of Linux distributions (such as Arch Linux, Fedora, Debian, Ubuntu, Linux Mint, openSUSE, Red Hat Enterprise Linux, CentOS, Mageia, NixOS, etc.).

2. GNOME/Cinnamon built-in video screen recorder

Both GNOME and Cinnamon have a built-in screen recorder that uses GStreamer in the background. If you use one of these two desktop environments, this is the quickest way to record the Linux desktop. However, this built-in screen recorder will not record any sound (from the microphone or from the desktop application). Again, this will record all monitors in a multi-monitor setup, and there is no way to select which monitor to record. Therefore, if you want to use this feature, but only want to record one monitor, you need to disable other monitors in the system settings. But I only tested the GNOME screen recorder on multiple monitors, because Cinnamon is not installed on my computer. It should be noted that the built-in GNOME screen recorder supports both Wayland and X11. The built-in GNOME and Cinnamon screens can be used Ctrl + Alt + Shift + R Keyboard shortcuts (can be changed in Cinnamon’s “System Settings”, but not on GNOME), and the output video is recorded in the WebM container at 30fps, where VP9 is used as the video codec on GNOME (in GNOME Tested on 3.34), and VP8 on the Cinnamon desktop (tested on Cinnamon 4.0). When recording, a dot will appear near the system menu in the top bar of GNOME Shell:GNOME Shell built-in screen recorder

The generated screencast WebM video is saved in GNOME’s ~/Videos folder (named Screencast from DATE TIME.webm) And directly in Cinnamon’s home directory (named cinnamon-date.webm). The video is not ready immediately, you need to wait a while before encoding the video. In GNOME (not applicable to Cinnamon), the default screenshot time is 30 seconds, after which recording stops automatically. You can change this maximum screenshot length to another value using the following methods:

gsettings set org.gnome.settings-daemon.plugins.media-keys max-screencast-length 600

Replace 600 (600 seconds = 10 minutes) with the number of seconds to set the maximum screenshot length. Set it to 0, so there is no limit to the length of the screenshot.
You can use it at any time regardless of the screenshot restrictions you set Ctrl + Alt + Shift + R Keyboard shortcuts. EasyScreenCast has a GNOME Shell extension called EasyScreenCast, Which utilizes the integrated video recording function in GNOME Shell, but provides some other options, such as:

  • Ability to select audio source
  • Record webcam source on the desktop
  • Select the area to be recorded (all monitors, monitors, windows or rectangular areas)
  • Allow setting video quality
  • Set the file container (WebM with VP9 or VP8 encoder, MKV with x264 encoder, MP4 with x264 encoder or OGG with Theora encoder)
  • Select file resolution, file name and destination folder

EasyScreenCastTo use this EasyScreenCast extension in GNOME, you need to install it from source code following the instructions below Instructions on the GitHub page. Do not install it from the official GNOME Shell extension website, because it does not apply to newer GNOME Shell versions.
It is also worth noting here that Weston (Wayland synthesizer) also has a built-in screen recording function. To record a screenshot (without audio) when using Weston, press Ctrl + R (This will start and stop recording). The video recorded in this way has the extension .wcap, which is a lossless video format proprietary to Weston. Need to create a short demonstration of a feature or error? See also Peek, a tool that can record the screen as a GIF animation.

3. OBS Studio

OBS (Open Broadcasting Software) Studio It is a free and open source Qt application for video recording and real-time streaming. It can run on Linux, macOS and Windows.
The tool can be broadcast to any RTMP supported target and has presets that can be streamed on YouTube, Twitch, Instagram, and Facebook. But for this article, we are more interested in its video recording function. OBSStudio is the most advanced application used to record Linux desktops from this list. It has many functions, such as adding live or recorded video, adding text on top of the video, mixing audio, applying effects, viewing real-time previews, etc. Therefore, it seems more difficult to use than the other tools described in this article, but it is not the case.OBS Studio LinuxAlso note that, by default, OBS Studio cannot record the desktop on Wayland (and the application itself does not run under Wayland, so you must run under XWayland). However, you can record (broadcast) your desktop under Wayland under OB Studio by using plug-ins such as OB Studio. obs-xdg-portal Plugins (can be used with Wayland and X11 on GNOME and KDE, and maybe with other plugins), or GNOME Screen Cast OBS Studio Plug-in (applicable to all GNOME sessions, including Wayland).
OBS Studio features:

  • High-performance real-time audio and video capture and mixing
  • Create an unlimited number of scenes and switch them seamlessly with custom transitions (a scene can contain multiple sources, including window captures, images, text, browser windows, webcams, capture cards, etc.)
  • Audio mixer with filter by source
  • Use libavcodec/libavformat (part of FFmpeg) to support various containers/codecs
  • Modular base user interface allows you to re-layout according to your preferences
  • Keyboard shortcuts
  • Support plugin

When you start OBS Studio for the first time, the “Automatic Configuration Wizard” will be displayed, allowing you to choose whether you plan to use OBS Studio primarily for broadcasting or recording, and then perform a series of tests to automatically configure everything about your computer hardware. Install OBS StudioYou can also choose to install OBS Studio on any Linux distribution that supports Flatpak in the following ways: Use Flathub package (It comes with a built-in obs-xdg-portal plug-in-this can make screen recording work under Wayland). Use OBS Studio to record X11 Linux desktop
To record the desktop using OBS Studio, you need to add a screen capture as a source. To do this, click + Slave button Sources The bottom part of the OBS Studio window, and then add Screen Capture (XSHM). You will be prompted to select a screen (if there are multiple screens), and enable or disable capturing the mouse cursor.
After adding the screen capture video source, you can record the screen. However, you may not only simply record the desktop, but also a way to add screen capture sources, you may also need to add audio devices, webcam sources (video capture devices), add multiple scenes, transitions, and whatever you like.
After you finish everything you want to show in the screenshot, click Start Recording Button to start recording. After you stop recording with the same button, your screencast video will be saved in the main folder and its date and time will be recorded as the file name.
By the way, if you want to stream your desktop instead of recording it, you need to configure the streaming source, such as Twitch or YouTube, in OBS Studio SettingsIn Stream label. After everything is set, click Start Streaming.
You can change the format, quality, encoder, etc. of the stream and recorded video in OBS Studio. Settings -> Output. Also note that on my machine, the default setting for recording video output is 1280×720, so if you want to record a full HD video, please change it to 1920×1080. Settings -> Video -> Output (Scaled) Resolution Use OBS Studio to record Wayland Linux desktop
By default, OBS Studio cannot record Linux desktops under Wayland (and the application itself needs to run under XWayland), but this can be done using plugins:

For testing purposes, I used the obs-xdg-portal plugin to record my desktop through OBS Studio under Wayland (XWayland). The plug-in is already included in the OBS Studio Flathub software package, so if you use the plug-in to install it, it should be available.
With this plugin, the only difference between the instructions that already existed between “Record X11 Linux Desktop in OBS Studio” and Wayland uses this instruction is the desktop recording source. If you use OBS Studio on X11 by default, you must add Screen Capture (XSHM) Down Sources To be able to record the screen, it must be added using the obs-xdg-portal plugin Desktop Screencast (Wayland / X11) Resources.

4. vokoscreenNG

vokoscreenNG It is a free and open source screen broadcast for Linux and Windows. The app is a continuation of the old version Vokoscreen 2.5, It was rewritten from scratch and based on Qt5 and GStreamer (the old version of Vokoscreen used FFmpeg).
Like SimpleScreenRecorder, vokoscreenNG is an easy-to-use but powerful screen recording tool. It does not support Wayland yet, so you need to use an X11 session to use it immediately.
vokoscreenNG can be used to record videos from computer screens, webcams, external cameras, etc. It is very suitable for making educational videos with video and sound, tutorials, recording video conferences, etc.vokoscreenNG

vokoscreenNG features:

  • Record full screen, window, rectangular area with optional video zoom and magnification​​​
  • recording
  • Start recording video in a few seconds
  • Schedule recording time: The application supports automatically starting desktop recording at a given time and stopping recording after a given number of hours, minutes and/or seconds
  • Configurable screen camera with vertical or horizontal flip, reverse, gray, black and white, delete window frame and frame size options
  • Built-in video player for playing recorded screenshots
  • Use GStreamer and support MKV, WebM, MP4, AVI and MOV containers with x264/H.264 (Intel GPU) and VP8 video codecs, as well as MP3, FLAC, Opus and Vorbis audio with configurable quality and frame rate

Install vokoscreenNG
The newly rewritten vokoscreenNG has recently been adopted by some Linux distributions, so it can be used in the Fedora repository (using sudo dnf install vokoscreenNG;You need to use it under X11 session, not the default Wayland session included with Fedora Workstation), openSUSE Leap 15.2 and Tumbleweed, Debian (buster, bullseye and sid; please use sudo apt install vokoscreen-ng) And Ubuntu 20.04 Focal Fossa (using sudo apt install vokoscreen-ng). For Arch Linux / Manjaro users (such as vokoscreen).
It is not available in earlier Ubuntu versions, Flathub or Snap Store, so in this case you must Install from source immediately.

5. RecApp

RecApp It is a new simple screen recording tool written in GTK, which uses the GStreamer module to record the screen. The application is available on X11, and some are available on Wayland*, it supports recording the entire screen or the area you can draw with the mouse.RecApp screenshot tool

Through its settings, you can set the number of frames per second to be used in the screencast video, you can also choose to delay recording, record audio from the app, and include the mouse cursor when recording. There is also an option to create high-quality videos.
In my test, an application that cannot play audio on a desktop computer recorded sound. Edit: After I switched the “Output Device” in “System Settings” from Headphones to HDMI, this method finally worked.
*On Fedora, I can use this application to record the desktop under Wayland (but it doesn’t work on Ubuntu using Wayland), but only the entire screen. The option to record the screen area is not available, which is to be expected because it uses Slop (X11 only). On Fedora and Ubuntu, I tested an application installed from the same source: Flathub.Install RecApp
RecApp is available in the Fedora repository, so if you use this Linux distribution, use the following command to install it:

sudo dnf install recapp

Arch Linux/Manjaro users can install RecApp from the following locations AUR.
On other Linux distributions, the easiest way to install RecApp is to use the Flathub repository. Set up Flatpak and Flathub If it is not already installed, use the following command to install RecApp:

flatpak install flathub com.github.amikha1lov.RecApp

You can also install From sourceWant to record your Android screen? You can do this with scrcpy, a tool that mirrors the display of your Android device to the Linux (and other OS) desktop. scrcpy has a built-in screen recording function. I also recommend you to check guiscrcpy, which is a helper graphical user interface that runs on top of scrcpy.

in conclusion

I created a short screencast using the following audio Each tool (Using GNOME’s built-in screenshot tool and OBS, I have recorded screenshots on X11 and Wayland, so you can analyze it to have a very broad understanding of the quality and performance of the screenshots. I did not use the built-in Cinnamon screen broadcast program to create screen broadcast, because I only installed Cinnamon in the virtual machine, its performance will be affected.
I can’t use the same settings for all settings, because for example, the built-in GNOME screen broadcast program can only generate WEBM files, and there is no quality setting, SimpleScreenRecorder does not allow setting the bit rate when selecting the H.264 codec, and so on. , This obviously depends on the hardware used, so it’s best to try these applications yourself and see how they run on your own computer. In addition, for most of these tools, you can get better quality by changing their settings.
But I noticed a few things during the test:

  • The built-in GNOME screenshot tool seems to be a bit choppy under X11 (most obvious when moving the window), at least on my computer (GNOME 3.34), but it can be used normally on Wayland
  • OBS Studio under Wayland (with obs-xdg-portal plug-in built-in when installing OBS from Flathub) seems to skip some frames sometimes. This does not happen when recording under X11
  • The video created by vokoscreenNG and EasyScreencast has only 1 audio channel, while all the other tools I use to record video and audio have created 2 audio channels of output

If you ask me, for example, if I want to take a short screenshot on Wayland, I will use the built-in GNOME screenshot tool, even if I have to record the sound separately and add it to the video using a video editor. For screen recordings that include all real-time information, including real-time webcams, sounds from microphones, etc., I will choose OBS Studio under Wayland and X11. For screen recording under X11, where I only want to record the desktop (regardless of the desktop environment) without a camera, I would choose SimpleScreenRecorder.
Finally, choose the screenshot tool that you like to use or that is best for your recording. Try these tools and decide for yourself which is best for you.