启动一个程序,当其 GUI 实例化时自动截取屏幕截图,然后关闭程序

启动一个程序,当其 GUI 实例化时自动截取屏幕截图,然后关闭程序

这是我的问题:我有一个 shell 脚本,用于gitk --all .以图形方式表示 git 存储库。我希望此脚本无人值守运行,而不是以 GUI 模式启动 gitk 并等待用户关闭它,我希望以某种方式:

  • 启动gitk窗口
  • 当实例化其 GUI/窗口时,自动截取其窗口的屏幕截图
  • 截取屏幕截图后,关闭gitk

我想,而不是打电话

gitk --all .

...在我的bash脚本中,我会调用类似这样的伪代码:

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

这可以在 Linux 上实现吗?如果可以,我该怎么做?

答案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......做一些测试并采取舒适的值(您必须确保它完成了工作)

相关内容