Difference between revisions of "Taking a screenshot"

From ArchWiki
Jump to: navigation, search
m (Screenshot of individual Xinerama heads: Fix script)
(Screenshot of the active/focused window)
Line 31: Line 31:
 
   activeWinId=${activeWinLine:40}
 
   activeWinId=${activeWinLine:40}
 
   import -window "$activeWinId" /tmp/$(date +%F_%H%M%S_%N).png
 
   import -window "$activeWinId" /tmp/$(date +%F_%H%M%S_%N).png
 +
 +
Alternatively, the following should work regardless of EWMH support:
 +
  import -window "$(xdotool getwindowfocus -f)" /tmp/$(date +%F_%H%M%S_%N).png
  
 
== GIMP ==
 
== GIMP ==

Revision as of 14:10, 26 October 2011

This template has only maintenance purposes. For linking to local translations please use interlanguage links, see Help:i18n#Interlanguage links.


Local languages: Català – Dansk – English – Español – Esperanto – Hrvatski – Indonesia – Italiano – Lietuviškai – Magyar – Nederlands – Norsk Bokmål – Polski – Português – Slovenský – Česky – Ελληνικά – Български – Русский – Српски – Українська – עברית – العربية – ไทย – 日本語 – 正體中文 – 简体中文 – 한국어


External languages (all articles in these languages should be moved to the external wiki): Deutsch – Français – Română – Suomi – Svenska – Tiếng Việt – Türkçe – فارسی

import

An easy way to take a screenshot of your current system is using the Template:Codeline command:

import -window root screenshot.jpg

Template:Codeline is part of the Template:Package Official package.

Running Template:Codeline without the Template:Codeline option allows selecting a window or an arbitrary region interactively.

Screenshot of multiple X screens

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

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

 #!/bin/bash
 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

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.

 #!/bin/bash
 activeWinLine=$(xprop -root | grep "_NET_ACTIVE_WINDOW(WINDOW)")
 activeWinId=${activeWinLine:40}
 import -window "$activeWinId" /tmp/$(date +%F_%H%M%S_%N).png

Alternatively, the following should work regardless of EWMH support:

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

GIMP

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

xwd

xwd is part of the Template:Package Official package.

Take a screenshot of the root window:

xwd -root -out screenshot.xwd

See the xwd man page for more information.

scrot

Template:Package Official, available in the Template:Codeline repository, 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 Template:Filename file, along with a thumbnail (20% of original), for Web posting. It provides a five second delay before capturing, in this instance.

See the Template:Codeline man page for more information.

KDE

If you use KDE, you might want to use KSnapshot, which can also be activated using <Prt Scr>.

KSnapshot is provided by the Template:Package Official package in [extra].

GNOME

GNOME users can press <Prt Scr> or Apps->Accessories->Take Screenshot.

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 Template:Package Official 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 <Prt Scr> key to Compiz allows to take the screenshot to the Pictures folder according to date and time. Notice that the Template:Filename 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 Template:Filename file:

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

Virtual console

Install a framebuffer and use Template:Package Official, Template:Package Official, or Template:Package Official to take a screenshot.