Scrot: uma ferramenta de linha de comando para capturar capturas de tela de desktop/servidor automaticamente no Linux
Scrot (SCReenshOT) é um utilitário de linha de comando de código aberto, poderoso e flexível para tirar capturas de tela do seu Desktop, Terminal< ou uma janela específica manualmente ou automaticamente pelo trabalho Cron. Scrot é semelhante ao comando ‘import’ do Linux, mas usa a biblioteca ‘imlib2’ para capturar e salvar imagens. Ele suporta vários formatos de imagem (JPG, PNG, GIF, etc.), que você pode especificar ao tirar capturas de tela usando a ferramenta.
Recursos do Scrot
- Com o scrot podemos tirar capturas de tela facilmente, sem nenhum trabalho adicional.
- Também podemos otimizar a qualidade da imagem das capturas de tela (com a opção -q, seguida por um nível de qualidade entre 1 e 100. O o nível de qualidade padrão é 75.
- É muito fácil de instalar e usar.
- Podemos capturar uma janela específica ou uma área retangular na tela com a ajuda do switch.
- Pode obter todas as capturas de tela em um diretório específico e também armazenar todas as capturas de tela em um PC remoto ou servidor de rede.
- Pode monitorar todos os PCs de mesa na ausência do administrador e evitar atividades indesejadas.
Instalando o Scrot no Linux
Podemos instalar ‘Scrot‘ em qualquer distribuição Linux. Se você estiver usando uma distribuição baseada em RedHat ou Debian, você pode usar uma ferramenta de gerenciamento de pacotes como yum ou apt-get para instalá-lo conforme mostrado abaixo.
yum install scrot [On RedHat based Systems]
sudo apt-get install scrot [On Debian based Systems]
Se você deseja instalá-lo a partir do código-fonte, use os seguintes comandos.
wget http://linuxbrit.co.uk/downloads/scrot-0.8.tar.gz
tar -xvf scrot-0.8.tar.gz
cd /scrot-0.8
./configure
make
su -c "make install"
Nota: Usuários RedHat precisam especificar a localização do prefixo com o comando configure.
./configure --prefix=/usr
Como usar o Scrot para tirar capturas de tela
Como eu disse acima, o scrot pode capturar uma área de trabalho inteira, um terminal ou uma janela específica. Com a ajuda do scrot você também pode tirar capturas de tela de um shell/terminal de um sistema que não possui suporte a GUI.
Faça uma captura de tela completa da área de trabalho
Vamos fazer uma captura de tela inteira da área de trabalho, usando o seguinte comando em seu terminal.
scrot /home/tecmint/Desktop.jpg
Faça uma captura de tela específica da janela
Se desejar capturar uma área específica da tela, você pode usar o seguinte comando com a opção '-s' que permite selecionar interativamente com o mouse a área que deseja capturar a tela .
scrot -s /home/tecmint/Window.jpg
Ajustando a qualidade da imagem
Com a ajuda da opção ‘-q‘, você pode especificar o nível de qualidade da imagem entre 1 e 100. O nível de imagem padrão é definido como 75 e a saída da imagem será diferente dependendo do formato de arquivo especificado.
O comando a seguir irá capturar uma imagem com 90% a qualidade da tela original de alta qualidade.
scrot -q 90 /home/tecmint/Quality.jpg
Faça capturas de tela automaticamente
Agora, se você quiser obter capturas de tela automaticamente, precisará criar um script de shell simples. Crie um arquivo ‘screen.sh’ com o comando ‘touch’ e adicione o seguinte conteúdo a ele.
#!/bin/sh
DISPLAY=:0 scrot 'tecmint-%Y-%m-%d-%H_%M.jpg' -q 20 && mv /home/tecmint/*.jpg /media/tecmint
Agora conceda a permissão ‘777’ e defina um trabalho Cron.
chmod 777 screen.sh
Abra um arquivo ‘crontab’ e adicione a seguinte entrada. Você pode definir um intervalo de tempo personalizado.
crontab -e
*/1 * * * * sh /home/tecmint/screen.sh
A entrada Cron acima será executada a cada '1' minuto e fará capturas de tela e as armazenará no diretório '/media/tecmint' com o nome do arquivo como data e hora. Depois de executar o script por 1 minuto, foi isso que encontrei em meu diretório ‘tecmint’.
Links de referência
http://linuxbrit.co.uk/software/