Qual é o comando do terminal para fazer uma captura de tela?

104

Que comando (s) posso usar no terminal que seja equivalente ao botão PrtSc (Print Screen)?

Estou executando o Ubuntu GNOME.

    
por devav2 29.09.2012 / 15:30

6 respostas

46

Encontrou esta opção aqui e outras opções também estão listados.

Abra terminal pressionando Ctrl + Alt + T e digite

gnome-screenshot

use gnome-screenshot -d xx para atrasar a ação.

Para atrasar a ação da captura de tela em 10s

gnome-screenshot -d 10

ou

sleep 10;gnome-screenshot
    
por devav2 29.09.2012 / 17:44
92

Você pode usar a ferramenta import disponível no pacote ImageMagick (é necessário instalá-lo se já não estiver disponível em seu sistema).

  

Execute o seguinte comando em um shell:

import screenshot.png
     

e selecione a janela que você deseja capturar ou selecione uma região pressionando o botão esquerdo do mouse e arrastando.

     

import é um comando muito poderoso que pode ser usado de várias maneiras para capturar a tela. Por exemplo, para capturar a tela inteira e depois de algum atraso e redimensioná-la, use o seguinte comando:

import -window root -resize 400x300 -delay 200 screenshot.png
     

Para ver todas as opções disponíveis com o comando import, acesse o site do ImageMagick .

Outra maneira de tirar uma captura de tela do terminal é com scrot

Para instalar scrot type:

sudo apt-get install scrot

Para fazer uma captura de tela no Linux a partir do terminal com o tipo de scrot:

scrot MyScreenshot.png

Mais algumas opções com scrot estão aqui:

scrot -b -d 5 '%Y:%m:%d:%H:%M:%S.png' -e 'mv $f ~/Desktop/'

Neste exemplo,

  • -b especifica incluir as bordas da janela
  • -d especifica um atraso de cinco segundos
  • '% Y:% m:% d:% H:% M:% S.png' salvará a captura de tela com um nome baseado na data e hora atuais e com o formato especificado, .png neste caso
  • -e 'mv $f ~/Desktop/' diz ao scrot para salvar a captura de tela na área de trabalho
por 12 revs, 9 users 53%user61928 20.08.2017 / 09:18
11

Você pode usar o programa shutter para tirar screenshots do terminal. Execute os comandos abaixo no terminal para instalar o obturador,

sudo add-apt-repository ppa:shutter/ppa
sudo apt-get update
sudo apt-get install shutter

Para tirar uma foto da janela ativa,

shutter -a -o shot.png -e

Para tirar uma captura de tela inteira,

shutter -f -o shot.png -e

As capturas de tela são armazenadas no diretório home .

Para mais opções, execute o comando shutter --help ,

Usage:
    shutter [options]

Options:
    Example 1
            shutter -a -p=myprofile --min_at_startup

    Example 2
            shutter -s=100,100,300,300 -e

    Example 3
            shutter --window=.*firefox.*

    Example 4
            shutter --web=http://shutter-project.org/ -e

  Capture Mode Options:
    -s, --select=[X,Y,WIDTH,HEIGHT]
            Capture an area of the screen. Providing X,Y,WIDTH,HEIGHT is
            optional.

    -f, --full
            Capture the entire screen.

    -w, --window=[NAME_PATTERN]
            Select a window to capture. Providing a NAME_PATTERN (Perl-style
            regex) ist optional.

    -a, --active
            Capture the current active window.

    --section
            Capture a section. You will be able to select any child window
            by moving the mouse over it.

    -m, --menu
            Capture a menu.

    -t, --tooltip
            Capture a tooltip.

    --web=[URL]
            Capture a webpage. Providing an URL ist optional.

    -r, --redo
            Redo last screenshot.

  Settings Options:
    -p, --profile=NAME
            Load a specific profile on startup.

    -o, --output=FILENAME
            Specify a filename to save the screenshot to (overwrites any
            profile-related setting).

            Supported image formats: You can save to any popular image
            format (e.g. jpeg, png, gif, bmp). Additionally it is possible
            to save to pdf, ps or svg.

            Please note: There are several wildcards available, like

             %Y = year
             %m = month
             %d = day
             %T = time
             $w = width
             $h = height
             $name = multi-purpose (e.g. window title)
             $nb_name = like $name but without blanks in resulting strings
             $profile = name of current profile
             $R = random char (e.g. $RRRR = ag4r)
             %NN = counter

            The string is interpretted by strftime. See "man strftime" for
            more examples.

            As an example: shutter -f -e -o './%y-%m-%d_$w_$h.png' would
            create a file named '11-10-28_1280_800.png' in the current
            directory.

  Application Options:
    -h, --help
            Prints a brief help message and exits.

    -v, --version
            Prints version information.

    -d, --debug
            Prints a lot of debugging information to STDOUT.

    --clear_cache
            Clears cache, e.g. installed plugins, at startup.

    --min_at_startup
            Starts Shutter minimized to tray.

    --disable_systray
            Disables systray icon.

    -e, --exit_after_capture
            Exit after the first capture has been made. This is useful when
            using Shutter in scripts.
    
por Avinash Raj 30.12.2013 / 16:22
8

Eu tentei usar o ImageMagick import , mas não funcionou quando usei o KDE Desktop Effects. ImageMagick import tem bordas de janela transparentes de saída em preto, em vez de combinar adequadamente o plano principal alfa e o plano de fundo.

Eu também tentei usar X11 xwd e NetPBM xwdtopnm , mas isso também não funcionou para mim, NetPBM xwdtopnm não conseguiu lidar adequadamente com a saída multiscreen de xwd porque tenho uma configuração Xinerama.

Mas combinar X11 xwd com ImageMagick convert funcionou muito bem para mim:

xwd -silent -root | convert xwd:- screenshot.png

Ou, se você tiver uma configuração Dual-FullHD Xinerama, como eu, e quiser apenas a primeira tela:

xwd -silent -root | convert xwd:- -crop 1920x1080+0+0 test.png

Somente para a segunda tela:

xwd -silent -root | convert xwd:- -crop 1920x1080+1920+0 +repage test.png
    
por Christian Hujer 11.07.2015 / 20:35
7

Se você quiser fazer uma captura de tela a partir de um terminal de login (aquele que você abrir com Ctrl + Alt + F1 ) use o programa fbgrab .

Você pode instalá-lo digitando sudo apt-get install fbcat .

Em seguida, tire uma captura de tela do seu terminal de login, digite seu terminal de login:

$ sudo fbgrab my_screenshot

my_screenshot é salvo no diretório atual.

    
por user2376000 09.12.2014 / 22:58
3

Estou usando o Ubuntu 13.10 e tenho um script que acabei de escrever e que pode ser útil. Vejo que essas perguntas foram respondidas, mas minha solução não exige instalações adicionais.

#!/bin/bash
curDate=$(date)
imgExtension=".png"
imgName=$curDate$imgExtension
imgDirectory="/path/to/desires/save/directory/"
imgSavePath=$imgDirectory$imgName
gnome-screenshot --file="$imgSavePath"

Este código salvará a captura de tela sem aparecer a janela de diálogo. Ele usa o horário atual para um nome de arquivo para evitar problemas de nome de arquivo duplicados.

    
por Gary Hutchinson 23.03.2014 / 21:28