De: "Pierre ESTREM" <pierre.estrem@free.fr>
À: "ML Debian User French" <debian-user-french@lists.debian.org>
Envoyé: Mardi 12 Octobre 2021 03:52:33
Objet: Capture d'écran avec wmctrl+import
Bonjour,
Sous Debian/XFCE je tente de
capturer l'écran d'un bureau qui n'a pas le focus pour le passer à la moulinette de tesseract.
Par exemple dans celui-ci j'ai une instance de firefox.
Mon script :
#!/bin/bash
# window est l'ID de la fenêtre
window="$(wmctrl -l | grep -i "firefox" | cut -f1 -d" ")"
# Capture de l'image
import -window "$window" screenshot.png
Et j'obtiens l'erreur :
import: unable to read X window image `0x05600003': Ressource
temporairement non disponible @ error/xwindow.c/XImportImage/5000.
import: missing an image filename `screenshot.png' @ error/import.c/ImportImageCommand/1293.
Où est mon erreur ?
Merci
pierre estrem
----- Mail original -----
De: "Pierre ESTREM"<pierre.estrem@free.fr>Bonjour Pierre,
À: "ML Debian User French"<debian-user-french@lists.debian.org>
Envoyé: Mardi 12 Octobre 2021 03:52:33
Objet: Capture d'écran avec wmctrl+import
Bonjour,
Sous Debian/XFCE je tente de
capturer l'écran d'un bureau qui n'a pas le focus pour le passer à la
moulinette de tesseract.
Par exemple dans celui-ci j'ai une instance de firefox.
Mon script :
#!/bin/bash
# window est l'ID de la fenêtre
window="$(wmctrl -l | grep -i "firefox" | cut -f1 -d" ")"
# Capture de l'image
import -window "$window" screenshot.png
Et j'obtiens l'erreur :
import: unable to read X window image `0x05600003': Ressource
temporairement non disponible @ error/xwindow.c/XImportImage/5000.
import: missing an image filename `screenshot.png' @
error/import.c/ImportImageCommand/1293.
Où est mon erreur ?
Merci
pierre estrem
Pourrais-tu simplement essayer de corriger ton script du fait que tu as
2 occurrences qui se marchent dessus et je suis en train de déverminer ton script ....
En premier je fais un essai pour trouver firefox :
wmctrl -l |grep -i -w "firefox"
j'obtiens un premier résultat convenable :
0x0480002c 4 antigen 16 exemples de commandes grep pour vous aider dans le monde réel - Mozilla Firefox
je continue de vérifier ton script :
wmctrl -l |grep -i -w "firefox" | cut -f1
j'obtiens :
0x0480002c 4 antigen Zimbra: Répondre - Mozilla Firefox
Je reprends ton script à la base en évitant les erreurs :
wmctrl -l |grep -i -w "firefox" |awk '{print $1}' |tail -1
et le résultat donne le PID de Firefox :
0x0480002c
Pourrais-tu essayer la commande ?
Ensuite, je t'invite à relire le fil de discussion concernant
tesseract et les documents PDF images qui doivent impérativement
être convertis au format Tiff et non au format png ...
window="$(wmctrl -l |grep -i -w "firefox" |awk '{print $1}' |tail -1)"
import -window "$window" screenshot.png
en tout cas maintenant, c'est opérationnel pour obtenir une image png maintenant, il te faudra convertir l'image png au format tiff :
convert screenshot.png screenshot.tiff
pour ma part je n'aime pas du tout cette façon de faire du fait qu'il me manque
un point qui peux devenir gênant en en donnant pas un "timestamp" de la capture
dans le nom du fichier
correction :
import -window "$window" screenshot-$(date +%Y-%m-%d-%H-%M).png
convert screenshot*.png screenshot*.tiff
après il te suffira de passer à la moulinette via tesseract
Merci pour ton aimable attention
Bien à toi
Bernard
Bonjour,
Sous Debian/XFCE je tente de
capturer l'écran d'un bureau qui n'a pas le focus pour le passer à la moulinette de tesseract.
Par exemple dans celui-ci j'ai une instance de firefox.
Mon script :
#!/bin/bash
# window est l'ID de la fenêtre
window="$(wmctrl -l | grep -i "firefox" | cut -f1 -d" ")"
# Capture de l'image
import -window "$window" screenshot.png
Et j'obtiens l'erreur :
import: unable to read X window image `0x05600003': Ressource
temporairement non disponible @ error/xwindow.c/XImportImage/5000.
import: missing an image filename `screenshot.png' @ error/import.c/ImportImageCommand/1293.
Où est mon erreur ?
Merci
pierre estrem
Sous Debian/XFCE je tente de[…]
capturer l'écran d'un bureau qui n'a pas le focus pour le passer à la moulinette de tesseract.
import -window "$window" screenshot.png
Et j'obtiens l'erreur :
import: unable to read X window image `0x05600003': Ressource temporairement non disponible @ error/xwindow.c/XImportImage/5000.
import: missing an image filename `screenshot.png' @ error/import.c/ImportImageCommand/1293.
Où est mon erreur ?
Bonjour Pierre,
Pierre ESTREM, on 2021-10-12:
Sous Debian/XFCE je tente de[…]
capturer l'écran d'un bureau qui n'a pas le focus pour le passer à la
moulinette de tesseract.
import -window "$window" screenshot.pngC'est une limitation de "import", le programme ne prend pas en
Et j'obtiens l'erreur :
import: unable to read X window image `0x05600003': Ressource temporairement >> non disponible @ error/xwindow.c/XImportImage/5000.
import: missing an image filename `screenshot.png' @
error/import.c/ImportImageCommand/1293.
Où est mon erreur ?
charge la capture des fenêtres qui ne sont pas rendues à
l'écran. Une manière de contourner ça serait de rapatrier la
fenêtre sur le bureau courant, le temps de la capture, puis de
la renvoyer à son bureau d'origine, une fois que c'est fini.
Aux fautes de frappe près, ça donnerait un script du genre :
#! /bin/sh
# Identification du firefox
window="$(wmctrl -l | grep -i firefox | cut -f1 -d" ")" orig_desktop="$(wmctrl -l | grep -i firefox | cut -f3 -d" ")"
# Bureau en cours d'utilisation
cur_desktop="$(wmctrl -d | grep ' \+\* DG: ' | cut -f1 -d" ")"
# Transfert du firefox sur le bureau courant
wmctrl -i -r "$window" -t "$cur_desktop"
# Capture de la fenêtre du firefox
import -window "$window" screenshot.png
# Renvoi du firefox à son emplacement d'origine
wmctrl -i -r "$window" -t "$orig_desktop"
# Fin
D'après mes tests, la fenêtre du navigateur ne vole pas le focus
pendant la manœuvre, donc il ne devrait pas y avoir trop
d'interférences de ce côté là. Le script n'est pas encore au
top niveau : si le firefox est iconifié, alors l'import va tout
de même planter, mais je crois que l'option -b de wmctrl
permettrait de faire les ajustements nécessaires, s'il y a
besoin de traiter ce cas de figure plus en détail.
Bonne soirée, :)
Un truc que je ne comprends pas est que "wmctrl -d" ne me renvoie qu'UN desktop, alors que j'en attendais 4...
Bonjour Pierre,
Pierre ESTREM, on 2021-10-13:
Un truc que je ne comprends pas est que "wmctrl -d" ne me renvoie qu'UNBizarre, avec la configuration par défaut de xfce4 de Debian 11,
desktop, alors que j'en attendais 4...
j'ai bien quatre espaces de travail de mon côté :
$ wmctrl -d | wc -l
4
Peut-être que la configuration par défaut a été retouchée ?
Peut-être que le mode verbeux en dira plus sur la configuration
des bureaux :
$ wmctrl -v -d
Bonne soirée,
'wmctrl -d -v" me renvoie :
envir_utf8: 1
WM provides _NET_DESKTOP_GEOMETRY value common for all desktops.
WM provides _NET_DESKTOP_VIEWPORT value only for the current desktop.
WM provides _NET_WORKAREA value only for the current desktop.
Total number of desktops: 1
Current desktop ID (counted from zero): 0
0 * DG: 7680x1080 VP: 3840,0 WA: 0,35 1920x1008 Espace de travail 1
Ca fait 1 (un) bureau/desktop ?
Pourtant je passe de l'un à l'autre normalement sauf dans certains cas où je
n'en ai plus qu'un et alors c'est la catastrophe...
Si quelqu'un a cela parfois expliquez-moi svp (alors un ALT+F4 n'a aucune action mais renvoie ";3s").
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 296 |
Nodes: | 16 (2 / 14) |
Uptime: | 75:13:14 |
Calls: | 6,657 |
Calls today: | 3 |
Files: | 12,203 |
Messages: | 5,332,641 |
Posted today: | 1 |