Встановлення Xdotool
Щоб встановити xdotool в Ubuntu, виконайте команду нижче:
$ sudo apt встановити xdotoolЩоб встановити xdotool в інших дистрибутивах Linux, знайдіть термін «xdotool» у менеджері пакетів. Xdotool входить до сховищ більшості дистрибутивів Linux.
Імітуйте натискання клавіші
Ви можете використовувати xdotool для імітації натискання клавіші, виконавши команду нижче. Замініть "n" будь-якою дійсною клавішею або символом у розкладці клавіатури.
$ xdotool ключ nЗверніть увагу, що наведена вище команда буде імітувати натискання та відпускання клавіш один за одним, і ви не помітите жодної затримки між цими подіями. Якщо ви хочете змоделювати їх окремо, використовуйте такі команди:
$ xdotool клавіатура n$ xdotool клавіатура n
Імітуйте натискання клавіші за допомогою клавіші-модифікатора
Клавіші-модифікатори змінюють поведінку натискань, коли одночасно натискаються дві або більше клавіш. Е.g.
Ви можете знайти правильні імена клавіш клавіатури, використовуючи таку команду:
$ xevВідкриється маленьке віконце. Зберігайте фокус, потім натисніть будь-яку клавішу. Ви отримаєте ім'я ключа в терміналі.
Імітуйте повторювані клавіші / турбо / швидкий вогонь
Для імітації декількох натискань клавіш протягом певного періоду вам потрібно буде вказати, скільки разів потрібно імітувати натискання клавіш та затримку між кожним натисканням клавіші. Для цього виконайте команду у такому форматі:
$ xdotool ключ --повтор 5 --затримка 50 нЗамініть значення перемикачів “-repeat” та “-delay” (у мілісекундах) відповідно до ваших вимог. Зверніть увагу, що у мене виникали проблеми з повторенням, коли я встановив затримку більше 500 мс. Це може бути помилка або передбачувана поведінка, і якщо ви стикаєтесь із подібними проблемами, уникайте встановлення великих значень затримки. Ви можете використати оператори циклу “for” та “while”, щоб подолати це обмеження.
Вказана нижче команда введе тричі клавішу "n" із затримкою в 2 секунди між кожним натисканням клавіші.
$ за i за 1… 3; виконайте xdotool ключ n; спати 2; зробленоВи також можете використовувати цикл while, щоб повторно імітувати натискання клавіш, поки цикл не буде перервано вручну
Імітуйте ключову послідовність
Щоб імітувати кілька ключів один за одним, використовуйте команду в наступному форматі:
$ xdotool ключ x y zІмітуйте клацання мишею
Щоб імітувати клацання правою кнопкою миші в поточному розташуванні вказівника, виконайте команду нижче:
$ xdotool натисніть 3Замініть "3" будь-яким номером із посилання нижче:
- 1 - Клацніть лівою кнопкою миші
- 2 - Середній клік
- 3 - Клацніть правою кнопкою миші
- 4 - Колесо прокрутки вгору
- 5 - Колесо прокрутки вниз
Якщо ви хочете використовувати інший набір координат, використовуйте команду в наступному форматі:
$ xdotool mousemove 100 100 клацніть 3Замініть “100” потрібними координатами як “X” та “Y” у верхньому лівому куті екрана.
Зверніть увагу, що різні приклади, пояснені до цього часу натисканням клавіш, також можна використовувати при натисканні миші.
Отримайте активне вікно та згорніть його
Наступна команда отримає ідентифікатор вікна, яке зараз знаходиться у фокусі, а потім згортає його:
$ xdotool getactivewindow вікнозгорнутиЗверніться до сторінки "Людина"
Xdotool містить безліч опцій, і ви можете використовувати незліченну кількість комбінацій для налаштування поведінки натискань клавіш та клацань миші. Тут неможливо охопити всі випадки використання, ви можете звернутися до сторінки користувача, виконавши команду нижче:
$ man xdotoolВи також можете отримати доступ до сторінки користувача в Інтернеті.
Зв'яжіть команди та сценарії Xdotool із комбінаціями клавіш
Ви можете використовувати графічний інтерфейс налаштування комбінацій клавіш, доступний у системних налаштуваннях вашого дистрибутиву, щоб призначити прості команди xdotool спеціальним комбінаціям клавіш. У разі складних та декількох операторів збережіть команди у сценарії, а потім зіставте сценарій із комбінацією клавіш.
Висновок
Xdotool - одна з найкращих утиліт, доступних для автоматизації введення клавіатури та миші в Linux. Ви можете запускати як прості макроси, так і складні команди, об’єднавши кілька модельованих входів.