Capturando tela em modo gráfico (Melhorado)
Publicado por Sandro Marcell 14/10/2008
[ Hits: 5.808 ]
Homepage: http://sanmarcell.wordpress.com
Simples shell script que "tira" screenshots do desktop do usuário.
P.S.: Já havia postado aqui no VoL uma versão desse script, porém, resolvi dar uma exugada em seu código, por isso, estou "repostando" o script!
Espero que curtam...
Falou!!! =)
#!/bin/sh # # Capturando tela em modo grafico. # # Sandro Marcell (sandro_marcell@yahoo.com.br) # Boa Vista, Roraima - 04/11/2007 (Atualizado em 17/08/2008). # # 17/08/2008 # - Todo o codigo do script foi "enxugado". # # Este script pode tirar uma 'screenshot' de toda sua area de trabalho # ou apenas duma janela especifica. Para tanto, basta que na tela # inicial se pressione: # - Botao 'Tela' = Captura toda tela; # - Botao 'Janela' = Captura janela especifica. # # Dependencias: xmessage e import (pacote ImageMagick). PATH=/bin:/usr/bin:/usr/local/bin prog=`basename ${0}` # Definindo a qualidade de captura da imagem: __defqld__ () { # Caixa de selecao de qualidade: selec=`xmessage -title "$prog" -buttons Alta,Baixa,Media -print \ -center "Que qualidade deseja para a imagem a ser criada?" ` # Opcao escolhida: case "$selec" in Baixa) qld=25 ;; Media) qld=50 ;; Alta ) qld=100 ;; * ) exit 1 ;; esac } # Funcao que verifica o resultado da operacao: __verifica__ () { # Checando o codigo de retorno do comando 'import': if [ $cret -eq 0 ] then # Captura bem sucedida: xmessage -title "$prog" -center \ "${HOME}/$$.jpg: "$opc" capturada com sucesso." # Removendo arquivo de log: rm -f /tmp/$$ exit else # Erro: Informando o erro ocorrido: xmessage -title "Erro" -center -file /tmp/$$ rm -f /tmp/$$ exit 1 fi } # Janela principal: Opcoes disponiveis para o usuario: opc=`xmessage -title "$prog" -buttons Tela,Janela,Nada \ -print -center "O que deseja capturar?" ` # Verificando e executando a opcao escolhida: if [ "$opc" = "Tela" ] then # Chamando a funcao '__defqld__': __defqld__ # Capturando... import -silent -dither -window root -quality "$qld" \ -pause 1 ${HOME}/$$.jpg 2> /tmp/$$ # Armazenando o codigo de retorno do comando 'import': cret=$? # Chamando a funcao '__verifica__': __verifica__ elif [ "$opc" = "Janela" ] then __defqld__ # Aviso ao usuario: xmessage -title "$prog" -buttons Ok:0 -center \ "Ao clicar em 'Ok' um cursor aparecera, use-o para clicar sobre a janela que deseja capturar!" # O usuario pressionou o botao 'Ok'? if [ $? -eq 0 ] then import -silent -dither -screen -quality "$qld" \ -pause 1 ${HOME}/$$.jpg 2> /tmp/$$ cret=$? __verifica__ else exit $? fi elif [ "$opc" = "Nada" ] then exit 1 else exit $? fi # Fim
Script de iniciação do servidor Nagios no Slack
Script para Unzipar(com funções)
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Como renomear arquivos de letras maiúsculas para minúsculas
Imprimindo no formato livreto no Linux
Vim - incrementando números em substituição
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
OpenVPN no MACBOOK conecta mas não pinga pastas de rede compartilhada ... (1)
Vou voltar moderar conteúdos de Dicas e Artigos (2)
Melhorando a precisão de valores flutuantes em python[AJUDA] (8)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta