Есть ли способ сделать скриншот командной строки в Redhat без участия GUI? - PullRequest
1 голос
/ 31 мая 2019

Я хочу иметь возможность делать скриншоты в Redhat без участия GUI. У меня нет ImageMagic, поэтому я не могу использовать импорт (что было бы идеально). Я хочу написать сценарий, который делает снимок экрана очень часто без вмешательства пользователя.

Я пробовал gnome-panel-screenshot, но он отображает графический интерфейс снимка.

Сценарий будет выглядеть примерно так (псевдокод):

sleep_time = <mySleepTime>
filename = <myFilename>
set i = 1
while true do
  filename = filename + "$i"
  <snapshot command> filename
  sleep $sleep_time 
  i = i + 1
end while

1 Ответ

0 голосов
/ 05 июня 2019

Используйте команду импорта

$ import -window root -resize 400x300 -delay 200 screenshot.png

Требуется только запустить X-сервер, он не вызовет никакого интерфейса.

Или использование python3 + OpenCV

$ pip3 install python3_xlib python-xlib 
$ pip3 install pillow imutils 
$ pip3 install opencv-python 

$ cat screen.py

import numpy as np
import pyautogui
import imutils
import cv2

image = pyautogui.screenshot()
image = cv2.cvtColor(np.array(image), cv2.COLOR_RGB2BGR)
cv2.imwrite("in_memory_to_disk.png", image)

$ python3 screen.py

enter image description here

Это не приносит никакого интерфейса,скрипт просто запустится и выйдет

...