Lexique informatique › Infrastructure › xdotool

xdotool

Infrastructure Svenska → Mis à jour: 2026-10-09
Plus d'infos
Créé par
Jordan Sissel
Année
Type
Outil en ligne de commande
Licence
BSD-3-Clause
Code source
github.com/jordansissel/xdotool

L'outil en ligne de commande qui se fait passer pour l'utilisateur : il appuie sur des touches, déplace la souris, et trouve, active et déplace des fenêtres X11 depuis un script shell.

Jordan Sissel, plus tard connu pour Logstash, a publié xdotool en 2007 pour piloter des programmes dépourvus d'interface en ligne de commande. xdotool key ctrl+alt+t envoie une combinaison de touches, xdotool type 'texte' tape une chaîne, xdotool mousemove 400 300 click 1 déplace et clique, et xdotool search --name Firefox windowactivate trouve une fenêtre et lui donne le focus. Les commandes s'enchaînent sur une seule ligne, et la bibliothèque libxdo offre la même chose en C. La saisie passe par l'extension XTEST, qui injecte les événements dans le serveur comme s'ils venaient du clavier, et la gestion des fenêtres par les propriétés EWMH, de sorte qu'il fonctionne avec n'importe quel gestionnaire de fenêtres moderne.

Deux pièges sont bien connus. Avec --window, les touches passent par XSendEvent, que beaucoup de programmes ignorent parce que l'événement est marqué comme synthétique ; sans cette option, tout atterrit dans la fenêtre qui a le focus au moment où le script s'exécute, ce qui a déjà fait taper un mot de passe dans une fenêtre de messagerie. Wayland n'a pas d'équivalent à XTEST, et les successeurs comme ydotool doivent passer par uinput du noyau, avec les privilèges que cela exige.

← Retour au lexique