Re: Capture d'écran avec wmctrl+import
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
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
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
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