Эквивалентный xdotool для Уэйленда

Я ищу решение, работающее в Уэйленде, чтобы получить положение мыши, переместить его и щелчок внутри a bash сценарий, все вещи xdotool может сделать для X-сервера.

xdotool getmouselocation

все еще работает, но

xdotool mousemove 
xdotool click 

не окажите влияние на курсор мыши в GNOME сессия Уэйленда.

17
задан 18 November 2017 в 13:12

2 ответа

Это вызвано тем, что такие функции были явно удалены из Уэйленда из соображений безопасности. Главные проблемы читали другой вход программ и позволяли поддельному входу быть отправленным в другие программы, которые позволят различные векторы атаки.

Некоторые менеджеры окон могли бы реализовать своего рода макро-опцию в будущем, но на данный момент нет такой функции, о которой я знаю.

Реализация этого означала бы реализовывать его для каждого из различных менеджеров окон, которые, конечно, возьмут все еще некоторое время.

Я предлагаю использовать Xorg вместо Уэйленда на данный момент, если необходимо использовать такие функции.

6
ответ дан 23 November 2019 в 02:26

Существует пакет ydotool для wayland:

Пакет ydotool

Универсальный инструмент автоматизации командной строки (без X!)

https:// github.com/ReimuNotMoe/ydotool

Выполняет некоторые функции xdotool(1), не требуя X11 — однако обычно требуется root-права (для открытия /dev/uinput)

Команды, реализованные в настоящее время:

  • type — введите строку
  • key — нажмите клавиши
  • mousemove — переместите указатель мыши в абсолютное position
  • mousemove_relative - Переместить указатель мыши в относительное положение
  • mouseup - Генерировать событие перемещения мыши
  • mousedown - Генерировать событие нажатия кнопки мыши
  • click - Щелчок по кнопкам мыши
  • recorder - Записывать/воспроизводить события ввода

Примечание при желании вы можете запустить демон ydotoold с помощью:

  • systemctl enable ydotool
  • systemctl start ydotool

Версия: 0.1.9

2
ответ дан 10 December 2020 в 12:00

Другие вопросы по тегам:

Похожие вопросы: