Recording a terminal session for a tutorial? Or capturing a GUI bug on Linux? The screen recorder you choose directly affects file size, CPU load, and codec support. Unlike Windows or macOS, Linux offers a range of open-source tools, each optimized for different workflows. Below is a breakdown of the most reliable options, with installation commands and practical tips for getting good results.

Criteria for Choosing a Linux Screen Recorder
Consider these factors before picking a tool:
- Performance overhead: Some recorders use hardware encoding (VAAPI, NVENC) to reduce CPU load.
- Output format: MP4 with H.264 is widely compatible; WebM (VP9) is better for web embedding.
- Audio sources: Ability to capture system audio, microphone, or both simultaneously.
- Region/Window selection: Recording a specific area instead of the full screen saves disk space.
- Annotation and overlay: Useful for tutorials but not always needed.
1. OBS Studio – The Swiss Army Knife
OBS Studio is the most feature-rich screen recorder for Linux. It supports unlimited scenes, multiple audio tracks, and real-time compositing. It uses the obs-studio package on most distributions.
Installation:
sudo apt install obs-studio # Debian/Ubuntu
sudo dnf install obs-studio # Fedora
sudo pacman -S obs-studio # Arch Linux
OBS excels at recording gameplay or complex desktop interactions because it can mix sources (webcam, window capture, text overlays) without external tools. For beginners, the “Simple Output” mode reduces complexity: set a base resolution, choose a recording quality (Indistinguishable, High, etc.), and start. Advanced users can tweak encoder settings, add filters, and stream simultaneously.
Security note: OBS can also capture webcam feeds. If you are recording sensitive material, ensure you are not accidentally exposing private windows. Use the “Window Capture” source instead of “Display Capture” when possible.
2. SimpleScreenRecorder – Lightweight and Efficient
If OBS feels overwhelming, SimpleScreenRecorder (SSR) offers a clean interface with minimal dependencies. It records full screen, a fixed rectangle, or a specific window. SSR uses FFmpeg under the hood and supports hardware acceleration on Intel and NVIDIA GPUs.
Installation:
sudo apt install simplescreenrecorder # Debian/Ubuntu
sudo dnf install simplescreenrecorder # Fedora
SSR’s main advantage is its low memory footprint. On an older laptop with 4 GB RAM, SSR recorded a 1080p terminal session at 30 FPS with less than 5% CPU usage when using VAAPI. The output file size is also predictable because you can set a constant rate factor (CRF) for H.264 encoding.
Tip: To record system audio on PulseAudio, select “PulseAudio” as the audio source and choose “Monitor of Built-in Audio Analog Stereo”. On PipeWire systems, use the “PipeWire” backend.

3. Kazam – Simple and Straightforward
Kazam is a GTK-based recorder that focuses on ease of use. It records the entire screen, a specific area, or a single window. Kazam also includes a screencast mode that records only the active window, automatically following focus changes.
Installation:
sudo apt install kazam # Debian/Ubuntu
sudo dnf install kazam # Fedora (in RPM Fusion)
Kazam lacks advanced features like scene switching or webcam overlays, but its simplicity makes it ideal for quick recordings. A common use case is recording a bug reproduction for a Jira ticket. The output is saved in WebM (VP8/VP9) by default, which can be converted later with FFmpeg.
Limitation: Kazam does not support hardware encoding on all GPUs. If you need high-FPS recording of a game, stick with OBS or SSR.
4. Peek – Animated GIF and Video Snippets
Peek is a specialized recorder for creating short, looped animations in GIF or WebM format. It records a fixed region of the screen and automatically stops when you press the stop button or when the window loses focus (configurable).
Installation:
sudo apt install peek # Debian/Ubuntu
sudo dnf install peek # Fedora (from COPR or Flathub)
Peek is perfect for documenting a specific workflow, such as clicking through menu options or demonstrating a terminal command sequence. The output is optimized for small file sizes—a 10-second GIF of a terminal session typically stays under 2 MB. For higher quality, switch to WebM output.
Privacy tip: Peek records only the selected rectangle. If you are demonstrating an app that shows personal data, resize the rectangle to exclude sensitive areas.
5. Kooha – Minimalist GTK4 Recorder
Kooha is a newer recorder built with GTK4 and designed for simplicity. It offers a one-click record experience with support for MP4, WebM, and GIF output. Kooha uses hardware encoding when available (VAAPI on Intel/AMD, NVENC on NVIDIA).
Installation: Available as a Flatpak from Flathub:
flatpak install flathub io.github.seadve.Kooha
Kooha’s interface is clean: a small window with a record button, a dropdown for output format, and a region selector. It does not support audio mixing or overlays, but for quick captures it is faster than launching OBS.
6. vokoscreenNG – Feature-Rich Yet Approachable
vokoscreenNG is a Qt-based recorder that offers similar features to OBS but with a more guided workflow. It includes a built-in countdown timer, camera overlay, and support for multiple audio devices. It is particularly popular among educators creating Linux tutorials.
Installation:
sudo apt install vokoscreen-ng # Debian/Ubuntu
sudo dnf install vokoscreen-ng # Fedora
One standout feature is the ability to record a specific window while also showing a small webcam feed in the corner. This is useful for instructor-led videos without needing a separate compositor. vokoscreenNG also supports saving to MKV, which is robust against crashes (if the recorder crashes, the partially written file is still playable).
Hardware Encoding and Performance Considerations
All modern Linux screen recorders can use hardware video encoders if your system supports them. Check with vainfo (for VAAPI) or nvidia-smi (for NVENC). On a laptop with an Intel iGPU, using VAAPI can reduce CPU usage from 40% to under 10% for 1080p recording. To enable hardware encoding in OBS, go to Settings → Output → Recording → Encoder and select “Hardware (VAAPI)” or “NVENC H.264”.
Recording System Audio on Modern Linux
With the transition from PulseAudio to PipeWire, capturing system audio (the sound from your speakers) requires a small configuration change. In PipeWire, you need to create a virtual sink or use the “Monitor” source. Most recorders now detect PipeWire automatically. If you cannot hear system audio in your recording, open the recorder’s audio settings and choose “PipeWire Capture” or “Monitor of Built-in Audio”. For PulseAudio users, the same principle applies—select the monitor device.
Security and Privacy While Recording
Screen recorders can inadvertently capture sensitive information: open banking websites, private messages, or terminal outputs containing passwords. Before starting a recording, close all windows that are not part of the tutorial. Use region or window capture instead of full-screen capture whenever possible. If you must record a full desktop, consider blurring sensitive areas in post-production with a tool like FFmpeg’s delogo filter. Also, be aware that some recorders store temporary files in /tmp—ensure /tmp is not world-readable if you are recording confidential material.
For a deeper look at protecting your digital footprint, our guide on Anonymous Browsers: How They Work and Which One to Choose covers browser-level privacy measures that complement safe recording practices.
Command-Line Recording with FFmpeg
For users who prefer the terminal, FFmpeg can record the screen directly. This is useful for scripting automated recordings or for headless servers with a virtual display (Xvfb). Example command to record a 1920×1080 region at 30 FPS with H.264:
ffmpeg -f x11grab -framerate 30 -video_size 1920x1080 -i :0.0+0,0 -c:v libx264 -crf 23 output.mp4
Replace :0.0+0,0 with your display and offset. To capture audio, add -f pulse -i default. This method gives you full control over encoding parameters but lacks a preview window.
Final Recommendation
If you are new to Linux screen recording, start with SimpleScreenRecorder for a solid balance of features and performance. For streaming or advanced compositing, OBS Studio is the industry standard. And for quick GIF captures of a specific workflow, Peek’s automatic stop on window focus loss is a real time-saver – I keep it pinned to my panel for those “how did I do that?” moments.
