How to take screenshot from Linux terminal
Most Linux distribution comes with a screen capture program, usually the default for each desktop environment. Such programs are Spectacle for KDE and shutter for GNOME. The default screen capture programs would integrate nicely with the desktop environment, utilizing keyboard keys and shortcuts.
If you're working from the command line, such as within an SSH session, you will need a command-line tool to capture your screen. Some dedicated tool for command-line screen capture such as scrot exists, but ImageMagick's import tool is a better option. ImageMagick is simply a swiss-knife tool for command-line image processing and is a good one at that too.
Steps to take screenshot from command line in Linux:
-
Launch your preferred terminal application.
-
Install imagemagick for your Linux distribution.
$ sudo apt update && sudo apt install --assume-yes imagemagick #Ubuntu and Debian
-
Use ImageMagick's import tool to capture screen from the terminal.
$ import -window root -pause 3 Screenshot-$(date --iso-8601=seconds).png
Capture options:
-
-window root: capture the entire screen
-
-pause 3: add a 3 seconds delay before creating screen shot, perhaps to close unnecessary application etc.
-
Screenshot-$(date –iso-8601=seconds).png: target file name to save the screenshot to, using date command to produce a timestamped filename.
More options for import:
$ import --help Version: ImageMagick 7.0.8-53 Q16 x86_64 2019-07-09 https://imagemagick.org Copyright: © 1999-2019 ImageMagick Studio LLC License: https://imagemagick.org/script/license.php Features: Cipher DPC HDRI Modules OpenMP(3.1) Delegates (built-in): bzlib freetype heic jng jp2 jpeg lcms ltdl lzma openexr png tiff webp xml zlib Usage: import [options ...] [ file ] Image Settings: -adjoin join images into a single multi-image file -border include window border in the output image -channel type apply option to select image channels -colorspace type alternate image colorspace -comment string annotate image with comment -compress type type of pixel compression when writing the image -define format:option define one or more image format options -density geometry horizontal and vertical density of the image -depth value image depth -descend obtain image by descending window hierarchy -display server X server to contact -dispose method layer disposal method -dither method apply error diffusion to image -delay value display the next image after pausing -encipher filename convert plain pixels to cipher pixels -endian type endianness (MSB or LSB) of the image -encoding type text encoding type -filter type use this filter when resizing an image -format "string" output formatted image characteristics -frame include window manager frame -gravity direction which direction to gravitate towards -identify identify the format and characteristics of the image -interlace type None, Line, Plane, or Partition -interpolate method pixel color interpolation method -label string assign a label to an image -limit type value Area, Disk, Map, or Memory resource limit -monitor monitor progress -page geometry size and location of an image canvas -pause seconds seconds delay between snapshots -pointsize value font point size -quality value JPEG/MIFF/PNG compression level -quiet suppress all warning messages -regard-warnings pay attention to warning messages -repage geometry size and location of an image canvas -respect-parentheses settings remain in effect until parenthesis boundary -sampling-factor geometry horizontal and vertical sampling factor -scene value image scene number -screen select image from root window -seed value seed a new sequence of pseudo-random numbers -set property value set an image property -silent operate silently, i.e. don't ring any bells -snaps value number of screen snapshots -support factor resize support: > 1.0 is blurry, < 1.0 is sharp -synchronize synchronize image to storage device -taint declare the image as modified -transparent-color color transparent color -treedepth value color tree depth -verbose print detailed information about the image -virtual-pixel method Constant, Edge, Mirror, or Tile -window id select window with this id or name root selects whole screen Image Operators: -annotate geometry text annotate the image with text -colors value preferred number of colors in the image -crop geometry preferred size and location of the cropped image -encipher filename convert plain pixels to cipher pixels -geometry geometry preferred size or location of the image -help print program options -monochrome transform image to black and white -negate replace every pixel with its complementary color -quantize colorspace reduce colors in this colorspace -resize geometry resize the image -rotate degrees apply Paeth rotation to the image -strip strip image of all profiles and comments -thumbnail geometry create a thumbnail of the image -transparent color make this color transparent within the image -trim trim image edges -type type image type Miscellaneous Options: -debug events display copious debugging information -help print program options -list type print a list of supported option arguments -log format format of debugging information -version print version information By default, 'file' is written in the MIFF image format. To specify a particular image format, precede the filename with an image format name and a colon (i.e. ps:image) or specify the image type as the filename suffix (i.e. image.ps). Specify 'file' as '-' for standard input or output.
-
-
Check output file to check if screenshot is properly captured.
$ file Screenshot-*.png Screenshot-2019-07-22T13:59:02+08:00.png: PNG image data, 800 x 610, 8-bit/color RGB, non-interlaced
-
Use other ImageMagick tools to further process saved screenshot (optional).