Capturando tela em modo gráfico (Melhorado)
Publicado por Sandro Marcell 14/10/2008
[ Hits: 5.821 ]
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
Calculo de notas - Incrementar um array em shell dinamicamente
Agenda Telefônica com Bash e Xdialog
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Cups: Mapear/listar todas as impressoras de outro Servidor CUPS de forma rápida e fácil
Criando uma VPC na AWS via CLI
Tenho dois Link's ( IP VÁLIDOS ), estou tentando fazer o failover... (0)
Pendrive não formata de jeito nenhum (4)
Problemas ao instalar o PHP (10)
Descompactar arquivos winrar no linux (9)
Tem como instalar o gerenciador AMD Adrenalin no Ubuntu 24.04? (12)