Отправка событий нажатий клавиш на сервер через Putty с помощью xdotool

Материал из AlexNook
Перейти к: навигация, поиск

Встала необходимость отправить несколько команд на сервер, но не просто выполнить их в текущем открытом терминале (putty), а так, чтобы они попали непосредственно в окно терминала, запущенного на сервере, и открытого на рабочем столе монитора, который непосредственно подключен к видеовыходу видеокарты сервера.

Достаточно редкая и возможно где-то путанная задача, но тем не менее она имеет простое решение, если пренебречь удоством, то есть не требуется таким образом работать на постоянной основе.

Установка xdotool под Gentoo

Сперва нужно поставить на сервер програмку x11-misc/xdotool Для этого вводим

x11-misc/xdotool

Использование xdotool

После чего мы можем выполнить ряд не сложных команд для передачи текста (символов или строки целиком, или событий нажатия той или иной клавиши) на сервер, как если бы мы сделали с клавиатуры, поключённой к нему физически и смотрели результат на мониторе сервера.

Серва в системную переменную DISPLAY заносим информацию, куда будет выводиться информация, которая является реакций на посланные команды, якобы нажатых клавиш на сервере.

DISPLAY=:0.0; export DISPLAY

Примеры использования xdotool под Gentoo

Отослать сигнал нажания клавиши p

xdotool key 'p'

Отослать сигнал нажания клавиши "стрелочка вверх"

xdotool key Up

Отослать сигнал ввода целиковой строки "long-string"

xdotool type "long-string"

Отослать сигнал нажания клавиши "Ввод"

xdotool key KP_Enter

Ссылки

В статье своей я использовал материалы двух сайтов: