IT-словарь › Инфраструктура › xdotool

xdotool

Инфраструктура Svenska → Обновлено: 2026-10-19
Подробнее
Создатель
Jordan Sissel
Год
Тип
Утилита командной строки
Лицензия
BSD-3-Clause
Исходный код
github.com/jordansissel/xdotool

Утилита командной строки, выдающая себя за пользователя: нажимает клавиши, двигает мышь, находит, фокусирует и перемещает окна X11 из shell-скрипта.

Джордан Сиссел, позже известный по Logstash, выпустил xdotool в 2007 году как способ управлять программами, у которых нет собственного интерфейса командной строки. xdotool key ctrl+alt+t посылает комбинацию клавиш, xdotool type 'text' печатает строку, xdotool mousemove 400 300 click 1 перемещает курсор и кликает, а xdotool search --name Firefox windowactivate находит окно и даёт ему фокус. Команды можно соединять в одной строке, а библиотека libxdo делает то же из C. Ввод идёт через расширение XTEST, подающее события на сервер так, будто они пришли с клавиатуры, а управление окнами — через свойства EWMH, поэтому утилита работает с любым современным оконным менеджером.

Две ловушки хорошо известны. С --window клавиши отправляются через XSendEvent, и многие программы их игнорируют, поскольку событие помечено как синтетическое; без этого флага всё попадает в то окно, которое в момент запуска скрипта оказалось в фокусе, — так пароль время от времени набирали в окне чата. В Wayland аналога XTEST нет, и преемникам вроде ydotool приходится работать через uinput ядра со всеми вытекающими требованиями к привилегиям.

← Назад к словарю