Nesta dica veremos como criar um script para capturar um screenshot de nosso desktop, onde será possível determinar quantos segundos esperar para capturar a tela, assim como definir o nome do arquivo resultante, formato e se vamos capturar a tela inteira ou uma determinada janela.
O funcionamento do script é baseado no comando
import, que faz parte do pacote
ImageMagick. Para instalar, digite:
sudo apt-get install imagemagick
As ferramentas do ImageMagick são indispensáveis para todo bom usuário Desktop de
GNU/Linux. Se você ainda não as conhece, faça-me o favor:
man ImageMagick
A sintaxe para tirar um screenshot da tela com import é:
import -w root [arquivo].[extensao]
Onde:
- -w root :: indica que todo o desktop será capturado;
- [arquivo].[extensao] :: nome do arquivo resultante e extensão. O formato do arquivo criado será determinado pelo tipo de extensão escolhido, que pode ser png, jpg, gif, bmp etc. O ImageMagick suporta aproximadamente 100 formatos de arquivos.
Script para captura de tela
Crie o arquivo:
vim ~/capturar.sh
E cole o seguinte conteúdo:
#!/bin/bash
# Capturar tela com import
# Criado por Fábio Berbert de Paula <fberbert no Gmail>
#
# Uso:
#
# ./capturar.sh [-r] [-o arquivo] [-s segundos]
#
#inicializando variáveis
root=0
segundos=0
arquivo="/tmp/captura.$$.png"
while getopts :o:s:r VAR; do
case $VAR in
o) arquivo=${OPTARG} ;;
s) segundos=${OPTARG} ;;
r) root="1" ;;
esac
done
#aguardando o tempo informado
sleep $segundos
#capturando a tela
if [ $root -eq 0 ]
then
import $arquivo
else
import -w root $arquivo
fi
echo "Tela salva em: $arquivo"
Download do código acima:
capturar.sh
Torne-o executável:
chmod a+x ~/capturar.sh
E execute:
./capturar.sh
Será solicitado que você clique na janela que deseja capturar. Um arquivo com nome "captura.xxx.png" será criado no diretório /tmp/, onde xxx será substituído pelo PID do processo.
Caso queira capturar a tela inteira, basta adicionar a opção "-r" (root window), ficando assim:
./capturar.sh -r
Você também pode especificar o nome do arquivo resultante e seu formato. Para isso basta adicionar a opção "-o" e escolher a extensão de arquivo desejada. Exemplo:
./capturar.sh -r -o minha-tela.pdf
Que vai capturar toda a sua tela e salvar no arquivo minha-tela.pdf, em formato PDF.
E caso queira fazer com que o script aguarde algum tempo antes de tirar o screenshot, use a opção "-s [segundos]". Exemplo:
./capturar.sh -r -o esperar.png -s 5
O script aguardará 5 segundos para capturar a tela e salvar em "esperar.png".