Capturando tela em modo gráfico (Melhorado)
Publicado por Sandro Marcell 14/10/2008
[ Hits: 6.083 ]
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
Acelerar leitura e escrita no hd
Verifica se usuario corrente é root.
Mostrando um exemplo de redirecinamento
Gentoo: detectando impressoras de rede e como fixar uma impressora por IP
Como o GNOME conseguiu o feito de ser preterido por outras interfaces gráficas
Gentoo binário em 2026: UEFI, LUKS, Btrfs e Systemd
Trabalhando Nativamente com Logs no Linux
Jogando Daikatana (Steam) com Patch 1.3 via Luxtorpeda no Linux
Por que sua empresa precisa de uma PKI (e como automatizar EMISSÕES de certificados via Web API)
Instalando NoMachine no Gentoo com Systemd (acesso Remoto em LAN)
Gentoo: Trocando wpa_supplicant pelo iwd no NetworkManager (Systemd)
O que houve com slackware ??? (12)
Alterar conteúdo de dica [RESOLVIDO] (3)
Vou destruir sua infância:) (5)









