Capturando tela em modo gráfico (Melhorado)
Publicado por Sandro Marcell 14/10/2008
[ Hits: 5.945 ]
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
Dexter versão 2.0 - Instalador de pacotes para Sabayon
NMAP - Script que monitora portas que foram abertas e envia por email
Servidor de Backup com Ubuntu Server 24.04 LTS, RAID e Duplicati (Dell PowerEdge T420)
Visualizar câmeras IP ONVIF no Linux sem necessidade de instalar aplicativos
Atualizar Debian Online de uma Versão para outra
Instalar driver Nvidia no Debian 13
Redimensionando, espelhando, convertendo e rotacionando imagens com script
Debian 13 Trixie para Iniciantes
Convertendo pacotes DEB que usam ZSTD (Padrão Novo) para XZ (Padrão Antigo)
Rust é o "C da nossa geração"? (3)
Gerenciador de arquivos é finalizado ao abrir pasta específica (2)