Shutter: The Ultimate Linux Screenshot Program

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

ADVERTISEMENTS

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
OR
$ 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 https://launchpad.net/ubuntu/+archive/primary/+files/libgoocanvas-common_1.0.0-1_all.deb
$ wget https://launchpad.net/ubuntu/+archive/primary/+files/libgoocanvas3_1.0.0-1_amd64.deb
$ wget https://launchpad.net/ubuntu/+archive/primary/+files/libgoo-canvas-perl_0.06-2ubuntu3_amd64.deb
$ 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 http://archive.ubuntu.com/ubuntu bionic/universe amd64 libextutils-depends-perl all 0.405-1 [15.5 kB]
Get:2 http://archive.ubuntu.com/ubuntu 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=https://www.cyberciti.biz/ -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:

Usage:
    shutter [options]

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=http://shutter-project.org/ -e

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

    -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.

    --section
            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.

    --web=[URL]
            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
            directory.

    -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.

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

    --min_at_startup
            Starts Shutter minimized to tray.

    --disable_systray
            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

References
🐧 Get the latest tutorials on SysAdmin, Linux/Unix, Open Source & DevOps topics via:
CategoryList of Unix and Linux commands
File Managementcat
FirewallCentOS 8 OpenSUSE RHEL 8 Ubuntu 16.04 Ubuntu 18.04 Ubuntu 20.04
Network Utilitiesdig host ip nmap
OpenVPNCentOS 7 CentOS 8 Debian 10 Debian 8/9 Ubuntu 18.04 Ubuntu 20.04
Package Managerapk apt
Processes Managementbg chroot cron disown fg jobs killall kill pidof pstree pwdx time
Searchinggrep whereis which
User Informationgroups id lastcomm last lid/libuser-lid logname members users whoami who w
WireGuard VPNCentOS 8 Debian 10 Firewall Ubuntu 20.04

ADVERTISEMENTS
8 comments… add one
  • colin Oct 30, 2012 @ 0:46

    Hi Nixcraft

    Just a typeo
    “Applications > Accessories > Sutter”

    Good tool.

  • Mark Oct 30, 2012 @ 19:53

    Very nice – works great in Ubuntu 12.10.

  • nons3ns Nov 1, 2012 @ 13:25

    thx, very nice.

    works with Mint 13, too :)

  • Jalal Hajigholamali Nov 2, 2012 @ 9:28

    Hi,

    Thanks a lot…

  • Ray Jan 17, 2014 @ 22:24

    An excellent tool – very functional. Unusually good for Linux.

  • Alexander Apr 26, 2017 @ 8:13

    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.

  • A B Apr 26, 2017 @ 20:46

    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.

Leave a Reply

Your email address will not be published. Required fields are marked *

Use HTML <pre>...</pre>, <code>...</code> and <kbd>...</kbd> for code samples.