Como tirar uma captura de tela de uma área de trabalho inteira com a seleção do menu do aplicativo?


13

Quero tirar uma captura de tela de uma área de trabalho inteira com a seleção do menu Aplicativos. Como fazer isso?

Respostas:


20
  • Aplicativos> Acessórios> Capturar tela> Agarre toda a área de trabalho> Agarre após um atraso de: 5 segundos (digamos)

texto alternativo

  • Faça a seleção do menu Aplicativos. Esperar.

5

Na verdade, é possível fazê-lo sem demora, mas com alguns hacks. Eu escrevi um pequeno script que permitirá que você faça isso sem demora. Este é um grande truque, mas funciona e é certamente (para mim) mais preferível do que usar o atraso.

#!/bin/bash
######################################################################################
# Simple script to enable users to make screenshots of tooltips/menus/etc...         # 
# without timers                                                                     #
######################################################################################

######################################################################################
# Configuration Section (defaults)                                                   #
######################################################################################
SCREENSHOT_COMMAND="shutter -s"

# The keys can be found out using xinput test "keyboard name"
MODIFIER_KEY=133 #The <Super> Key (aka. Meta or Windows Key)f
CANCEL_KEY=54 # C
CAPTURE_KEY=27 # R

DAEMON_MODE="false" # change to true if you want to keep the script running after the screenshot was taken
VERBOSE="true" #Change this to any value if you dont want to have notifications

######################################################################################

######################################################################################
# Command parsing                                                                    #
######################################################################################

function usage {
    echo "$0 [-hemrcdn]"
    echo "-h prints this message"
    echo "-e <command> - execute that command instead of shutter"
    echo "-m <int> - The modifier key to use. Use xinput test <keyboar> to find out what is what"
    echo "-r <int> - The key to use for capture."
    echo "-c <int> - The key used for cancelling (only valid in non daemon mode)"
    echo "-d - daemon mode. Will keep on running after a screenshot was taken. to kill the daemon, use \"killall xinput\""
    echo "-n - disables notifications"
    exit;
}

while getopts "he:m:r:c:dn" flag
do
    if [ "$flag" == "h" ]; then
        usage
    fi
    if [ "$flag" == "e" ]; then
        SCREENSHOT_COMMAND=$OPTARG
    fi
    if [ "$flag" == "m" ]; then
        CAPTURE_KEY=$OPTARG
    fi
    if [ "$flag" == "r" ]; then
        SCREENSHOT_COMMAND=$OPTARG
    fi
    if [ "$flag" == "c" ]; then
        CANCEL_KEY=$OPTARG
    fi
    if [ "$flag" == "d" ]; then
        DAEMON_MODE="true"
    fi
    if [ "$flag" == "n" ]; then
        VERBOSE="false"
    fi
done

######################################################################################

KEYBOARDS=`xinput list | grep "slave" | grep "keyboard" | sed "s/[^a-zA-Z]*\(.*\)id=.*/\1/" | sed "s/[\t ]*$//"`

function run {
    MODIFIER_PRESSED="false"
    while read line;
    do
        COMMAND=`echo $line | awk '{print $2;}'`
        KEY=`echo $line | awk '{print $3;}'`
        if [ "$KEY" == "$MODIFIER_KEY" ]; then
            if [ "$COMMAND" == "press" ]; then
                MODIFIER_PRESSED="true"
            else 
                MODIFIER_PRESSED="false"
            fi
        fi 
        if [ "$KEY" == "$CAPTURE_KEY" -a "$MODIFIER_PRESSED" == "true" -a "$COMMAND" == "press" ]; then
            bash -c $SCREENSHOT_COMMAND
            if [ "$VERBOSE" == "true" ]; then
                notify-send "Taking Screenshot"     
            fi
            if [ "$DAEMON_MODE" == "false" ]; then
                quit
            fi
        fi
        if [ "$KEY" == "$CANCEL_KEY" -a "$MODIFIER_PRESSED" == "true" -a "$COMMAND" == "press" -a "$DAEMON_MODE" == "false" ]; then
            if [ "$VERBOSE" == "true" ]; then   
                notify-send "Canceling Screenshot"
            fi
            quit
        fi
    done;
}

function quit {
    killall -9 xinput
    exit
}

if [ "$VERBOSE" == "true" ]; then
    notify-send "Screenshot script waiting. Press Meta + R to capture the screenshot"
fi
IFS=$'\n'
for i in $KEYBOARDS
do
    unbuffer xinput test "$i" | run & 
done

Antes de poder usar o script (no ubuntu), você precisa ter o xinput e o buffer sem buffer . Para fazer isso, basta fazer:

sudo apt-get install xinput expect-dev

Então você pode executar o script. Execute-o primeiro com a opção -h para ver as opções de configuração possíveis. Por padrão, o script funcionará apenas uma vez e você deverá reiniciar o script após cada captura de tela (por exemplo, por um atalho de teclado). Isso ocorre porque o script pode ter um impacto no desempenho. Se você deseja executá-lo como um "daemon", execute-o com a -dopção

Por padrão, ele também usa o obturador. Se você quiser usar outra coisa, use a -eopção, por exemploscript.sh -c "ksnapshot"

Por padrão, o botão de captura será Meta+ R. você pode mudar isso com as opções de configuração.


4

Como você estava se perguntando se isso também era possível com o Obturador ...

Para fazer isso no Ícone do obturador Obturador , abra-o e selecione Tela inteira na barra de ferramentas ou em Arquivo > Novo > Tela inteira .

Verifique se você possui um atraso de tempo definido para ter tempo suficiente para abrir o menu Aplicativos ( Editar > Preferências > guia Principal ; na parte inferior, há uma caixa de seleção: Capturar após um atraso de __ segundos ).

texto alternativo


2

Sim. Abra a captura de tela e defina um atraso para o tempo que achar necessário para voltar e abrir o menu. Mantenha-o aberto até que a foto seja tirada.

insira a descrição da imagem aqui


2

Resposta rápida / solução alternativa

( para usuários ubuntu médios a avançados )

  • Adicione um atalho personalizado ao seguinte comando:
    gnome-screenshot --delay=numIntValueInSecs
    por exemplo
    gnome-screenshot --delay=3
  • Adicione outro para tirar screenshots da janela ativa:
    gnome-screenshot -w --delay=3

    É isso aí , mas eu também recomendo configurar outras 2 que lhe dariam mais tempo para navegar mais nos menus.

    • gnome-screenshot --delay=10
    • gnome-screenshot -w --delay=10

    insira a descrição da imagem aqui

Resposta elaborada

( iniciante em hackers )

Introdução:

Sempre que você pressiona PrntScr, tudo que o Ubuntu faz é chamar, gnome-screenshotque geralmente está localizado no/usr/bin/ caminho e disponível no "terminal" (teletype, tty, cli, linha de comando / prompt), para que você possa usá-lo de todas as maneiras possíveis para se adequar ao seu estilo. propósitos.

O gnome-screenshotpequeno programa aceita parâmetros opcionais, você pode ver todas as opções passando o parâmetro padrão para pedir ajuda, você conhece o ( -h)

insira a descrição da imagem aqui

Se você ainda não tem certeza de como usar isso, sempre pode ler uma ajuda mais detalhada, basta solicitar a digitação manual man gnome-screenshot

insira a descrição da imagem aqui

Quanto mais você ler manuais completos, invadir o ubuntu para atender às suas necessidades se tornará intuitivo e você não precisará de outras pessoas para lhe dar instruções passo a passo. Talvez a essa altura você já saiba como fazer essa solução sozinha, se ainda estiver perdido (espero que não), continue lendo ...

Instruções:

  • Etapa Zero: Abra as configurações do sistema Ubuntu e navegue até a opção Teclado:

insira a descrição da imagem aqui

Agora

  1. Navegue até a Shortcutsguia.
  2. Selecione Custom Shortcuts
  3. Clique no +botão para adicionar seu novo atalho personalizado.
  4. Dê um nome e um comando.
    (como descrito na "Resposta rápida" acima)
    4½. Atribua a combinação de teclas que você deseja.
  5. Feche esta janela ou não funcionará.

insira a descrição da imagem aqui

*presto!
Você deu mais um passo para ser um mestre do ubuntu, espero que esta resposta tenha sido útil *


Agradável! Eu gosto da ideia de definir um atraso padrão para a captura de tela disparada com o teclado.
Jgomo3

Sim, no final, há mais casos de uso do que apenas capturar capturas de tela dos menus suspensos.
21137 JorgeArtware

1

Use a captura de tela (em acessórios) e defina 'Agarrar após um atraso de xx segundos'.

Trabalhou para mim


1

Eu encontrei uma solução alternativa para isso, não uma solução real.

Abra o Screenshotaplicativo, na janela aberta, defina um horário como Agarrar após um atraso de x segundos .

Nota: Isso não pode ser usado para agarrar uma parte específica da janela.

Nota: Desculpe, também não é possível capturar a captura de tela do aplicativo Screenshot como uma janela ou pegar uma parte específica.


0

Eu não diria que é um bug. É possível usar a ferramenta "Captura de tela" e definir "Agarre após um atraso de x segundos" para o tempo necessário para abrir o menu novamente.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.