Shutter: The Ultimate Linux Screenshot Program

last updated in Categories Howto, Open Source, Reviews

Shutter is a free, open-source, feature-rich, and ultimate Linux screenshot program screenshot tool for GNU/Linux distributions. I use this tool frequently when I am creating resources for this site or my 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.
Shutter: The Ultimate Linux Screenshot Program


How do I install shutter the ultimate Linux screenshot Program?

Simply type the following apt-get command/apt command to install shutter under a Debian / Ubuntu Linux based system:
$ sudo apt-get install shutter gnome-web-photo libgoo-canvas-perl
$ sudo apt install shutter gnome-web-photo libgoo-canvas-perl
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 to fix disabled edit button in Shutter in Ubuntu Linux 18.04 LTS

Some libs are missing as this package is not updated in ages and removed from version 18.04 LTS. But, fear not, you can fix it quickly as follows. You need to type the following wget command and dpkg command/apt command:
$ sudo apt install shutter
$ wget
$ wget
$ wget
$ sudo dpkg -i *.deb
$ sudo apt --fix-broken install

Reading package lists... Done
Building dependency tree       
Reading state information... Done
Correcting dependencies... Done
The following additional packages will be installed:
  libextutils-depends-perl libextutils-pkgconfig-perl
The following NEW packages will be installed:
  libextutils-depends-perl libextutils-pkgconfig-perl
0 upgraded, 2 newly installed, 0 to remove and 21 not upgraded.
1 not fully installed or removed.
Need to get 24.7 kB of archives.
After this operation, 65.5 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 bionic/universe amd64 libextutils-depends-perl all 0.405-1 [15.5 kB]
Get:2 bionic/universe amd64 libextutils-pkgconfig-perl all 1.16-1 [9,260 B]
Fetched 24.7 kB in 1s (31.1 kB/s)                     
Selecting previously unselected package libextutils-depends-perl.
(Reading database ... 280309 files and directories currently installed.)
Preparing to unpack .../libextutils-depends-perl_0.405-1_all.deb ...
Unpacking libextutils-depends-perl (0.405-1) ...
Selecting previously unselected package libextutils-pkgconfig-perl.
Preparing to unpack .../libextutils-pkgconfig-perl_1.16-1_all.deb ...
Unpacking libextutils-pkgconfig-perl (1.16-1) ...
Setting up libextutils-depends-perl (0.405-1) ...
Setting up libextutils-pkgconfig-perl (1.16-1) ...
Processing triggers for man-db (2.8.3-2) ...
Setting up libgoo-canvas-perl (0.06-2ubuntu3) ...

How do I start shutter?

Captured a cascading menu using shutter
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.

Screenshots for the Ultimate Linux Screenshot Program

(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:

See also



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.

Start the discussion at

Historical Comment Archive

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.

    Still, have a question? Get help on our forum!