Re: Capture d'écran avec wmctrl+import

2021-10-12 Par sujet Pierre ESTREM

Bonjour Etienne et le monde libre,

Exact ainsi ça devrait passer.
Ca explique pourquoi "import -window root image.png" fonctionne (la 
capture ne se fait que sur la fenêtre principale).


Il faut que j'adapte ton algorithme  à ma sauce.

Un truc que je ne comprends pas est que "wmctrl -d" ne me renvoie qu'UN 
desktop, alors que j'en attendais 4...


Merci

pierre estrem


Le 12/10/2021 à 22:09, Étienne Mollier a écrit :

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.png

Et j'obtiens l'erreur :

import: unable to read X window image `0x0563': 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 ?

C'est une limitation de "import", le programme ne prend pas en
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,  :)




Re: Capture d'écran avec wmctrl+import

2021-10-12 Par sujet didier gaumet



Le mardi 12 octobre 2021 à 03:52 +0200, Pierre ESTREM a écrit :
> 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 `0x0563': 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

En exécutant ces mêmes commandes en interactif ça marche mais pas en
les collant dans un fichier exécutable. Ce qui m'a fait me demander si
il ne fallait pas spécifier le chemin d'accès: en spécifiant par
exemple ~/screenshot.png au lieu de screenshot.png, chez moi ça
marche...




Re: Capture d'écran avec wmctrl+import

2021-10-12 Par sujet Pierre ESTREM

Bonsoir,

Ben non, ça ne passe pas.
Pourquoi compliquer avec 'awk' ?
Un bon vieux 'cut' fait l'affaire.

L'ID de la fenêtre s'obtient aussi facilement :

id="$(wmctrl -l | grep -i -G "firefox$" | cut -f1 -d" ")"

Et c'est la commande dessous qui échoue :

 import -window "$id" screenshot.png

Pas besoin du timestamp ; je n'en suis qu'aux tests.

pierre estrem


Le 12/10/2021 à 04:50, Bernard Schoenacker a écrit :

- Mail original -

De: "Pierre ESTREM"
À: "ML Debian User French"
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 `0x0563': 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


Bonjour Pierre,


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





[HS] dhcps

2021-10-12 Par sujet David Martin
Bonjour à tous,

Nmap et le plugin broadcast-dhcp-discover me renvoi bien
l'identification du serveur dhcp de mon boulot.

Mais il me crache aussi 38 hotes avec ce type de ligne :

PORT   STATESERVICE
67/tcp filtered dhcps
MAC Address: 90:1B:0E:FD:B0:E3 (Fujitsu Technology Solutions GmbH)

Nmap scan report for 172.19.248.62
Host is up (0.0012s latency)

Ce sont des postes windows, quel est ce service ?  le service client de
microsoft ?
le service DHCP d'une multitude de serveur qui nous mettent la zizanie (ce
qui est le cas si c'est bien ça) ?

A votre avis ?



-- 
david martin