Capturando tela em modo gráfico (Melhorado)
Publicado por Sandro Marcell 14/10/2008
[ Hits: 6.027 ]
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
Backup interativo (exemplo de shell script)
Verificar links ON e OFF nas estações ou servidores
buscar textos que contenham várias strings
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Ativando e usando "zoom" no ambiente Cinnamon
Vídeo Nostálgico de Instalação do Conectiva Linux 9
Como realizar um ataque de força bruta para desobrir senhas?
Thinkpads são bons mesmo ?! (1)
Estou tentando ser legalista, mas tá complicado! (8)
Queda no serviços da Cloudflare, alguns sites estão fora do ar. (1)









