ScreenshotNeo

BlogComparisons

Open-Source Screenshot Tools for Linux

Compare Flameshot, Ksnip, Shutter and Spectacle on Linux, including Wayland support, annotations, CLI capture, installation and troubleshooting.

By the ScreenshotNeo team1 October 20267 min read

Short answer: Start with Flameshot if you want fast region captures, built-in annotation and command-line control. Choose Ksnip when Wayland and portal support, delayed captures, uploads or scripting are central. Choose Spectacle for native KDE Plasma integration and background command-line capture. Choose Shutter if you need its GTK workflow or website-capture feature.

Your display session matters. X11, GNOME Wayland, Plasma Wayland and portal-based capture can behave differently, especially for global shortcuts and screen selection. Test the exact compositor and distribution release you deploy.

Quick comparison

Tool Best fit Wayland notes Annotations CLI or scripting
Flameshot Fast interactive regions with markup GNOME and Plasma Wayland support is experimental Arrows, highlights, blur or pixelation, text, borders, counters and boxes Yes
Ksnip Wayland coverage, delayed shots and uploads Documents GNOME Wayland, Plasma Wayland and xdg-desktop-portal Wayland Rich annotation tools Yes; global hotkeys on Linux are currently limited to X11
Spectacle KDE Plasma desktops Best integrated with Plasma Desktop-integrated annotation workflow Yes, including background mode
Shutter GTK users and website capture Verify behavior on your session Feature-rich editor Yes; website capture uses gnome-web-photo

1. Flameshot: the best general starting point

Flameshot is free and open-source screenshot software with an editor, customization and a command-line interface. Its editor can draw arrows, highlights, blur or pixelate sensitive areas, add text, borders, counters and solid color boxes. The project publishes packages for Arch, Debian, Ubuntu, Fedora, NixOS, Guix, openSUSE, Void, Solus and ALT, plus AppImage and Flatpak distributions.

Install

Use your distribution package when available, or follow the official installation instructions for AppImage and Flatpak. Package versions and desktop integration can differ between releases.

# Debian or Ubuntu
sudo apt install flameshot

# Fedora
sudo dnf install flameshot

# Flatpak
flatpak install flathub org.flameshot.Flameshot

Interactive and command-line captures

# Select a region interactively
flameshot gui

# Capture the entire screen and write a PNG
flameshot full -p "$HOME/Pictures/screenshot.png"

# Capture a specific screen when supported by your version
flameshot screen -p "$HOME/Pictures/screen.png"

# Print available options
flameshot --help

Run flameshot config to set the save directory, filename behavior, colors and other preferences. Bind flameshot gui to a desktop shortcut for one-key region capture.

Wayland considerations

Flameshot documents GNOME and Plasma Wayland support as experimental. On Wayland, the compositor and portal implementation control what a screenshot application can see. If a shortcut does nothing, launch the command manually, check the desktop portal, and test an X11 session to isolate the cause.

2. Ksnip: strong Wayland and automation coverage

Ksnip is a Qt screenshot and annotation tool supporting Linux X11, Plasma Wayland, GNOME Wayland and xdg-desktop-portal Wayland. It supports rectangular, focused-window and full-screen captures, cursor options, delayed capture, annotations, Imgur and FTP uploads, script-based uploads and command-line operation. PDF and PS output are available through its desktop packages.

# Install from Flathub
flatpak install flathub org.ksnip.ksnip

# Start the application
ksnip

# Inspect options provided by the installed version
ksnip --help

Use Ksnip’s settings to choose the capture mode, delay, cursor visibility, output format and upload target. Global hotkeys on Linux are currently available only on X11; on Wayland, use your desktop’s shortcut system or start Ksnip directly.

When Ksnip is the better choice

  • You need documented GNOME Wayland, Plasma Wayland and portal support.
  • You need a delay for menus, tooltips or transient windows.
  • You want annotations and an upload or post-processing script in the same workflow.
  • You need focused-window and full-screen modes in addition to a rectangle.

3. Spectacle: native KDE capture and background jobs

Spectacle is KDE’s Linux screenshot utility. It fits Plasma shortcuts, notifications and desktop settings, and its command-line interface includes a background mode that can capture without showing the GUI or requiring interaction.

# Install on Debian or Ubuntu systems with KDE packages
sudo apt install spectacle

# Start the graphical tool
spectacle

# Background capture to a file (check --help for version-specific switches)
spectacle -b -n -o "$HOME/Pictures/spectacle.png"

# View all options
spectacle --help

Use the graphical settings or Plasma System Settings to assign shortcuts for full-screen, current-window and rectangular captures. For unattended scripts, confirm the output path and options on the installed Spectacle version before deploying.

4. Shutter: GTK workflow and website capture

Shutter is a feature-rich GPLv3 screenshot program for Linux. It provides a GTK-oriented workflow and documents website capture using gnome-web-photo. This makes it useful when you need a browser-rendered page rather than only a desktop region.

# Install on Debian or Ubuntu systems where packaged
sudo apt install shutter

# Start the application
shutter

# See the switches available in your release
shutter --help

Because website capture depends on the installed browser helper and desktop libraries, verify the feature after upgrades. For a repeatable web-page pipeline, a browser automation tool or an API is usually easier to operate than a desktop application.

How to choose by task

Need Recommended choice Why
Quick region capture and markup Flameshot Fast editor, configurable shortcuts and broad packaging
GNOME or Plasma Wayland Ksnip Explicitly documents both Wayland sessions and portal capture
KDE Plasma integration Spectacle Native desktop behavior and background capture
Website capture from a GTK workflow Shutter Includes website capture through gnome-web-photo
Unattended web screenshots at scale ScreenshotNeo One HTTP request, cleanup before capture and billing only for clean shots

Wayland checklist

  1. Identify the session with echo $XDG_SESSION_TYPE.
  2. Record the compositor and desktop version.
  3. Install and enable the desktop’s screenshot or portal components.
  4. Test full-screen, window and region capture separately.
  5. Test keyboard shortcuts and pointer selection; they can have different portal permissions.
  6. Check whether the application documents your exact session as supported.
  7. Keep a fallback shortcut or use the desktop’s native screenshot utility.

Command-line and automation patterns

Save predictable files

mkdir -p "$HOME/Pictures/captures"
file="$HOME/Pictures/captures/$(date +%Y%m%d-%H%M%S).png"
flameshot full -p "$file"
printf 'Saved %s\n' "$file"

Run from a script

#!/usr/bin/env bash
set -euo pipefail
out="${1:-$HOME/Pictures/automated.png}"
mkdir -p "$(dirname "$out")"
flameshot full -p "$out"
test -s "$out"

For scheduled jobs, use absolute paths, create the destination directory, check the exit status and verify that the output file is non-empty. Desktop applications may require an active graphical session and a valid DISPLAY or Wayland environment.

Or skip the browser setup

For website screenshots, ScreenshotNeo handles the browser session behind one API call. Before capture it accepts cookie or consent banners and removes more than 60 known consent platforms, newsletter popups and chat widgets; each cleanup step can be disabled. Bot checks, blank pages, timeouts, failed loads and cache hits cost nothing, and response headers report the page verdict and whether the shot was billed. An MCP server provides take_screenshot, get_page_info and capture_pdf tools for Claude, Cursor and other MCP clients.

See the ScreenshotNeo API documentation for all options.

curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
import requests
r = requests.get("https://api.screenshotneo.com/v1/shot", params={"access_key": "YOUR_API_KEY", "url": "https://stripe.com"}, timeout=90)
open("shot.webp", "wb").write(r.content)
const q = new URLSearchParams({ access_key: 'YOUR_API_KEY', url: 'https://stripe.com' });
const res = await fetch(`https://api.screenshotneo.com/v1/shot?${q}`);

You can also capture a full page with lazy images loaded, select one element by CSS selector, set a device or viewport, use dark mode, retina scale, custom CSS or JavaScript, click before capture, hide selectors, wait for a selector, delay or network idle, block requests or resource types, provide headers, cookies, user agent, authorization, timezone or geolocation, create PDFs, resize images, cache with a chosen TTL, sign public image links, run async jobs with signed webhooks, capture up to 100 URLs per bulk call and query usage. Every feature is on every plan. The Free plan includes 1,000 screenshots each month with no card; paid plans start at $5 for 3,000.

Create a free ScreenshotNeo account and start with 1,000 screenshots per month without a card.

Troubleshooting

Symptom Likely cause Fix
Shortcut does nothing on Wayland Portal or compositor restrictions; unsupported global shortcut Run the tool directly, configure a desktop shortcut, check portal packages and test the documented session support
Black or empty capture Permission, portal or GPU integration problem Update the desktop portal and application, retry another capture mode and compare with the native desktop tool
Window is missing Window moved to another workspace or not exposed to the portal Use full-screen or region capture and confirm the window is visible before capture
CLI works manually but fails in cron No graphical session or environment variables Run inside the user session, provide required display variables and use an absolute output path
Website capture fails in Shutter gnome-web-photo or browser dependency is missing Install the helper required by your release or use a browser automation/API workflow
Output file is empty Capture command failed or destination is unwritable Check the exit code, permissions and parent directory, then test with a local path

Performance, reliability and cost

  • Desktop tools: Interactive captures are usually fastest when the image is already on screen. Full-screen and high-scale images use more memory. Saving to a local filesystem avoids network delays.
  • Wayland: Reliability depends on the compositor, portal version and permissions. Pin versions in managed environments and test after desktop upgrades.
  • Automation: Use deterministic paths, explicit delays for transient UI, exit-code checks and file-size checks. Keep a fallback capture method for unattended jobs.
  • Web pages: A desktop tool captures what is visible in a local browser. It does not automatically handle consent banners, bot checks, lazy loading or repeatable remote rendering.
  • ScreenshotNeo: Clean shots are billed; bot checks, blank pages, timeouts, failed loads and cache hits are not. The response includes X-Page-Verdict and X-Billed headers. Choose a cache TTL and use bulk or asynchronous jobs when many URLs must be processed.

FAQ

Which tool is best for most Linux users?

Flameshot is the strongest general starting point for interactive capture, annotation and CLI control. Check its Wayland status on your exact desktop before standardizing it.

Which tool has the clearest Wayland coverage?

Ksnip explicitly lists X11, Plasma Wayland, GNOME Wayland and xdg-desktop-portal Wayland support. Shortcut behavior still differs by session.

Can I take screenshots without opening a GUI?

Yes. Flameshot, Ksnip and Spectacle provide command-line workflows. Spectacle documents a background mode for unattended captures.

Are these tools suitable for remote website monitoring?

They can capture a browser running in a graphical session, but repeatable remote page rendering is simpler with an API such as ScreenshotNeo.

Do Wayland screenshots work identically across distributions?

No. Compositor, portal, desktop and package versions affect permissions, shortcuts and capture modes. Verify the exact environment you ship.