Inicie um programa, faça captura de tela automática quando sua GUI for instanciada e feche o programa

1

Este é o meu problema: Eu tenho um script de shell, onde eu uso gitk --all . para uma representação gráfica de um repositório git. Eu gostaria que este script fosse executado de forma autônoma e, em vez de iniciar o gitk no modo GUI, onde ele aguarda o usuário fechá-lo, eu gostaria de de alguma forma:

  • Iniciar a janela gitk
  • Ao instanciar sua GUI / janela, tire uma captura de tela automática de sua janela
  • Quando a captura de tela for capturada, feche gitk

Eu imagino, em vez de chamar

gitk --all .

... no meu script bash , eu chamaria algo como esse pseudocódigo:

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

Isso é possível no Linux - e se sim, como posso fazê-lo?

    
por sdaau 05.10.2015 / 11:49

1 resposta

1

Você pode tentar fazer algo assim

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 ###" 

Notas:

  • Requer o Imagemagick instalado (por import , mas você pode alterar o comando com o que preferir ).
  • Você precisa esperar o tempo suficiente em sleep ... fazer algum teste e ter um valor aconchegante (você precisa ter certeza de que fez o seu trabalho)
por 05.10.2015 / 12:57