Запустите программу, сделайте автоматический снимок экрана, когда ее GUI был создан, затем закройте программу

1

Это моя проблема: у меня есть сценарий оболочки, где я использую gitk --all .графическое представление хранилища git. Я хотел бы, чтобы этот скрипт запускался без присмотра, и вместо запуска gitk в режиме графического интерфейса, где он ожидает, когда пользователь закроет его, я бы хотел как-то:

  • Запустите gitkокно
  • Когда он создаст свой GUI / окно, сделайте автоматический скриншот своего окна.
  • Как только снимок экрана был снят, закройте gitk

Я бы вообразил вместо звонка

gitk --all .

... в моем bashсценарии я бы назвал что-то вроде этого псевдокода:

my_scrshot_cmd --command "gitk --all ." --file myrandomfilename.png

Можно ли это сделать в Linux - и если да, то как я могу это сделать?

sdaau
источник

Ответы:

1

Вы можете попробовать сделать что-то вроде этого

gitk --all . &         # You run the gitk and go forward meanwhile
PidOfLastCommand=$!    # You need to remember the PID after
sleep 30s              # Change this value with the needed one... 
import screenshot.png  # From Imagemagick it saves the screenshot
kill $PidOfLastCommand # Let's we kill gitk

echo "### Just DONE ###" 

Заметки:

  • Это требует установленного Imagemagick (для import, но вы можете изменить команду с той, которую вы предпочитаете ).
  • Вам нужно подождать достаточно времени sleep... сделать тест и принять удобное значение (вы должны быть уверены, что он сработал)
Hastur
источник
Большое спасибо за это, @Hastur - у меня действительно есть Imagemagick, так что это поможет мне; принято сейчас ... Ура!
sdaau