Capturando tela em modo gráfico (Melhorado)
Publicado por Sandro Marcell 14/10/2008
[ Hits: 5.869 ]
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
pwmanager - Gerenciador de senhas em shell script
Pesquisa de grupos do sistema por nome de grupo ou gid
Monitoramento do computador por meio de screenshots
Instalar e Configurar o Slackware Linux em 2025
Como configurar os repositórios do apt no Debian 12 em 2025
Passkeys: A Evolução da Autenticação Digital
Instalação de distro Linux em computadores, netbooks, etc, em rede com o Clonezilla
Configurando o Conky para iniciar corretamente no sistema
3 configurações básicas que podem melhorar muito a sua edição pelo editor nano
Como colorir os logs do terminal com ccze
Instalação Microsoft Edge no Linux Mint 22
Como configurar posicionamento e movimento de janelas no Lubuntu (Openbox) com atalhos de teclado
Jogando com Proton no LInux (0)
Ingress NGINX Controller CVSS base score of 9.8 (4)
Impossível corrigir problemas, você manteve (hold) pacotes quebrados. (2)