Имитация нажатия клавиши PrintScreen

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

Я могу сделать это вручную, но это утомительно, так как у меня много скриншотов.

Я вижу, что для этого могу использовать xdotool. Каково ключевое имя для экрана печати? (Я далеко от моего терминала Linux, и я не могу использовать xev удаленно), как я могу определить имена ключей, используя что-то помимо xev?

Не нужно «вызывать» кнопку PrtSrn , если вы устанавливаете ImageMagick, тогда вы можете сделать следующее в своем скрипте:

 import -window root output.png 

Если вы хотите wmctrl конкретное окно, вы можете сначала найти его идентификатор с помощью wmctrl (следующий wmctrl окна Firefox, отображающего этот пост, строка grep -ed должна быть уникальной.):

 id=$(wmctrl -l | grep -F 'bash - simulate' | cut -d ' ' -f 1) import -window $id window.png 

В качестве альтернативы, если вы знаете, какая часть экрана вам нужна, вы можете захватить весь экран, а затем использовать convert -chop чтобы вырезать то, что вам нужно, с рабочего стола.

ImageMagick обычно устанавливается с помощью пакета с именем imagemagick