Screenshot usando o terminal

Publicado por Lisandro Guerra em 10/02/2014

[ Hits: 28.886 ]

Blog: https://spartanix.com/

 


Screenshot usando o terminal



Algumas vezes, executar uma aplicação gráfica para capturar uma imagem da tela, poderia interferir com o aplicativo que você queira pegar, se for um jogo ou até mesmo um instalador Linux, por exemplo.

Mas, se você usar o comando import do ImageMagick, você pode capturar a tela desejada executando a partir de um terminal.

Para isso, basta ir a um terminal virtual (Ctrl+Alt+F1, por exemplo) e digitar o seguinte:

chvt 7; sleep 2; import -display :0.0 -window root nome_da_foto.png; chvt 1

O comando chvt muda o terminal virtual para o terminal em que o X está rodando (normalmente é o 7), e o comando sleep dá um tempo de espera para capturar a tela.

O comando import captura toda a tela e salva em um arquivo (no nosso exemplo, é chamado de nome_da_foto.png), antes de o comando final chvt levá-lo de volta ao terminal virtual em que o comando foi dado, ou a outro que você queira (no nosso caso, como fizemos Ctrl+Alt+F1, o terminal era o 1).

Poderá até funcionar em instaladores do Linux, muitos dos quais deixam um console rodando em segundo plano. Para funcionar, temos que usar um Pendrive ou CD com o ImageMagick e as bibliotecas de que ele necessita.


Fontes:
Outras dicas deste autor

GIMP 2.8 - Instalação no Linux Mint 13 e Ubuntu 12.04

Linux Mint e Ubuntu - Instalação do OpenSCAD 2015.3

Acesso remoto ao Raspbian com xrdp

Netflix no Linux Mint, Ubuntu, Fedora e CentOS

Scanner GOTEC no OpenSuSE 11.1

Leitura recomendada

FreeBSD - PF + Altq + MRTG

Passagem de parâmetros para funções shell script

Substituindo o sleep por um belo cronômetro regressivo

Gerenciador de pacotes em SHELL SCRIPT - PKGMGR

Processos rivais

  

Comentários
[1] Comentário enviado por brunawojtenko em 19/01/2019 - 13:34h

Olá. Obrigada. Porém utilizei esse script, para mim ele está funcionando apenas durante a sessão de uma interface gráfica (no caso, o XFCE4). Ao tentar tirar screenshot da minha tela de login, ele retorna o erro unable to "open X server"

[2] Comentário enviado por Lisandro em 19/01/2019 - 17:14h


[1] Comentário enviado por brunawojtenko em 19/01/2019 - 13:34h

Olá. Obrigada. Porém utilizei esse script, para mim ele está funcionando apenas durante a sessão de uma interface gráfica (no caso, o XFCE4). Ao tentar tirar screenshot da minha tela de login, ele retorna o erro unable to "open X server"


Sua tela de login é gráfica? Está rodando no terminal virtual 7?
Talvez seja o caso de substituir o número do terminal virtual para o número que sua tela de login estiver rodando.
Estou usando atualmente Linux Mint 19.1 com o Cinnamon. Testei aqui e capturou a tela de login tranquilo.
Notei que a captura teve mais detalhes quando usei o "sudo", mas não sei se foi pelo uso ou eu toquei no mouse ou outra coisa.

Obrigado



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts