Leksykon IT › Infrastruktura › xdotool

xdotool

Infrastruktura Svenska → Zaktualizowano: 2026-10-09
Więcej informacji
Twórca
Jordan Sissel
Rok
Typ
Narzędzie wiersza poleceń
Licencja
BSD-3-Clause
Kod źródłowy
github.com/jordansissel/xdotool

Narzędzie wiersza poleceń, które podszywa się pod użytkownika: naciska klawisze, rusza myszą oraz znajduje, aktywuje i przesuwa okna X11 ze skryptu powłoki.

Jordan Sissel, później znany z Logstasha, wydał xdotool w 2007 roku jako sposób na sterowanie programami bez własnego interfejsu wiersza poleceń. xdotool key ctrl+alt+t wysyła kombinację klawiszy, xdotool type 'text' wpisuje ciąg znaków, xdotool mousemove 400 300 click 1 przesuwa kursor i klika, a xdotool search --name Firefox windowactivate znajduje okno i nadaje mu fokus. Polecenia łączy się w jednej linii, a biblioteka libxdo robi to samo z poziomu C. Wejście przechodzi przez rozszerzenie XTEST, które wprowadza zdarzenia do serwera tak, jakby pochodziły z klawiatury, a zarządzanie oknami przez właściwości EWMH, więc działa z każdym nowoczesnym menedżerem okien.

Dwie pułapki są dobrze znane. Z opcją --window klawisze idą przez XSendEvent, które wiele programów ignoruje, bo zdarzenie jest oznaczone jako syntetyczne; bez niej wszystko ląduje w oknie, które akurat ma fokus w chwili uruchomienia skryptu, co zdarzało się kończyć wpisaniem hasła w okno czatu. Wayland nie ma odpowiednika XTEST, a następcy, tacy jak ydotool, muszą iść przez uinput jądra, z wymaganymi do tego uprawnieniami.

← Wróć do leksykonu