Xdotool : simulation du clavier et de la souris sous Linux


Linux Keys
Xdotool est un programme capable de simuler des événements claviers et souris. On pourra s'en servir pour mettre en place de véritables "scénarios" d'action à rejouer. Contrairement à Randtype vu dernièrement, xdotool ne se limite pas au terminal. Il est aussi capable de manipuler les fenêtres de votre environnement graphique.

Installation de xdotool

Pour une distribution à base de rpm, ouvrez un terminal en root et lancez la commande suivante :

yum install xdotool

Ou celle-ci pour une distrbution à base de Debian :

sudo apt-get install xdotool

Exemples d'utilisation de xdotool

Xdotool peut s'utiliser en ligne de commande pour des actions simples. Le paramètre -h vous permettra d'obtenir de l'aide.

Mais dans la plupart des cas, on aura besoin de combiner plusieurs événements. L'utilisation d'un script sera alors la meilleure solution. Voici un exemple de ce que l'on peut réaliser avec :

#!/bin/bash
WID=`xdotool search --title "Mozilla Firefox" | head -1`
xdotool windowfocus $WID
xdotool key ctrl+l
xdotool type "www.tux-planet.fr"
xdotool key "Return" 

Ce script effectue dans l'ordre les actions suivantes :

  • on recherche l'id de la fenêtre Firefox
  • on se positionne sur cette fenêtre
  • on utilise la touche de raccourci Ctrl+l qui permet d'utiliser la barre d'adresse
  • on écrit l'adresse de Tux-planet
  • on valide avec la touche entrée

On aurait pu aller encore plus loin, en déplaçant le curseur de la souris et en cliquant sur un lien :

xdotool mousemove 500 500
xdotool click 1

Les possibilités de xdotool sont donc intéressantes. Libre à vous de créer vos propres scénarios.


8 Commentaires pour "Xdotool : simulation du clavier et de la souris sous Linux"

Flux des commentaires de cet article Ajouter un commentaire
  •  

    Et hop un petit script pour "tricher" à JamLegend :)

    RépondreRépondre
    Fatal1ty , le 17 mars 2010 à 10:11
  •  

    Merci pour l'astuce. C'est super pratique si on veut ce faire un petit script qui ouvre automatiquement dans firefox et dans différent onglets les sites qu'on visite de manière régulière par exemple.

    RépondreRépondre
    maeln , le 17 mars 2010 à 17:53
  •  

    @maeln : pourquoi ne pas utiliser la commande "firefox http://bing.com/ http://google.com/ http://yahoo.com/" pour ouvrir plusieurs sites ? On peut l'utiliser dans un script ou un lanceur d'application (au moins sous GNOME).

    RépondreRépondre
    Moe , le 17 mars 2010 à 19:12
  •  

    @Moe @maeln : certe on peut faire autrement pour ouvrir un site Internet. C'est juste un exemple, xdotools permet de faire plein d'autres choses...

    RépondreRépondre
    pti-seb , le 17 mars 2010 à 21:45
  •  

    Ce qu'il reste à trouver c'est un logiciel pour «lire» l'écran et agir en conséquence. Ensuite … à nous la triche ! :P

    RépondreRépondre
    erdnaxeli , le 31 mars 2010 à 23:41
  •  

    Bonjour,
    Je tente d'automatiser la combinaison Fn + Diminuer la luminosité au démarrage d'un ordi portable pour obtenir automatiquement un affichage optimal. Je pense qu'Xdotool devrait me permettre de le faire mais je ne sais pas comment nommer ces 2 touches. Y a t'il des idées lumineuses dans l'assemblée ?
    Bon dimanche.
    Jean

    RépondreRépondre
    Jean49 , le 1 mai 2011 à 11:15
  •  

    @Jean49 : le nom de ce 2 touches

    RépondreRépondre
    nicole , le 15 juillet 2011 à 21:26
  •  

    @erdnaxeli :
    Bonjour.
    Je propose http://sikuli.org/.

    RépondreRépondre
    RedGuff , le 16 mai 2012 à 19:33
 

Ajouter un commentaire

actualité android apache apple astuce astuces bash bilboblog blog boot chrome clavier commande commandes conky date debian Desktop développement elementary exploit faille fedora firefox flash gimp gnome google graphique Graphisme hack hacking Hardware humour intel internet iphone jailbreak Jeux Kde kernel libre Linux log logiciels Logiciels Libres lucid lynx maemo mail maquette metasploit microsoft mobile mockup monitoring mozilla multi-touch musique mysql n900 nautilus nokia noyau openoffice open source password photos php Planet publicité red hat redhat rpm réseau screenshot script serveur serveurs shell sql ssh statistiques sysadmin system Sécurité thème tux-planet tv twitter ubuntu unity vidéo vidéos vlc voyage wallpaper windows wordpress yum