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

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

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

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

One Solution collect form web for “Имитация нажатия клавиши PrintScreen”

Не нужно «вызывать» кнопку 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

  • Как совместить условия с xdotool?
  • xdotool sleep 1 vs sleep 1, любая разница?
  • Повторно активировать сохраненный pid окна с помощью xdotool
  • xdotool - как получить идентификатор окна с учетом его X и Y?
  • xdotool и xbindkeys
  • Есть ли проблема с использованием xdotool для прямого нажатия клавиш на окна Java?
  • Как я могу нажать клавишу Windows с помощью xdotool
  • Каков синтаксис для передачи вывода команды в xargs?
  • Как я могу автоматизировать черепицу окна с пользовательской шириной? (Корица)
  • X: узнать, видимо ли окно пользователю, т.е. не покрыто другими
  • Ярлык клавиатуры, чтобы открыть новый терминал, если он не существует на этом рабочем столе. В противном случае сосредоточьте текущий
  • Linux и Unix - лучшая ОС в мире.