Shutter: The Ultimate Linux Screenshot Program

in Categories Howto, Open Source, Reviews last updated July 16, 2017

Shutter is a free, open-source, and feature-rich screenshot tool for GNU/Linux distributions. I use this tool frequently when I am creating resources for this site or our youtube channel, and it has not yet let me down.

This tool is a GTK+ screenshot application written in perl. You can take a screenshot of a specific area, window, your whole screen, or even of a website. You can apply different effects to it, draw on it to highlight points, and then upload to an image hosting site, all within one window.

How do I install shutter?

Simply type the following apt-get command/apt command to install shutter under Debian / Ubuntu Linux based system:
$ sudo apt-get install shutter
$ sudo apt install shutter gnome-web-photo
Sample outputs:

Fig,01: Install shutter using apt-get command
Fig,01: Install shutter using apt-get command

RHEL / CentOS / Fedora Linux user type the following yum command (turn on Fedora EPEL repo):
# yum install shutter

How do I start shutter?

Fig.02: Captured a cascading menu using shutter
Fig.02: Captured a cascading menu using shutter

Visit the following menu options:

Applications > Accessories > Shutter

Alternately, you can type the shutter command. Just starts shutter and takes a full screen screenshot of desktop directly:
shutter --full

You can start shutter in window selection mode to capture specific window (you need to select a window with your mouse):
shutter --window

Finally, you can start shutter in selection mode so that you can capture specific part of the screen:
shutter --selection

By default shutter will minimize and stay at systray as an icon. You can disable systray icon with the following option:
shutter --disable_systray
shutter --disable_systray --full

To capture a webpage, run:
$ shutter --web= -e
Sample outputs:

Fig.03: How to capture a webpage from Linux command line
Fig.03: How to capture a webpage from Linux command line

To see information about all other available options, run:
$ shutter --help
Sample outputs:

    shutter [options]

    Example 1
            shutter -a -p=myprofile --min_at_startup

    Example 2
            shutter -s=100,100,300,300 -e

    Example 3
            shutter --window=.*firefox.*

    Example 4
            shutter --web= -e

  Capture Mode Options:
    -s, --select=[X,Y,WIDTH,HEIGHT]
            Capture an area of the screen. Providing X,Y,WIDTH,HEIGHT is

    -f, --full
            Capture the entire screen.

    -w, --window=[NAME_PATTERN]
            Select a window to capture. Providing a NAME_PATTERN (Perl-style
            regex) ist optional.

    -a, --active
            Capture the current active window.

            Capture a section. You will be able to select any child window
            by moving the mouse over it.

    -m, --menu
            Capture a menu.

    -t, --tooltip
            Capture a tooltip.

            Capture a webpage. Providing an URL ist optional.

    -r, --redo
            Redo last screenshot.

  Settings Options:
    -p, --profile=NAME
            Load a specific profile on startup.

    -o, --output=FILENAME
            Specify a filename to save the screenshot to (overwrites any
            profile-related setting).

            Supported image formats: You can save to any popular image
            format (e.g. jpeg, png, gif, bmp). Additionally it is possible
            to save to pdf, ps or svg.

            Please note: There are several wildcards available, like

             %Y = year
             %m = month
             %d = day
             %T = time
             $w = width
             $h = height
             $name = multi-purpose (e.g. window title)
             $nb_name = like $name but without blanks in resulting strings
             $profile = name of current profile
             $R = random char (e.g. $RRRR = ag4r)
             %NN = counter

            The string is interpretted by strftime. See "man strftime" for
            more examples.

            As an example: shutter -f -e -o './%y-%m-%d_$w_$h.png' would
            create a file named '11-10-28_1280_800.png' in the current

    -d, --delay=SECONDS
            Wait n seconds before taking a screenshot.

    -c, --include_cursor
            Include cursor when taking a screenshot.

    -C, --remove_cursor
            Remove cursor when taking a screenshot.

  Application Options:
    -h, --help
            Prints a brief help message and exits.

    -v, --version
            Prints version information.

    --debug Prints a lot of debugging information to STDOUT.

            Clears cache, e.g. installed plugins, at startup.

            Starts Shutter minimized to tray.

            Disables systray icon.

    -e, --exit_after_capture
            Exit after the first capture has been made. This is useful when
            using Shutter in scripts.

    -n, --no_session
            Do not add the screenshot to the session. This is useful when
            using Shutter in scripts.


(Screenshot credit: Official project and nixCraft)

Check out related media

A quick video demo that explains how to use shutter program to capture screen, window and apply effects:

(Video.01: Shutter software demo )


Posted by: Vivek Gite

The author is the creator of nixCraft and a seasoned sysadmin, DevOps engineer, and a trainer for the Linux operating system/Unix shell scripting. Get the latest tutorials on SysAdmin, Linux/Unix and open source topics via RSS/XML feed or weekly email newsletter.

Share this on (or read 8 comments/add one below):

8 comment

  1. What’s the bloody point? Just about every desktop environment under Linux already comes with an application to capture screenshots. The extra features are nothing but gimmicks, that can be done by external tools probably more efficiently. Another Linux application that fills a much-needed gap.

  2. Exactly. There’s nothing better than Shutter – at least not on Linux.

    The only thing that lacks, is when you edit a picture and add a text or arrow, it should have shadows or borders, so that it is better visible.

Comments are closed.