If you run twinview or dualhead, simply take the screenshot twice and use {{Ic|imagemagick}} to paste them together:

+

{{bc|

+

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

+

}}

−

If you run twinview or dualhead, simply take the screenshot twice and use imagemagick to paste them together:

+

==== Screenshot of individual Xinerama heads ====

−

import -window root -display :0.0 -screen /tmp/0.png

+

Xinerama-based multi-head setups have only one virtual screen. If the physical screens are different in height, you will find dead space in the screenshot. In this case, you may want to take screenshot of each physical screen individually. As long as Xinerama information is available from the X server, the following will work:

−

import -window root -display :0.1 -screen /tmp/1.png

+

{{bc|<nowiki>

−

convert +append /tmp/0.png /tmp/1.png screenshot.png

+

#!/bin/bash

−

rm /tmp/{0,1}.png

+

xdpyinfo -ext XINERAMA | sed '/^ head #/!d;s///' |

+

while IFS=' :x@,' read i w h x y; do

+

import -window root -crop ${w}x$h+$x+$y head_$i.png

+

done

+

</nowiki>}}

−

=== Screenshot of the active/focused window ===

+

==== Screenshot of the active/focused window ====

−

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.

+

The following script takes a screenshot of the currently focused window. It works with EWMH/NetWM compatible X Window Managers. To avoid overwriting previous screenshots, the current date is used as the filename.

−

#!/bin/bash

+

{{bc|<nowiki>

−

activeWinLine=$(xprop -root | grep "_NET_ACTIVE_WINDOW(WINDOW)")

+

#!/bin/bash

−

activeWinId="${activeWinLine:40}"

+

activeWinLine=$(xprop -root | grep "_NET_ACTIVE_WINDOW(WINDOW)")

−

import -window $activeWinId /tmp/`date +%F_%H%M%S_%N`.jpg

+

activeWinId=${activeWinLine:40}

+

import -window "$activeWinId" /tmp/$(date +%F_%H%M%S_%N).png

+

</nowiki>}}

−

== GIMP ==

+

Alternatively, the following should work regardless of EWMH support:

−

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

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

+

+

=== xwd ===

+

xwd is part of the {{Pkg|xorg-xwd}} package.

Take a screenshot of the root window:

Take a screenshot of the root window:

−

xwd -root -out screenshot.xwd

+

{{bc|$ xwd -root -out screenshot.xwd}}

+

+

See the {{ic|man xwd}} for more information.

+

+

=== scrot ===

+

+

{{Note|According [http://comments.gmane.org/gmane.comp.misc.suckless/6901 This Thread], {{Pkg|scrot}} does not work with {{Pkg|dwm}} nor {{Pkg|xbindkeys}}.}}

+

+

+

{{Pkg|scrot}}, which is available in the [[Official Repositories|official repositories]], 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.

+

{{bc|$ 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.,

+

{{bc|$ 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 {{Ic|man scrot}} for more information. You can simply automate the file to uploaded like so {{ic|https://github.com/kaihendry/Kai-s--HOME/tree/master/bin}}

+

+

=== imlib2 ===

−

See the xwd man page for more information.

+

{{Pkg|imlib2}} provides a binary {{ic|imlib2_grab}} to take screenshots. To take a screenshot of the full screen, type:

+

{{bc|$ imlib2_grab screenshot.png}}

−

== scrot ==

+

Note that {{Pkg|scrot}} actually uses {{ic|imlib2}}.

−

{{Package Official|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 current working directory.

+

== Desktop environment specific ==

+

=== KDE ===

+

If you use [[KDE]], you might want to use {{ic|KSnapshot}}, which can also be activated using {{keypress|Prnt Scr}}.

−

scrot -t 20 -d 5

+

KSnapshot is provided by the {{Pkg|kdegraphics-ksnapshot}} package in [extra].

−

saves a dated {{filename|.PNG}} file, along with a thumbnail (20% of original) for Web posting. It provides a five second delay before capturing, in this instance.

+

=== Xfce ===

−

See the scrot man page for more information.

+

If you use [[Xfce]] you can install {{Pkg|xfce4-screenshooter}} and then add a keyboard binding:

{{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 {{Package Official|gnome-utils}} package from [extra].}}

+

{{Note|If {{keypress|Prnt Scr}} complains about not finding {{ic|gnome-screenshot}} or there is no "Take Screenshot" entry in your menu, you will need to install the {{Pkg|gnome-utils}} package from [extra].}}

−

== Other Desktop Environments or Window Managers ==

+

=== 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,

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

+

{{bc|$ import -window root ~/Pictures/`date '+%Y%m%d-%H%M%S'`.png}}

−

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.

+

Adding the above command to the {{keypress|Prnt Scr}} key to Compiz allows to take the screenshot to the Pictures folder according to date and time.

−

Notice that the {{filename|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 {{filename|rc.xml}} file:

+

Notice that the {{ic|rc.xml}} file in Openbox does not understand commas; so, in order to bind that command to the {{keypress|Prnt Scr}} key in Openbox, you need to add the following to the keyboard section of your {{ic|rc.xml}} file:

−

<nowiki><!-- Screenshot --></nowiki>

+

{{hc|rc.xml|<nowiki>

+

<!-- Screenshot -->

<keybind key="Print">

<keybind key="Print">

<action name="Execute">

<action name="Execute">

Line 67:

Line 111:

</action>

</action>

</keybind>

</keybind>

+

</nowiki>}}

+

== Terminal ==

+

=== Output with ansi codes ===

+

You can use the {{ic|script}} command, part of the {{Pkg|util-linux}} package.

+

Just enter {{bc|$ 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 type {{ic|exit}} and the {{ic|typescript}} would ready.

+

+

The resulting file can be converted to html using the package {{Aur|ansi2html}}, from the [[AUR]].

+

+

To convert the {{ic|typescript}} file to {{ic|typescript.html}}, do the following:

+

+

{{bc|1=$ ansi2html --bg=dark <typescript >typescript.html}}

+

+

Actually, '''some''' commands can be piped directly to ansi2html:

+

+

{{bc|<nowiki>$ ls --color|ansi2html --bg=dark >output.html</nowiki>}}

+

+

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

+

+

=== Virtual console ===

+

Install a [[framebuffer]] and use {{Pkg|fbgrab}}, {{Pkg|fbshot}}, or {{Pkg|fbdump}} to take a screenshot.

+

+

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:

+

{{bc|# setterm -dump 1 -file screen.dump}}

−

== Virtual console ==

+

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

−

Install a [[framebuffer]] and use {{Package Official|fbgrab}}, {{Package Official|fbshot}}, or {{Package Official|fbdump}} to take a screenshot.

Screenshot of individual Xinerama heads

Xinerama-based multi-head setups have only one virtual screen. If the physical screens are different in height, you will find dead space in the screenshot. In this case, you may want to take screenshot of each physical screen individually. As long as Xinerama information is available from the X server, the following will work:

Screenshot of the active/focused window

The following script takes a screenshot of the currently focused window. It works with EWMH/NetWM compatible X Window Managers. To avoid overwriting previous screenshots, the current date is used as the filename.

scrot

scrot, which is available in the official repositories, 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"

GNOME

Note: If Template:Keypress complains about not finding gnome-screenshot or there is no "Take Screenshot" entry in your menu, you will need to install the gnome-utils package from [extra].

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 Template:Keypress 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 Template:Keypress key in Openbox, you need to add the following to the keyboard section of your rc.xml file:

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.