Need to capture the full screen, grab a single window, or select a region — Ubuntu has several tools for each task. Some are built in and work immediately, others offer more control: timers, annotations, cloud auto-save. Here is the complete picture.
Keyboard Shortcuts: Fast and No Setup
Ubuntu with GNOME supports screenshots out of the box — nothing needs to be installed.
| Keys | Result |
|---|---|
| Print Screen | Full screen capture |
| Alt + Print Screen | Active window only |
| Shift + Print Screen | Select region with mouse |
| Ctrl + Print Screen | Screenshot to clipboard |
| Ctrl + Alt + Print Screen | Active window to clipboard |
| Ctrl + Shift + Print Screen | Region to clipboard |
Starting with Ubuntu 22.04, pressing Print Screen opens the built-in Screenshot tool with mode selection — full screen, window, or region. Screenshots save to ~/Pictures/Screenshots/.
On laptops where Print Screen shares a key, try Fn + Print Screen.
GNOME Screenshot Tool
Open via Activities search → "Screenshot". The interface lets you choose mode and set a delay — useful for opening a menu before the capture.
Via terminal with the same capabilities:
gnome-screenshot
Active window only:
gnome-screenshot -w
Select region with mouse:
gnome-screenshot -a
Capture with 5-second delay (to open a menu or tooltip first):
gnome-screenshot -d 5
Save to a specific file:
gnome-screenshot -f /home/user/screen.png
Copy to clipboard without saving a file:
gnome-screenshot -c
Region with delay, save to file:
gnome-screenshot -a -d 3 -f ~/Desktop/selection.png
scrot: Lightweight Tool for Scripts and Servers
scrot runs without a GUI and is well suited for automation:
sudo apt install scrot
Capture full screen with date in filename:
scrot ~/Pictures/screenshot_%Y%m%d_%H%M%S.png
With 3-second delay:
scrot -d 3 screenshot.png
Select region with mouse (crosshair cursor):
scrot -s screenshot.png
Capture window under cursor:
scrot -u screenshot.png
Run a command after capture (e.g., open the file):
scrot screenshot.png -e 'eog $f'
$f is substituted with the filename of the created screenshot.
flameshot: Annotations and On-the-Spot Editing
Flameshot is a full-featured screenshot tool with drawing, arrows, blur, and crop available immediately after capture. Popular among developers and anyone who regularly creates documentation screenshots.
Install:
sudo apt install flameshot
Launch interactive mode:
flameshot gui
After selecting a region, a toolbar appears: rectangle, arrow, text, blur, color picker. Save or copy to clipboard directly from there.
Capture full screen silently:
flameshot full -p ~/Pictures/
Capture with 2-second delay:
flameshot gui -d 2000
import (ImageMagick): Screenshot from the Command Line
import is part of the ImageMagick package:
sudo apt install imagemagick
Capture full screen:
import -window root screenshot.png
Click to select window or region:
import screenshot.png
Resize during save:
import -window root -resize 50% screenshot.png
Screenshots on Wayland
Ubuntu 22.04+ uses Wayland by default. Most tools are adapted, but there are nuances.
Works on Wayland: GNOME keyboard shortcuts, gnome-screenshot, flameshot (version 12+).
Does not work: older scrot and import — they are built for Xorg and capture a black screen on Wayland.
Check current session:
echo $XDG_SESSION_TYPE
If output is wayland — use gnome-screenshot or grim for CLI tools.
Install grim — a native Wayland screenshot tool:
sudo apt install grim
Capture screen:
grim screenshot.png
Select region via slurp:
sudo apt install slurp
grim -g "$(slurp)" screenshot.png
Copy to clipboard:
grim - | wl-copy
Automatic Screenshots on a Schedule
Useful for monitoring or demonstrations:
while true; do
scrot ~/Pictures/auto/screenshot_%Y%m%d_%H%M%S.png
sleep 30
done
Via cron every 5 minutes:
crontab -e
*/5 * * * * DISPLAY=:0 scrot /home/user/Pictures/auto/screenshot_\%Y\%m\%d_\%H\%M\%S.png
DISPLAY=:0 is required — cron runs without a graphical environment.
Screenshots on Ubuntu Server (No GUI)
Ubuntu Server has no desktop — but to capture a virtual terminal framebuffer:
sudo apt install fbgrab
fbgrab screenshot.png
fbgrab captures the framebuffer. Works only on a physical display, not in an SSH session.
To capture terminal output in SSH — use tmux capture-pane:
tmux capture-pane -p > terminal_output.txt
If Screenshots Are Not Working
Print Screen does nothing — the shortcut may be reassigned. Check: Settings → Keyboard → Keyboard Shortcuts → System.
Black file saved on Wayland — scrot and older import do not support Wayland. Use gnome-screenshot or grim.
Screenshots folder not created — create it manually:
mkdir -p ~/Pictures/Screenshots
flameshot does not open on Wayland — verify version 12+ is installed:
flameshot --version
Quick Reference
| Task | Tool | Command |
|---|---|---|
| Full screen (fastest) | Keyboard | Print Screen |
| Active window | Keyboard | Alt + Print Screen |
| Select region | Keyboard | Shift + Print Screen |
| To clipboard | Keyboard | Ctrl + Print Screen |
| Via terminal | gnome-screenshot | gnome-screenshot -a |
| With delay | gnome-screenshot | gnome-screenshot -d 5 |
| For scripts (Xorg) | scrot | scrot -d 3 screen.png |
| With annotations | flameshot | flameshot gui |
| Wayland CLI | grim | grim -g "$(slurp)" screen.png |
| Timestamped auto | scrot | scrot ~/Pictures/screen_%Y%m%d.png |