O import
do ImageMagick pode tirar uma captura de tela da raiz do Xorg automaticamente e com -crop
somente a parte desejada será usada. xrandr
fornece o parâmetro para crop
.
Para minimizar a sobrecarga, você deve construir o comando import
uma vez em vez de consultar usando o nome de exibição sempre que fizer uma captura de tela:
mapfile -t displays < <(xrandr | grep ' connected')
get_date=''date +"%Y%m%d-%H%M%S"''
for (( i=0; i<${#displays[@]}; i++)); do
name='echo ${displays[i]} | cut -d " " -f 1'
crop='echo ${displays[i]} | cut -d " " -f 3'
echo import -silent -window root -crop ${crop} \"${name}-${get_date}.png\"
done
A explicação do mapfile e do loop pode ser encontrada em esta questão .
Isso lhe dará comandos como os seguintes:
import -silent -window root -crop 1920x1080+0+0 "DFP5-'date +"%Y%m%d-%H%M%S"'.png"
import -silent -window root -crop 1920x1080+1920+0 "DFP7-'date +"%Y%m%d-%H%M%S"'.png"
que agora você pode usar em um loop while para o timelapse (pare com ctrl+c
).
while [ 1 ]; do
import ...
sleep 1 # for 1 second delay between screenshots
done
Este é o único método que conheço. Espero que existam formas com menos sobrecarga.