Taking Screen Captures from the CLI with Scrot

(Note: This article was originally published at Opensource.com and appears here via a Creative Commons Attribution-Share Alike 4.0 International License.)

There are great tools on the Linux desktop for taking screen captures, such as KSnapshot and Shutter. Even the simple utility that comes with the GNOME desktop does a pretty good job of capturing screens. But what if you rarely need to take screen captures? Or you use a Linux distribution without a built-in capture tool, or an older computer with limited resources?

Turn to the command line and a little utility called Scrot. It does a fine job of taking simple screen captures, and it includes a few features that might surprise you.

Let's take a peek at it.

Getting Started

Many Linux distributions come with Scrot already installed — to check, type which scrot in a terminal window. If it isn't there, you can install Scrot using your distro's package manager. If you're willing to compile the code, grab it from GitHub.

To take a screen capture, crack open a terminal window and type scrot [filename], where [filename] is the name of file to which you want to save the image (for example, desktop.png). If you don't include a name for the file, Scrot will create one for you, such as 2017-09-24-185009_1687x938_scrot.png. That filename isn't as descriptive it could be, is it? That's why it's better to add one to the command.

Running Scrot with no options takes a screen capture of your entire desktop. If you don't want to do that, you can focus on smaller portions of your screen.

Taking a Screen Capture of a Single Window

Tell Scrot to take a screen capture of a single window by typing scrot -u [filename].

The -u option tells Scrot to grab the window currently in focus. That's usually the terminal window you're working in, which might not be the one you want.

To grab another window on your desktop, type scrot -s [filename].

The -s option lets you do one of two things:

You can also set a delay, which gives you a little more time to select the window that you want to capture. To do that, type scrot -u -d [num] [filename].

The -d option tells Scrot to wait before grabbing the window, and [num] is the number of seconds to wait. Specifying -d 5 (wait five seconds) should give you enough time to choose a window.

Some More Useful Options

Scrot offers a number of additional features (most of which I never use). The ones I find most useful include:

To learn about Scrot's other options, check out the its documentation by typing man scrot in a terminal window, or read the docs online. Then start snapping images of your screen.

It's basic, but Scrot gets the job done quickly and nicely.

Scott Nesbitt

#linux #cli