Alguma solução alternativa. Você precisará de gnome-screenshot
e imagemagick
packages, além de alguns comandos padrão.
Definimos simplesmente um nome de arquivo aleatório (no diretório temporário /tmp
), pegamos uma captura de tela, escrevemos o nome e analisamos as dimensões da imagem (escolhendo apenas o tamanho do pixel) e finalmente removemos a imagem.
#!/bin/bash
imed=$(mktemp -u).png &&\
#-a allows area specification and
#-f defines the screenshot file's location and name
gnome-screenshot -a -f "$imed" &>/dev/null &&\
#now draw the rectangle
#extract pixel dimensions form file
identify "$imed" | awk -F' ' '{print $3}' &&\
#and remove it
rm -f "$imed"
Obviamente, isso significa criar um arquivo fictício. Pode-se especificar um tmpfs
para a localização da imagem para tê-la apenas na RAM - acelera o processo e é melhor para a saúde do HD.