Ce document décrit l'utilisation de la commande import de ImageMagick pour réaliser des copies d'écran :
$ whatis import
import - saves any visible window on an X server and outputs it as an image file. You can capture a single window, the entire screen, or any rectangular portion of the screen.
On suppose ImageMagick installé.
Documentation ImageMagick : import
Manuel et aide :
$ man import
$ import --help
Après avoir entré la commande, utiliser la souris pour déterminer la portion d'écran à capturer. La capture est sauvegardée dans le fichier capture, au format par défaut postscript (ps) :
$ import capture
Idem, mais sauvegarder dans un fichier au format png
$ import capture.png # ou bien import png:capture
Idem, mais afficher la capture aussitôt sans sauvegarder
$ import png:- |display - &
Mettre un temps d'attente de 4 secondes avant que le pointeur ne se transforme en pointeur de sélection
$ import -pause 4 capture.png
Capturer la fenêtre racine (tout l'écran)
$ import -window root capture.png
Capturer la fenêtre racine y compris avec les fenêtres volantes (menus, ...)
$ import -window root -screen capture.png
Capturer la fenêtre active
$ import -screen capture.png
Capturer une fenêtre en cliquant dessus
$ import -descend capture.png
Capturer une fenêtre par son identifiant
Identifier la fenêtre (cliquer dans la fenêtre après avoir lancé la commande
$ xwininfo
xwininfo: Please select the window about which you
would like information by clicking the
mouse in that window.
xwininfo: Window id: 0x3a0013a "ImageMagick [file:/.../index.html] - Composeur"
.....
Capturer la fenêtre en indiquant soit son identifiant (id:) soit sont nom
$ import -window 0x3a0013a # ou bien
$ import -window "ImageMagick [file:/.../index.html] - Composeur"
Capturer un rectangle de 512x256 à partir du point +100+20 par rapport à l'angle supérieur gauche de la fenêtre dans la fenêtre active par exemple
$ import -screen -crop 512x256+100+20 capture.png
Capturer la fenêtre racine y compris avec des fenêtres volantes (sous-menus, ...)
Lancer la commande suivante en programmant un temps d'attente suffisant (5 secondes par exemple)
$ import -pause 5 -window root -screen capture.png
Puis pendant le temps d'attente faire apparaître les fenêtres volantes de façon qu'elles apparaissent sur la capture d'écran
Il ne semble pas possible de capturer directement une portion d'écran (ou une fenêtre) comprenant des fenêtres volantes. La solution consiste à capturer tout l'écran avec les fenêtres volantes, selon le principe indiqué ci-dessus, puis à découper la partie d'intérêt :
Faire afficher l'image capture
$ display capture.png
Faire apparaître la fenêtre Commands de ImageMagick en cliquant dans l'image
Sélectionner >> Transform >>Crop
Définir la fenêtre de découpe : Positionner le curseur et cliquer pour définir un premier coin de la fenêtre, déplacer la souris tout en maintenant le bouton appuyé pour définir le coin opposé. Relâcher le bouton lorsque la fenêtre est définie.
Effectuer une série de 4 captures de la fenêtre active avec un temps de pause de 5 secondes avant que le pointeur ne se transforme en pointeur de sélection
Certains formats d'image acceptent de multiples images (par exemple postcript, gif, ...)
$ import -snaps 4 -pause 5 capture.ps # le fichier Postscript comprend 4 pages
$ identify capture.ps
capture.ps[0] PS 1295x787 1295x787+0+0 16-bit sRGB 110KB 0.010u 0:00.000
capture.ps[1] PS 1295x787 1295x787+0+0 16-bit sRGB 110KB 0.000u 0:00.000
capture.ps[2] PS 1295x787 1295x787+0+0 16-bit sRGB 110KB 0.000u 0:00.000
capture.ps[3] PS 1295x787 1295x787+0+0 16-bit sRGB 110KB 0.000u 0:00.000
Pour afficher les différentes images contenues dans un fichier dont le format d'image accepte plusieurs images, utiliser la barre espace pour passer d'une image à l'autre
$ display capture.ps # Affiche toutes les images
$ display capture.ps[0,2,3] # Affiche les images 0 2 et 3
en utilisant la numérotation par défaut des fichiers
$ import -snaps 4 -pause 5 capture.png # 4 fichiers png sont créés
$ ls capture*.png
capture-0.png capture-1.png capture-2.png capture-3.png
en utilisant %d
$ import -snaps 4 -pause 5 capt%d.png
$ ls capt*.png
capt0.png capt2.png capt3.png cap4.png
Quelques applications de capture d'écran
fbcat - Capture d'écran en mode framebuffer
scrot - Capture d'écran en ligne de commande
$ sudo aptitude install scrot
Permet très simplement de capturer la fenêtre "active" et les fenêtres volantes correspondantes
$ scrot -d 5 -u capture.png
$ scrot -d 5 -u capture.png
flameshot - Capture d'écran avec retouches
Description: Powerful yet simple-to-use screenshot software Flameshot is a powerful yet simple-to-use screenshot software. Notable features include customizable appearance, in-app screenshot editing, D-Bus interface, experimental GNOME/KDE Wayland support, integration with Imgur and support for both GUI and CLI interface.
$ sudo aptitude install flameshot
Lancement (avec un temps d'attente de 5 secondes)
$ flameshot gui -d 5000
Autres : shutter, xfce4-screenshooter, ...