Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 20/09/2016, à 11:32

ubuntu47

[Résolu] Logiciel de scripting en ligne de commande

Bonjour je cherche des outils en ligne de commande, dans la lignée de autohotkey ou autoIt sur Windows, Google n'est pas très bavard, et me ressort autokey, qui visiblement ne correspond pas du tout, hormis un nom similaire.

J'ai par ailleurs essayer de les installer grâce à Wine, mais pour autohotkey, j'ai une erreur me disant qu'il ne trouve pas l'icon ... et refuse de me l'installer, et pour autoIt, certaine fonctionnalités fonctionnent, mais pas toute, je reste restreint à manipuler des applications ou fichiers dans Wine, mon but étant de "piloter" Opera (Ubuntu), ça ne semble pas fonctionner.

Les fonctionnalités que je cherche à apporter à mes scripts : Simulation de touches (envoi de texte, ENTER, F11 ..) & Color picker

Des idées ?

Dernière modification par ubuntu47 (Le 23/09/2016, à 11:37)

Hors ligne

#2 Le 20/09/2016, à 14:58

Nuliel

Re : [Résolu] Logiciel de scripting en ligne de commande

Bonjour,

xdotool est un programme qui permet de simuler l'appui de touches de clavier et de souris. Je m'en suis déjà servi pour me mettre afk sur une ferme à poisson dans minecraft, c'est assez simple à utiliser.
Je ne sais pas si c'est le meilleur choix pour piloter un logiciel surtout si tu veux faire mettre le curseur de la souris à un endroit précis, mais as tu regardé le manuel de opera (man opera dans un terminal)?

Pour color picker, je ne sais pas.

Dernière modification par Nuliel (Le 20/09/2016, à 14:58)

Hors ligne

#3 Le 20/09/2016, à 15:19

ubuntu47

Re : [Résolu] Logiciel de scripting en ligne de commande

Salut et merci ublender, man opera me retourne

No manual entry for opera

, de se que j'ai pu trouver à droite et à gauche, il n'y a pas beaucoup de paramètres.

Pour xdotools je l'ai trouver entre temps, mais hélas il ne semble pas fonctionner correctement oO

J'ai trouver xautomation qui me permet de faire ce dont j'ai besoin, visiblement un outil très proche de xdotool, mais qui veut bien fonctionner sur mon Ubuntu 16.04.

Pour le color picker, j'ai trouver grabc mais ça reste assez confus à utiliser dans un script, en fait j'aurais besoin de récupérer la valeur de la couleur dans une variable, alors qu'il me la retourne dans le terminal sad

Hors ligne

#4 Le 20/09/2016, à 15:42

Nuliel

Re : [Résolu] Logiciel de scripting en ligne de commande

Ah, pas de chance.
Pour le color picker, ça peut s'arranger. Tu utilises quoi: Bash ou c'est du python/C/...?
Si c'est du bash, tu peux extraire la donnée qui t'intéresse par sed et awk. Honnêtement, je ne maîtrise pas ces deux outils (je regarde des exemples sur internet pour récupérer une ligne par exemple) mais je sais que tu peux extraire ce que tu veux avec ça.

Edit: il y a aussi cut qui est plus simple je pense que awk et sed

Dernière modification par Nuliel (Le 20/09/2016, à 15:45)

Hors ligne

#5 Le 20/09/2016, à 16:19

ubuntu47

Re : [Résolu] Logiciel de scripting en ligne de commande

J'utilise Bash, je n'y connait rien en Python, le truc, c'est comment récupérer cette valeur dans une variable ? en gros actuellement j'ai réussi à faire passer la sorti dans un fichier texte, que je relis ensuite pour mettre le contenu dans une variable :

    grabc > SVR1.txt &
    colorVal=`cat SVR1.txt`

Il n'existe pas une facon de faire une sorte de grabc > colorVal ?

Merci encore de ton aide

Hors ligne

#6 Le 20/09/2016, à 16:54

Nuliel

Re : [Résolu] Logiciel de scripting en ligne de commande

colorVal=`grabc` devrait marcher

Hors ligne

#7 Le 20/09/2016, à 19:48

Hizoka

Re : [Résolu] Logiciel de scripting en ligne de commande

je sais pas si ca peut t'aider mais y a un langage que j'aimerai tester : sikuli.org


KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github

Hors ligne

#8 Le 20/09/2016, à 21:38

Arbiel

Re : [Résolu] Logiciel de scripting en ligne de commande

Bonsoir

Pour extraire une valeur d'un fichier avec sed, tu peux utiliser une commande telle que cela

variable="$(sed -rne "commande de traitement ") fichier"

La syntaxe variable="$(…)" est à mon avis plus lisible que la commande variable='…', même si on peut la confondre avec
variable="${…}. Mais ce n'est là qu'un avis.

Les options -rne
r : indique que l'expression régulière qui vient après dans la commande est une expression étendue
n : indique qu'il ne faut pas envoyer les lignes traitées vers /dev/stdout, sauf indication explicite, également indiquée dans la suite de la commande
e : pour indiquer que la commande à exécuter se trouve dans la ligne de commande, et non dans un fichier

Pour t'indiquer comment rédiger "commande de traitement " il serait bon que tu publies le fichier et ce que tu veux en extraire, et, éventuellement, s'il existe une chaîne de caractères particulière dans la ligne dont tu veux extraire un élément.

En tout état de cause, "man grep" te donne des explications plus complètes que "man sed" pour comprendre comment rédiger une expression dite "régulière", pour traiter les lignes.

Arbiel


Arbiel Perlacremaz
LDLC Aurore NK3S-8-S4 Ubuntu 20.04
Abandon d'azerty au profit de bépo, de google au profit de Lilo et de la messagerie électronique violable au profit de Protonmail, une messagerie chiffrée de poste de travail à poste de travail.

Hors ligne

#9 Le 21/09/2016, à 19:42

k3c

Re : [Résolu] Logiciel de scripting en ligne de commande

Hizoka a écrit :

je sais pas si ca peut t'aider mais y a un langage que j'aimerai tester : sikuli.org


j'ai testé Sikuli, ça marche, mais c'est galère, tu passes ton temps à prendre des photos des images écran, vu que Sikuli reconnait ces images et fait les actions demandées.


Archlinux sur Xiaomi Air 13

Hors ligne

#10 Le 23/09/2016, à 01:51

ubuntu47

Re : [Résolu] Logiciel de scripting en ligne de commande

Tout d'abord merci à vous,

Pour la commande Sed que je ne connaissais pas et même si cela m'oblige encore à passer par du fichier texte pour stocker des valeurs, j'ai juste envie de dire .... WOW tongue

colorVal=`grabc`

ne fonctionne pas malheuresement.

Après une lecture rapide, il semblerait qu'elle se rapproche un peu plus de se que je voudrais faire, en gros je me servais de plusieurs fichiers textes pour stocker une variable dans chacun, le nom du fichier etant en quelque sorte la variable, et son contenu la valeur de celle-ci, avec Sed plus besoin de xx fichiers différents.

Sikuli effectivement a l'air plutôt pas mal, mais qu'en ai t'il de la rapidité ? j'ai peur que ça ne mouline un petit peu, mais qui c'est, qui ne risque rien n'a rien, je me lance tongue

Hors ligne

#11 Le 23/09/2016, à 06:02

pingouinux

Re : [Résolu] Logiciel de scripting en ligne de commande

Bonjour,

ubuntu47 #10 a écrit :

   

colorVal=`grabc`

ne fonctionne pas malheuresement.

Pourtant

$ colorVal=`grabc`
255,74,86

$ echo $colorVal
#ff4a56

La valeur hexadécimale est envoyée sur stdout, et les valeurs décimales R,G,B sur stderr.

Il est préférable d'utiliser la syntaxe préconisée par Arbiel en #8

$ colorVal=$(grabc)
58,129,204

$ echo $colorVal
#3a81cc

Édité :
Pour n'avoir que la valeur hexadécimale

$ colorVal=$(grabc 2>/dev/null); echo $colorVal
#3a81cc

Pour n'avoir que les valeurs décimales

$ colorVal=$(grabc 2>&1 1>/dev/null); echo $colorVal
58,129,204

Dernière modification par pingouinux (Le 23/09/2016, à 07:10)

Hors ligne

#12 Le 23/09/2016, à 11:37

ubuntu47

Re : [Résolu] Logiciel de scripting en ligne de commande

Que dire hormis que je suis confus, je n'ai pas encore l'habitude de stdout et stderr, et j'avoue ne pas avoir testé un echo de ma variable en voyant le retour de la valeur décimale sur stderr.
Merci pour l'explication claire et concise en tous cas et merci encore à vous tous.

Hors ligne

#13 Le 23/09/2016, à 12:24

pingouinux

Re : [Résolu] Logiciel de scripting en ligne de commande

Prends l'habitude d'utiliser man.
Voici un extrait de man grabc :

............
the color of the clicked pixel is written to stdout in hex prefixed with #.
It will the R, G,  B component also in the stderr.

Hors ligne