Capturando screenshots com Shell Script

Publicado por Fábio Berbert de Paula em 20/12/2012

[ Hits: 9.204 ]

Blog: https://fabio.automatizando.dev

 


Capturando screenshots com Shell Script



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

Outras dicas deste autor

Empresa desenvolve CRM que funciona em Linux

Configurando Winmodens no Linux

Convertendo arquivos .doc para .txt via linha de comando

Como recuperar uma senha salva no Chrome ou Firefox

Como forçar o tipo de arquivo no Vim

Leitura recomendada

Criando item no menu do GNU/Linux com terminal executando comandos/scripts/aplicações

Habilitar Cgi-Shell no Apache2

Verificar se site está online via linha de comando

Aulas Shell Script do zero - Parte 9

Listando os 5 maiores subdiretórios no GNU/Linux

  

Comentários
[1] Comentário enviado por smarcell em 21/12/2012 - 16:40h

A suite ImageMagick é fantástica! A várias ferramentas incrivéis.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts