J'exécute le bureau 12 de Lubuntu et je recherche un outil qui peut prendre des captures d'écran d'un certaines zones à partir de la ligne de commande.
J'ai essayé l'obturateur. Cela fonctionne, mais lorsque je lance la commande, il génère des avertissements (Wnck-WARNING **: Unhandled action type
). Je pense que l'outil pourrait être conçu pour fonctionner sous GNOME et pourrait ne pas être compatible avec Lubuntu. La capture d’écran a bien été prise, mais la commande est bloquée, ce que je ne peux pas utiliser.
Alors, quel est un bon outil de capture d'écran
J'aime bien ajouter que scrot
, l'outil livré avec Lubuntu, ne permet pas de rogner certaines coordonnées, mais uniquement une zone définie de manière interactive par l'utilisateur, ce qui n'est pas ce que je recherche.
Dans Lubuntu, vous pouvez faire exactement ce que vous voulez: prenez une capture d'écran depuis la ligne de commande avec la commande:
scrot_extended 100 100 400 400
en utilisant le script ci-dessous.
Les quatre arguments sont <x>, <y>, <width>, <height>
.
Je n’ai pas encore eu l’occasion de le tester dans Lubuntu 12.04
, mais il semble peu probable que cela ne fonctionne pas; il utilise python 2
et les outils de base en ligne de commande qui existent déjà depuis longtemps.
Le scénario:
scrot
imagemagick
, il crée une nouvelle image, recadrant la capture d'écran, avec les arguments avec lesquels vous avez exécuté le scriptLe script utilise à la fois scrot
et imagemagick
. scrot
devrait être sur votre système. Pour installer imagemagick:
Sudo apt-get install imagemagick
Copiez le script dans un fichier vide
~/scrot_images
, nommé: outputfile_1.png
, outputfile_2.png
etc. Changez-le si vous voulez, comme indiqué dans le script. Notez que si vous changez le répertoire, vous devez utiliser le chemin complet.~/bin
(créez le répertoire si nécessaire) sous le nom scrot_extended
(sans extension) et rendez-le exécutable.Déconnectez-vous et reconnectez-vous et prenez votre capture d'écran avec la commande:
scrot_extended <x> <y> <width> <height>
Exemple:
scrot_extended 100 100 400 400
fichier de sortie:
#!/usr/bin/env python
import subprocess
import os
import sys
# setting default directories / filenames
home = os.environ["HOME"]
temp = home+"/"+".scrot_images"
img_in = temp+"/in.png"
# if you prefer, you can change the two line below:
output_directory = home+"/"+"scrot_images" # output directory
filename = "outputfile" # filename
# creating needed directories
for dr in [temp, output_directory]:
if not os.path.exists(dr):
os.mkdir(dr)
# creating filename (-number) to prevent overwriting previous shots
n = 1
while True:
img_out = output_directory+"/"+filename+"_"+str(n)+".png"
if os.path.exists(img_out):
n = n+1
else:
break
# reading arguments,arranging commands to perform
coords = sys.argv[1:5]
cmd1 = ["scrot", img_in]
cmd2 = ["convert", img_in, "-crop", coords[2]+"x"+coords[3]+"+"+coords[0]+"+"+coords[1], "+repage", img_out]
# Take screnshot, crop image
for cmd in [cmd1, cmd2]:
subprocess.call(cmd)
Cela fait presque la même chose que réponse de Jacob Vlijm mais avec bash. Il nomme les fichiers en utilisant un horodatage pour éviter de remplacer les fichiers existants. Il vous permet également de définir des paramètres de rognage par défaut dans le script afin que vous ne soyez pas obligé de l'appeler avec des paramètres.
Appelez le script ci-dessous comme suit (en supposant que vous vous trouviez dans le répertoire dans lequel le script est stocké, sinon le chemin d'accès complet au script est requis):
./screenshot.sh $left_px $top_px $width_px $height_px
OU./screenshot.sh
, auquel cas les paramètres par défaut spécifiés dans le script sont utilisés.1) Installez les applications nécessaires
À partir de la ligne de commande, exécutez:
Sudo apt install scrot imagemagick
2) Créez le script
Ouvrez l'éditeur de texte de votre choix et créez un nouveau fichier texte avec le contenu suivant. Veillez à modifier les variables en haut pour spécifier l'emplacement où vous souhaitez enregistrer les images et la partie de l'écran que vous souhaitez rogner. Voir cette astuce pour obtenir les coordonnées de la souris qui peuvent être utilisées pour trouver left
et top
et pour calculer width
et height
.
#!/bin/bash
# Change these values to match your preferences
imageQuality=100 # scrot default is 75
screenshotDir="/tmp" # directory in which to save screenshots
imageName="$(date +%Y-%m-%d.%H:%M:%S.%N).jpg" # save image names as timestamp
default_left=10 # begin crop this number of pixels from the left of the image
default_top=10 # begin crop this number of pixels from the top of the image
default_width=100 # crop this many pixels wide
default_height=100 # crop this many pixels tall
#Do not make any more changes from here down unless you know what you're doing
l=$1; t=$2; w=$3; h=$4
left=${l:=$default_left}
top=${t:=$default_top}
width=${w:=$default_width}
height=${h:=$default_height}
imagePath="$screenshotDir/$imageName"
[ ! -d "$screenshotDir" ] && mkdir -p "$screenshotDir"
scrot -q $imageQuality "$imagePath"
convert "$imagePath" -crop ${width}x${height}+${left}+${top} "$imagePath"
Enregistrez ce script où vous voulez et rendez-le exécutable. En supposant que vous ayez nommé votre script screenshot.sh
, vous le ferez sur la ligne de commande comme suit:
chmod +x /path/to/your/script/screenshot.sh
3) Liez ce script à un raccourci clavier (facultatif)
Suivez les instructions trouvé ici pour créer un raccourci clavier personnalisé. Lorsque vous arrivez au point où vous êtes censé entrer dans la commande, indiquez le chemin complet de votre fichier screenshot.sh
(nom de fichier compris).
maim
Vue d'ensemble
maim
(make image) est un nouvel utilitaire de capture d'écran conçu comme une version améliorée de scrot
.
Une des nombreuses nouvelles fonctionnalités fournies par maim
est la prise en charge de la définition d’une zone de capture d’écran directement à partir de la CLI. La syntaxe fonctionne comme suit:
maim -x <x-coordinate> -y <y-coordinate> -w <width> -h <height>
par exemple.:
maim -x 100 -y 100 -w 400 -h 400
Installation
maim
n'est pas encore arrivé dans les dépôts officiels et ne fait pas partie non plus d'un PPA. Vous devrez le compiler à partir du source pour pouvoir l'installer.
Après s’être assuré que toutes les dépendances sont satisfaites ...
Sudo apt-get install build-essential cmake
Sudo apt-get install libimlib2-dev libxrandr-dev libxfixes-dev
... nous pouvons procéder à la compilation et à l'installation proprement dites:
git clone https://github.com/naelstrof/maim.git
cd maim
cmake ./
make && Sudo make install
C'est ça. Vous devriez maintenant pouvoir appeler maim
depuis votre terminal. Assurez-vous de consulter la documentation (maim --help
) pour connaître toutes les options disponibles. et vérifiez (slop
) , un utilitaire du même développeur qui vous permet de sélectionner de manière interactive la zone de la capture d'écran.
Selon ce document sur le wiki ici: https://wiki.ubuntu.com/Lubuntu/Applications/Process%20Documentation xfce4-screenshooter est l'une des applications de capture d'écran de cette distribution. Sur ma configuration XFCE, la commande suivante fait ce que vous demandez.
xfce4-screenshooter