Difference between revisions of "Screen capture"

From ArchWiki
Jump to: navigation, search
m (A small caveat relevant to Openbox)
(ImageMagick/GraphicsMagick: move to ImageMagick#Screenshot taking)
 
(158 intermediate revisions by 68 users not shown)
Line 1: Line 1:
[[Category:Graphics and DTP (English)]]
+
[[Category:System administration]]
[[Category:Utilities (English)]]
+
[[Category:Multimedia]]
{{i18n|Taking a Screenshot}}
+
[[cs:Taking a screenshot]]
 +
[[es:Screen capture]]
 +
[[fr:Capture d'écran]]
 +
[[ja:スクリーンショットの取得]]
 +
[[ru:Taking a screenshot]]
 +
[[zh-hans:Taking a screenshot]]
 +
{{Related articles start}}
 +
{{Related|Key binding}}
 +
{{Related articles end}}
 +
This article lists and describes [[Wikipedia:Screenshot|screenshot]] and [[Wikipedia:Screencast|screencast]] software.
  
== import ==
+
== Screenshot software ==
  
An easy way to take a screenshot of your curent system is using the import command:
+
=== Dedicated software ===
import -window root screenshot.jpg
 
  
import is part of the imagemagick package.
+
* {{App|Deepin Screenshot|Quite easy-to-use screenshot tool. Features: global hotkey to trigger screenshot tool, take screenshot of a selected area, easy to add text and line drawings onto the screenshot. Python/Qt5 based.|https://www.deepin.org/en/original/deepin-screenshot/|{{Pkg|deepin-screenshot}}}}
 +
* {{App|Escrotum|Screen capture using pygtk, inspired by scrot.|https://github.com/Roger/escrotum|{{AUR|escrotum-git}}}}
 +
* {{App|Flameshot|Qt5 based software for interactive screenshot taking. Select the desired area, draw with different tools and enjoy the customization capabilities.|https://github.com/lupoDharkael/flameshot|{{Pkg|flameshot}}}}
 +
* {{App|[[Wikipedia:GNOME Screenshot|GNOME Screenshot]]|Screenshot tool for the GNOME desktop.|https://gitlab.gnome.org/GNOME/gnome-screenshot/|{{Pkg|gnome-screenshot}}}}
 +
* {{App|grim|Grab images from a Wayland compositor. It currently works on [[Sway]] 1.0 alpha.|https://github.com/emersion/grim|{{AUR|grim-git}}}}
 +
* {{App|gscreenshot|Simple GTK+ screenshot utility with delays, selection, and copy-to-clipboard functionality.|https://github.com/thenaterhood/gscreenshot|{{AUR|gscreenshot}}}}
 +
* {{App|imgur-screenshot|Take screenshot selection, upload to [http://imgur.com imgur]. + more cool things|https://github.com/jomo/imgur-screenshot|{{AUR|imgur-screenshot-git}}}}
 +
* {{App|KShare|ShareX inspired cross platform utility written with Qt.|https://kshare.arsenarsen.com|{{AUR|kshare}}}}
 +
* {{App|Lightscreen|Simple tool to automate the tedious process of saving and cataloging screenshots, it operates as a hidden background process that is invoked with one (or multiple) hotkeys and then saves a screenshot file to disk according to the user's preferences.|http://lightscreen.com.ar|{{AUR|lightscreen}}}}
 +
* {{App|LXQt Screenshot|Screenshot tool for LXQt. Run with {{ic|lximage-qt --screenshot}}.|https://github.com/lxde/lximage-qt|{{Pkg|lximage-qt}}}}
 +
* {{App|maim|Simple command line utility that takes screenshots. It's meant to replace scrot and performs better than scrot in many ways.|https://github.com/naelstrof/maim|{{Pkg|maim}}}}
 +
* {{App|MATE Screenshot|Screenshot tool for the MATE desktop.|http://mate-desktop.org|{{Pkg|mate-utils}}}}
 +
* {{App|ScreenCloud|Take a screenshot of the entire screen or to select an area and then uploading the screenshot to [http://imgur.com imgur]+auth. has plugins and system tray.|http://screencloud.net/|{{AUR|screencloud}}}}
 +
* {{App|ScreenGrab|Cross-platform application designed to quickly take screenshots (Qt).|https://github.com/DOOMer/screengrab|{{AUR|screengrab}}}}
 +
* {{App|[[Wikipedia:Scrot|Scrot]]|Simple command-line screenshot utility for X.|http://freecode.com/projects/scrot|{{Pkg|scrot}}}}
 +
* {{App|Shutter|Rich screenshot and editing program. Supports [https://hyp.is/AVQUNTRUH9ZO4OKSlue9/askubuntu.com/questions/252281/how-do-i-take-screenshots-with-a-delay/260178 delay]. |http://shutter-project.org/|{{AUR|shutter}}}}
 +
* {{App|Spectacle|[[KDE]] application for taking screenshots. It is capable of capturing images of the whole desktop, a single window, a section of a window, a selected rectangular region or a freehand region. Part of {{Grp|kdegraphics}}.|https://github.com/KDE/spectacle/|{{Pkg|spectacle}}}}
 +
* {{App|Xfce4 Screenshooter|Application and Xfce4 panel plugin to take screenshots about the entire screen, the active window or a selected region. Part of {{Grp|xfce4-goodies}}.|http://goodies.xfce.org/projects/applications/xfce4-screenshooter|{{Pkg|xfce4-screenshooter}}}}
 +
* {{App|xwd|X Window System image dumping utility|http://xorg.freedesktop.org/|{{Pkg|xorg-xwd}}}}
  
In case you only want to grab a single window you can use the xwininfo tool to find out it's id. Just run the following command and click into the window you want to take a screenshot of.
+
==== xwd ====
import -window `xwininfo |grep 'Window id:' |cut -d" " -f4` screenshot.jpg
 
  
If you run twinview or dualhead, simply take the screenshot twice and use imagemagick to paste them together:
+
{{man|1|xwd}} provided by {{Pkg|xorg-xwd}}
import -window root -display :0.0 -screen /tmp/0.png
 
import -window root -display :0.1 -screen /tmp/1.png
 
convert +append /tmp/0.png /tmp/1.png screenshot.png
 
rm /tmp/{0,1}.png
 
  
=== Screenshot of the active/focused window ===
+
Take a screenshot of the root window:
 +
$ xwd -root -out screenshot.xwd
 +
 
 +
{{Note|The methods for taking shots of active windows with {{ic|import}} can also be used with {{ic|xwd}}.}}
 +
 
 +
==== scrot ====
 +
 
 +
{{Pkg|scrot}} enables taking screenshots from the CLI and offers features such as a user-definable time delay. Unless instructed otherwise, it saves the file in the current working directory.
 +
$ scrot -t 20 -d 5
 +
 
 +
The above command saves a dated {{ic|.png}} file, along with a thumbnail (20% of original), for Web posting. It provides a 5 second delay before capturing in this instance.
 +
 
 +
You can also use standard date and time formatting when saving to a file.  e.g.,
 +
$ scrot ~/screenshots/%Y-%m-%d-%T-screenshot.png
 +
 
 +
saves the screenshot in a filename with the current year, month, date, hours, minutes, and seconds to a folder in your home directory called "screenshots"
 +
 
 +
See {{man|1|scrot}} for more information. You can simply automate the file to uploaded like so [https://github.com/kaihendry/Kai-s--HOME/tree/master/bin].
 +
 
 +
{{Note|In some window managers ({{AUR|dwm}}, {{Pkg|xmonad}} and possibly others) {{ic|scrot -s}} does not work properly when running via window manager's keyboard shortcut, this can be worked around by prepending scrot invocation with a short pause {{ic|sleep 0.2; scrot -s}}.}}
 +
 
 +
==== escrotum ====
 +
 
 +
{{AUR|escrotum-git}} screen capture using pygtk, inspired by scrot
 +
 
 +
Created because scrot has glitches when selection mode is used with refreshing windows.
  
The following script takes a screenshot of the currently focused window.  It'll use the current date as a filename as well, to avoid overwriting previous screenshots.
+
Because the command line interface its almost the same as scrot, can be used as a replacement of it.
  #!/bin/bash
 
  activeWinLine=$(xprop -root | grep "_NET_ACTIVE_WINDOW(WINDOW)")
 
  activeWinId="${activeWinLine:40}"
 
  import -window $activeWinId /tmp/`date +%F_%H%M%S_%N`.jpg
 
  
 +
==== maim ====
  
 +
{{Pkg|maim}} is aimed to be an improved scrot.
  
== gimp ==
+
Takes screenshots of your desktop using [https://github.com/naelstrof/slop slop] for regions. It's meant to overcome shortcomings of scrot.
  
You also can take screenshots with gimp (File -> Create -> Screenshot...).
+
==== Flameshot ====
  
== xwd ==
+
{{Pkg|flameshot}} allows you to add simple shapes to your screenshot as you are taking it (either fullscreen or a selected region).
  
xwd is part of the xorg-apps package.
+
=== Desktop environment specific ===
  
Take a screenshot of the root window:
+
==== Spectacle ====
xwd -root -out screenshot.xwd
+
 
 +
If you use [[KDE]], you might want to use {{ic|Spectacle}}.
  
== scrot ==
+
Spectacle is provided by the {{Pkg|spectacle}}.
  
Scrot, available in the "extra" repository, provides for taking screenshots from the CLI, and offers features such as a user-definable time delay. Unless instructed otherwise, it saves the file in the directory bash was at when the command was launched.
+
==== Xfce Screenshooter ====
  
scrot -t 20 -d 5
+
If you use [[Xfce]] you can install {{Pkg|xfce4-screenshooter}} and then add a keyboard binding:
  
saves a dated .PNG file, along with a thumbnail (20% of original) for Web posting. It provides a five second delay before capturing, in this instance.
+
''Xfce Menu > Settings > Keyboard > Application Shortcuts''
  
== KDE ==
+
If you want to skip the Screenshot prompt, type {{ic|$ xfce4-screenshooter -h}} in terminal for the options.
  
If you use KDE, you might want to use ksnapshot, which can also be activated using <Prt Scr>.
+
==== GNOME ====
  
== GNOME ==
+
[[GNOME]] users can press {{ic|Prnt Scr}} or ''Apps > Accessories > Take Screenshot''. You may need to install {{Pkg|gnome-screenshot}}.
  
You can press <Prt Scr> or Apps->Accessories->Take Screenshot.
+
==== Cinnamon ====
 +
The default installation of [[Cinnamon]] does not provide a screenshot utility. Installing {{Pkg|gnome-screenshot}} will enable screenshots through the ''Menu > Accessories > Screenshot'' or by pressing {{ic|Prnt Scr}}.
  
{{Note|If <Prt Scr> complains about not finding gnome-screenshot or there is no "Take Screenshot" entry in your menu, you will need to install the [http://www.archlinux.org/packages/3154 gnome-utils] package.}}
+
==== Other desktop environments or window managers ====
  
== Other Desktop Environment or Window Manager ==
+
For other desktop environments such as [[LXDE]] or window managers such as [[Openbox]] and [[Compiz]], one can add the above commands to the hotkey to take the screenshot. For example,
For other desktop environment such as LXDE or window manager such as Openbox and Compiz, one can add the above commands to the hotkey to take the screenshot. For example,
+
  $ import -window root ~/Pictures/$(date '+%Y%m%d-%H%M%S').png
  import -window root ~/Pictures/`date '+%Y%m%d-%H%M%S'`.png
+
Adding the above command to the {{ic|Prnt Scr}} key to Compiz allows to take the screenshot to the Pictures folder according to date and time.
Adding the above command to the <Prt Scr> key to Compiz allows to take the screenshot to the Pictures folder according to date and time.
+
Notice that the {{ic|rc.xml}} file in Openbox does not understand commas; so, in order to bind that command to the {{ic|Prnt Scr}} key in Openbox, you need to add the following to the keyboard section of your {{ic|rc.xml}} file:
Notice that the rc.xml file in Openbox does not understand commas; so, in order to bind that command to the <Prt Scr> key in Openbox, you need to add the following to the keyboard section of your rc.xml file:
 
  
<!-- Screenshot -->
+
{{hc|rc.xml|<nowiki>
 +
<!-- Screenshot -->
 
     <keybind key="Print">
 
     <keybind key="Print">
 
       <action name="Execute">
 
       <action name="Execute">
         <command>sh -c "import -window root ~/Pictures/`date '+%Y%m%d-%H%M%S'`.png"</command>
+
         <command>sh -c "import -window root ~/Pictures/$(date '+%Y%m%d-%H%M%S').png"</command>
 
       </action>
 
       </action>
 
     </keybind>
 
     </keybind>
 +
</nowiki>}}
 +
 +
If the {{ic|Print}} above does not work, see [[Extra keyboard keys]] and use different ''keysym'' or ''keycode''.
 +
 +
=== Packages including a screenshot utility ===
 +
 +
==== ImageMagick/GraphicsMagick ====
 +
 +
See [[ImageMagick#Screenshot taking]].
 +
 +
==== GIMP ====
 +
 +
You also can take screenshots with [[GIMP]] (''File > Create > Screenshot''...).
 +
 +
==== imlib2 ====
 +
 +
{{Pkg|imlib2}} provides a binary {{ic|imlib2_grab}} to take screenshots. To take a screenshot of the full screen, type:
 +
$ imlib2_grab screenshot.png
 +
 +
Note that {{Pkg|scrot}} actually uses {{ic|imlib2}}.
 +
 +
==== FFmpeg ====
 +
 +
See [[FFmpeg#Screen capture]].
 +
 +
== Screencast software ==
 +
 +
See also [[FFmpeg#Screen capture]] and [[Wikipedia:Comparison of screencasting software]].
 +
 +
Screencast utilities allow you to create a video of your desktop or individual windows.
 +
 +
* {{App|Byzanz|Simple screencast tool that produces GIF animations.|http://blogs.gnome.org/otte/2009/08/30/byzanz-0-2-0/|{{Pkg|byzanz}}}}
 +
* {{App|Deepin Screen Recorder|Screen recorder application for Deepin desktop.|https://www.deepin.org/en/original/deepin-screen-recorder/|{{Pkg|deepin-screen-recorder}}}}
 +
* {{App|FFcast|FFmpeg-based screencast tool written in Bash.|https://github.com/lolilolicon/FFcast|{{AUR|ffcast}}}}
 +
* {{App|Green Recorder|Simple yet functional desktop recorder for Linux systems.|https://github.com/green-project/green-recorder|{{AUR|green-recorder}}}}
 +
* {{App|Kazam|Screencasting program with design in mind. Handles multiscreen setups.|https://launchpad.net/kazam|{{AUR|kazam}}}}
 +
* {{App|[[Wikipedia:Open Broadcaster Software|OBS]]|Video recording and live streaming application.|https://obsproject.com/|{{Pkg|obs-studio}}}}
 +
* {{App|[[Wikipedia:Peek|Peek]]|Simple screencast tool that produces GIF, APNG, WebM or MP4 animations.|https://github.com/phw/peek|{{Pkg|peek}}}}
 +
* {{App|RecordItNow|Plugin based desktop recorder for KDE.|http://recorditnow.sourceforge.net/|{{AUR|recorditnow}}}}
 +
* {{App|[[RecordMyDesktop]]|Easy to use utility that records your desktop into the ogg format with a CLI, GTK+ or Qt interface. (inactive development)|http://recordmydesktop.sourceforge.net/|CLI: {{Pkg|recordmydesktop}}, GTK+: {{Pkg|gtk-recordmydesktop}}, Qt: {{AUR|qt-recordmydesktop}}}}
 +
* {{App|[[Wikipedia:SimpleScreenRecorder|SimpleScreenRecorder]]|Feature-rich screen recorder written in C++/Qt5 that supports X11 and OpenGL.|http://www.maartenbaert.be/simplescreenrecorder/|{{Pkg|simplescreenrecorder}}}}
 +
* {{App|VokoScreen|Simple screencast GUI tool using FFmpeg.|http://www.kohaupt-online.de/hp|{{AUR|vokoscreen}}}}
 +
* {{App|[[Wikipedia:XVidCap|XVidCap]]|Application used for recording a screencast or digital recording of an X Window System screen output with an audio narration.|http://xvidcap.sourceforge.net/|{{AUR|xvidcap}}}}
 +
 +
== Weston ==
 +
 +
In the [[Wayland#Weston|Weston]] Wayland compositor, screenshots can be taking by pressing {{ic|Super+s}}, which are stored in Weston's current working directory. Screencasts are also supported; recording is started and stopped by pressing {{ic|Super+r}}, which will create a file called {{ic|capture.wcap}} in Weston's current working directory. The capture can be decoded to YUV format by running {{ic|wcap-decode --yuv4mpeg2 capture.wcap}}; the output of this command can be written to a file or piped into FFmpeg for further processing.
 +
 +
== Terminal ==
 +
 +
{{Expansion|Add subsection about [https://intoli.com/blog/terminal-recorders/ terminal recorders].}}
 +
 +
=== Capture with ANSI codes ===
 +
 +
You can use the {{man|1|script}} command, part of the {{Pkg|util-linux}} package.
 +
Just run {{ic|script}} and from that moment, all the output is going to be saved to the {{ic|typescript}} file, including the ANSI codes.
 +
 +
Once you are done, just run {{ic|exit}} and the {{ic|typescript}} would ready. The resulting file can be converted to HTML using the {{AUR|ansi2html}} package, from the [[AUR]].
 +
 +
To convert the {{ic|typescript}} file to {{ic|typescript.html}}, do the following:
 +
 +
$ ansi2html --bg=dark < typescript > typescript.html
 +
 +
Actually, '''some''' commands can be piped directly to ansi2html:
 +
 +
$ ls --color|ansi2html --bg=dark >output.html
 +
 +
That does not work on every single case, so in those cases, using {{ic|script}} is mandatory.
 +
 +
=== Framebuffer ===
 +
 +
Install a [[framebuffer]] and use {{Pkg|fbgrab}} or {{Pkg|fbdump}} to take a screenshot.
 +
 +
=== Virtual console ===
  
== Virtual console ==
+
If you merely want to capture the text in the console and not an actual image, you can use {{ic|setterm}}, which is part of the {{Pkg|util-linux}} package.  The following command will dump the textual contents of virtual console 1 to a file screen.dump in the current directory:
 +
# setterm -dump 1 -file screen.dump
  
Install a [[framebuffer]] and use {{Package Official|fbgrab}} to take a screen shot. Another option is to use {{Package Official|fbshot}}, but that tends to corrupt the image by inverting colors.
+
Root permission is needed because the contents of {{ic|/dev/vcs1}} need to be read.

Latest revision as of 05:36, 18 October 2018

This article lists and describes screenshot and screencast software.

Screenshot software

Dedicated software

  • Deepin Screenshot — Quite easy-to-use screenshot tool. Features: global hotkey to trigger screenshot tool, take screenshot of a selected area, easy to add text and line drawings onto the screenshot. Python/Qt5 based.
https://www.deepin.org/en/original/deepin-screenshot/ || deepin-screenshot
  • Escrotum — Screen capture using pygtk, inspired by scrot.
https://github.com/Roger/escrotum || escrotum-gitAUR
  • Flameshot — Qt5 based software for interactive screenshot taking. Select the desired area, draw with different tools and enjoy the customization capabilities.
https://github.com/lupoDharkael/flameshot || flameshot
https://gitlab.gnome.org/GNOME/gnome-screenshot/ || gnome-screenshot
  • grim — Grab images from a Wayland compositor. It currently works on Sway 1.0 alpha.
https://github.com/emersion/grim || grim-gitAUR
  • gscreenshot — Simple GTK+ screenshot utility with delays, selection, and copy-to-clipboard functionality.
https://github.com/thenaterhood/gscreenshot || gscreenshotAUR
  • imgur-screenshot — Take screenshot selection, upload to imgur. + more cool things
https://github.com/jomo/imgur-screenshot || imgur-screenshot-gitAUR
  • KShare — ShareX inspired cross platform utility written with Qt.
https://kshare.arsenarsen.com || kshareAUR
  • Lightscreen — Simple tool to automate the tedious process of saving and cataloging screenshots, it operates as a hidden background process that is invoked with one (or multiple) hotkeys and then saves a screenshot file to disk according to the user's preferences.
http://lightscreen.com.ar || lightscreenAUR
  • LXQt Screenshot — Screenshot tool for LXQt. Run with lximage-qt --screenshot.
https://github.com/lxde/lximage-qt || lximage-qt
  • maim — Simple command line utility that takes screenshots. It's meant to replace scrot and performs better than scrot in many ways.
https://github.com/naelstrof/maim || maim
  • MATE Screenshot — Screenshot tool for the MATE desktop.
http://mate-desktop.org || mate-utils
  • ScreenCloud — Take a screenshot of the entire screen or to select an area and then uploading the screenshot to imgur+auth. has plugins and system tray.
http://screencloud.net/ || screencloudAUR
  • ScreenGrab — Cross-platform application designed to quickly take screenshots (Qt).
https://github.com/DOOMer/screengrab || screengrabAUR
  • Scrot — Simple command-line screenshot utility for X.
http://freecode.com/projects/scrot || scrot
  • Shutter — Rich screenshot and editing program. Supports delay.
http://shutter-project.org/ || shutterAUR
  • SpectacleKDE application for taking screenshots. It is capable of capturing images of the whole desktop, a single window, a section of a window, a selected rectangular region or a freehand region. Part of kdegraphics.
https://github.com/KDE/spectacle/ || spectacle
  • Xfce4 Screenshooter — Application and Xfce4 panel plugin to take screenshots about the entire screen, the active window or a selected region. Part of xfce4-goodies.
http://goodies.xfce.org/projects/applications/xfce4-screenshooter || xfce4-screenshooter
  • xwd — X Window System image dumping utility
http://xorg.freedesktop.org/ || xorg-xwd

xwd

xwd(1) provided by xorg-xwd

Take a screenshot of the root window:

$ xwd -root -out screenshot.xwd
Note: The methods for taking shots of active windows with import can also be used with xwd.

scrot

scrot enables taking screenshots from the CLI and offers features such as a user-definable time delay. Unless instructed otherwise, it saves the file in the current working directory.

$ scrot -t 20 -d 5

The above command saves a dated .png file, along with a thumbnail (20% of original), for Web posting. It provides a 5 second delay before capturing in this instance.

You can also use standard date and time formatting when saving to a file. e.g.,

$ scrot ~/screenshots/%Y-%m-%d-%T-screenshot.png

saves the screenshot in a filename with the current year, month, date, hours, minutes, and seconds to a folder in your home directory called "screenshots"

See scrot(1) for more information. You can simply automate the file to uploaded like so [1].

Note: In some window managers (dwmAUR, xmonad and possibly others) scrot -s does not work properly when running via window manager's keyboard shortcut, this can be worked around by prepending scrot invocation with a short pause sleep 0.2; scrot -s.

escrotum

escrotum-gitAUR screen capture using pygtk, inspired by scrot

Created because scrot has glitches when selection mode is used with refreshing windows.

Because the command line interface its almost the same as scrot, can be used as a replacement of it.

maim

maim is aimed to be an improved scrot.

Takes screenshots of your desktop using slop for regions. It's meant to overcome shortcomings of scrot.

Flameshot

flameshot allows you to add simple shapes to your screenshot as you are taking it (either fullscreen or a selected region).

Desktop environment specific

Spectacle

If you use KDE, you might want to use Spectacle.

Spectacle is provided by the spectacle.

Xfce Screenshooter

If you use Xfce you can install xfce4-screenshooter and then add a keyboard binding:

Xfce Menu > Settings > Keyboard > Application Shortcuts

If you want to skip the Screenshot prompt, type $ xfce4-screenshooter -h in terminal for the options.

GNOME

GNOME users can press Prnt Scr or Apps > Accessories > Take Screenshot. You may need to install gnome-screenshot.

Cinnamon

The default installation of Cinnamon does not provide a screenshot utility. Installing gnome-screenshot will enable screenshots through the Menu > Accessories > Screenshot or by pressing Prnt Scr.

Other desktop environments or window managers

For other desktop environments such as LXDE or window managers such as Openbox and Compiz, one can add the above commands to the hotkey to take the screenshot. For example,

$ import -window root ~/Pictures/$(date '+%Y%m%d-%H%M%S').png

Adding the above command to the Prnt Scr key to Compiz allows to take the screenshot to the Pictures folder according to date and time. Notice that the rc.xml file in Openbox does not understand commas; so, in order to bind that command to the Prnt Scr key in Openbox, you need to add the following to the keyboard section of your rc.xml file:

rc.xml
<!-- Screenshot -->
    <keybind key="Print">
      <action name="Execute">
        <command>sh -c "import -window root ~/Pictures/$(date '+%Y%m%d-%H%M%S').png"</command>
      </action>
    </keybind>

If the Print above does not work, see Extra keyboard keys and use different keysym or keycode.

Packages including a screenshot utility

ImageMagick/GraphicsMagick

See ImageMagick#Screenshot taking.

GIMP

You also can take screenshots with GIMP (File > Create > Screenshot...).

imlib2

imlib2 provides a binary imlib2_grab to take screenshots. To take a screenshot of the full screen, type:

$ imlib2_grab screenshot.png

Note that scrot actually uses imlib2.

FFmpeg

See FFmpeg#Screen capture.

Screencast software

See also FFmpeg#Screen capture and Wikipedia:Comparison of screencasting software.

Screencast utilities allow you to create a video of your desktop or individual windows.

  • Byzanz — Simple screencast tool that produces GIF animations.
http://blogs.gnome.org/otte/2009/08/30/byzanz-0-2-0/ || byzanz
  • Deepin Screen Recorder — Screen recorder application for Deepin desktop.
https://www.deepin.org/en/original/deepin-screen-recorder/ || deepin-screen-recorder
  • FFcast — FFmpeg-based screencast tool written in Bash.
https://github.com/lolilolicon/FFcast || ffcastAUR
  • Green Recorder — Simple yet functional desktop recorder for Linux systems.
https://github.com/green-project/green-recorder || green-recorderAUR
  • Kazam — Screencasting program with design in mind. Handles multiscreen setups.
https://launchpad.net/kazam || kazamAUR
  • OBS — Video recording and live streaming application.
https://obsproject.com/ || obs-studio
  • Peek — Simple screencast tool that produces GIF, APNG, WebM or MP4 animations.
https://github.com/phw/peek || peek
  • RecordItNow — Plugin based desktop recorder for KDE.
http://recorditnow.sourceforge.net/ || recorditnowAUR
  • RecordMyDesktop — Easy to use utility that records your desktop into the ogg format with a CLI, GTK+ or Qt interface. (inactive development)
http://recordmydesktop.sourceforge.net/ || CLI: recordmydesktop, GTK+: gtk-recordmydesktop, Qt: qt-recordmydesktopAUR
  • SimpleScreenRecorder — Feature-rich screen recorder written in C++/Qt5 that supports X11 and OpenGL.
http://www.maartenbaert.be/simplescreenrecorder/ || simplescreenrecorder
  • VokoScreen — Simple screencast GUI tool using FFmpeg.
http://www.kohaupt-online.de/hp || vokoscreenAUR
  • XVidCap — Application used for recording a screencast or digital recording of an X Window System screen output with an audio narration.
http://xvidcap.sourceforge.net/ || xvidcapAUR

Weston

In the Weston Wayland compositor, screenshots can be taking by pressing Super+s, which are stored in Weston's current working directory. Screencasts are also supported; recording is started and stopped by pressing Super+r, which will create a file called capture.wcap in Weston's current working directory. The capture can be decoded to YUV format by running wcap-decode --yuv4mpeg2 capture.wcap; the output of this command can be written to a file or piped into FFmpeg for further processing.

Terminal

Tango-view-fullscreen.pngThis article or section needs expansion.Tango-view-fullscreen.png

Reason: Add subsection about terminal recorders. (Discuss in Talk:Screen capture#)

Capture with ANSI codes

You can use the script(1) command, part of the util-linux package. Just run script and from that moment, all the output is going to be saved to the typescript file, including the ANSI codes.

Once you are done, just run exit and the typescript would ready. The resulting file can be converted to HTML using the ansi2htmlAUR package, from the AUR.

To convert the typescript file to typescript.html, do the following:

$ ansi2html --bg=dark < typescript > typescript.html

Actually, some commands can be piped directly to ansi2html:

$ ls --color|ansi2html --bg=dark >output.html

That does not work on every single case, so in those cases, using script is mandatory.

Framebuffer

Install a framebuffer and use fbgrab or fbdump to take a screenshot.

Virtual console

If you merely want to capture the text in the console and not an actual image, you can use setterm, which is part of the util-linux package. The following command will dump the textual contents of virtual console 1 to a file screen.dump in the current directory:

# setterm -dump 1 -file screen.dump

Root permission is needed because the contents of /dev/vcs1 need to be read.