How to Capture Your Screen in Linux: Methods, Tools, and What to Consider

Taking a screenshot in Linux is straightforward once you know your options — but unlike Windows or macOS, Linux doesn't enforce a single universal approach. The method that works best depends on your desktop environment, whether you need a quick capture or a scheduled one, and how you plan to use the image afterward.

The Built-In Keyboard Shortcuts (The Fastest Starting Point)

Most Linux desktop environments include native screenshot functionality tied to keyboard shortcuts. These work out of the box with no additional software.

Common default shortcuts across major desktops:

ShortcutWhat It Captures
Print ScreenFull screen
Alt + Print ScreenActive window only
Shift + Print ScreenUser-defined region (click and drag)

On GNOME (used by Ubuntu, Fedora, and others), pressing Print Screen opens an interactive screenshot overlay in newer versions. You can choose between full screen, a window, or a cropped region before saving.

On KDE Plasma, the built-in tool is Spectacle, which launches automatically when you press Print Screen. It offers additional options like including the cursor, adding a delay, or capturing a specific monitor in a multi-display setup.

XFCE, Cinnamon, and MATE each have their own screenshot utilities with similar shortcut behavior, though the exact feature set varies.

Command-Line Screenshot Tools 🖥️

If you prefer the terminal — or if you're working on a headless system or writing scripts — command-line tools give you precise control.

scrot is a lightweight, widely available utility for X11-based systems. A basic command looks like:

scrot screenshot.png 

You can add flags to capture a specific window (-u), introduce a delay in seconds (-d 5), or capture a selected region (-s). It's minimal by design, making it a reliable choice for automation.

gnome-screenshot can also be run from the terminal and accepts flags for window capture, delays, and border effects.

maim is a newer alternative to scrot with cleaner output and better support for transparency. It pairs well with slop, a selection tool that lets you draw a region on screen before capturing.

For Wayland-based sessions (increasingly common on modern Linux installs), X11 tools like scrot may not work correctly. In this case, grim is the standard screenshot tool, and slurp handles region selection — functioning similarly to the maim/slop combination on X11.

GUI Screenshot Applications

If you want more features without learning CLI flags, dedicated GUI tools offer a middle ground.

Flameshot is a popular open-source option available across distributions. It lets you annotate screenshots immediately after capture — adding arrows, text, blurs, and highlights before saving or copying. This makes it particularly useful for documentation, bug reports, or tutorials.

Shutter is an older but feature-rich tool that includes built-in editing and a plugin system. It's less actively maintained than Flameshot but still functional on many distributions.

Ksnip works across both X11 and Wayland and includes annotation tools, making it a flexible choice when you're not sure which display server your system uses.

Screen Recording vs. Screenshot: Knowing the Difference

A screenshot captures a single static frame. A screen recording captures video over time. These are separate tools, though some users conflate them.

For screen recording on Linux, tools like OBS Studio, SimpleScreenRecorder, or Kazam handle video capture. If your goal is to document a process that unfolds over multiple steps, a recording tool is more appropriate than a screenshot utility.

Some screenshot tools like Flameshot or Spectacle do not record video — they are image-capture only.

Variables That Affect Which Method Works for You

Not every tool works in every environment. Several factors shape which approach is actually practical:

  • Display server: X11 and Wayland have different screenshot APIs. Tools built for X11 may fail silently or partially on Wayland sessions.
  • Desktop environment: GNOME, KDE, XFCE, and tiling window managers like i3 or Sway each have different defaults and compatibility profiles.
  • Distribution: Some tools come pre-installed; others need to be added via your package manager (apt, dnf, pacman, etc.).
  • Use case: A developer automating screenshots in a CI pipeline has completely different needs from someone capturing a game clip or annotating a bug for a support ticket.
  • Technical comfort level: Command-line tools offer more control but require familiarity with flags and piping. GUI tools reduce friction but may offer fewer customization options.

Wayland Specifically Deserves Attention 🔍

Wayland is becoming the default display server on many modern Linux distributions, but the screenshot tooling ecosystem hasn't fully standardized yet. If you've migrated from an older system or upgraded your distro, screenshots that worked before might behave unexpectedly now.

Checking whether you're running X11 or Wayland matters before choosing a tool. You can verify this in a terminal with:

echo $XDG_SESSION_TYPE 

The output will be either x11 or wayland, which immediately narrows your compatible options.

How Files Are Saved and Where They Go

By default, most desktop screenshot tools save files to your Pictures or home directory, often with a timestamp in the filename. Command-line tools save to your current working directory unless you specify a full path.

Some tools also offer clipboard-only capture — the image is copied directly without creating a file. This is useful for quick pastes into documents or chat apps but means the screenshot is lost if you don't paste it before copying something else.

Understanding your storage behavior matters if you're capturing screenshots frequently, especially if you're working in an automated or scripted context where file naming and location need to be predictable.

The right combination of tool, shortcut, and workflow depends heavily on what your specific Linux setup looks like and what you're trying to accomplish with the captures.