Capturando tela em modo gráfico (Melhorado)
Publicado por Sandro Marcell 14/10/2008
[ Hits: 5.977 ]
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
Imprimindo textos com o comando "echo"
Comparando conteúdo de pastas...
Remoção da sessão convidado do Ubuntu 16.04
Acelerar leitura e escrita no hd
Script para reconhecer MP4Player no Ubuntu
Kernel 6.18 em foco, betas fervilhando e avanços em IA no Linux
O que é o THP na configuração de RAM do Linux e quando desabilitá-lo
Comparação entre os escalonadores BFQ e MQ-Deadline (acesso a disco) no Arch e Debian
Adicionando o repositório backports no Debian 13 Trixie
Como definir um IP estático no Linux Debian
Fedora não reconhece James Donkey 102 Wireless Gaming Mouse (1)
Primeiras impressões do Debian 13 (23)
systemd-resol... precisa ser reiniciado periodicamente (3)
intervenção politica pode interver no Fedora Linux [RESOLVIDO] (8)