¿Cómo tomar una captura de pantalla de un escritorio completo con la selección del menú de la aplicación?

13

Quiero tomar una captura de pantalla de un escritorio completo con la selección del menú de aplicaciones. ¿Cómo hacer esto?

karthick87
fuente

Respuestas:

20
  • Aplicaciones> Accesorios> Captura de pantalla> Capture todo el escritorio> Capture después de un retraso de: 5 segundos (digamos)

texto alternativo

  • Haga su selección del menú de aplicaciones. Espere.
Sid
fuente
5

En realidad, es posible hacerlo sin demora, pero con algunos hacks. He escrito un pequeño guión que le permitirá hacerlo sin demora. Este es un gran truco, pero funciona y ciertamente (para mí) es más preferible que usar el retraso.

#!/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 que realmente puede utilizar el script (en Ubuntu), es necesario asegurarse de que tiene xinput y unbuffer . Para hacer eso simplemente haz:

sudo apt-get install xinput expect-dev

Entonces puedes ejecutar el script. Ejecútelo primero con la opción -h para ver las posibles opciones de configuración. De forma predeterminada, el script solo funcionará una vez y debe reiniciar el script después de cada captura de pantalla (por ejemplo, mediante un atajo de teclado). Esto se debe a que el script puede tener un impacto en el rendimiento. Si quieres ejecutarlo como un "demonio", ejecútalo con la -dopción.

Por defecto también usará el obturador. Si desea usar otra cosa, use la -eopción, por ej.script.sh -c "ksnapshot"

Por defecto, el botón de captura será Meta+ R. puedes cambiar eso con las opciones de configuración.

Wattos
fuente
4

Como te preguntabas si también era posible con Shutter ...

Para hacerlo en Icono de obturador Shutter , ábralo y seleccione Pantalla completa desde la barra de herramientas o desde Archivo > Nuevo > Pantalla completa .

Asegúrese de tener un retraso de tiempo establecido para tener tiempo suficiente para abrir el menú Aplicaciones ( Edición > Preferencias > pestaña Principal ; en la parte inferior, hay un cuadro de selección: Capturar después de un retraso de __ segundos ).

texto alternativo

Pluma de fuego
fuente
2

Si. Abra la captura de pantalla y establezca un retraso en el tiempo que considere necesario para volver y abrir el menú. Manténgalo abierto hasta que se tome la foto.

ingrese la descripción de la imagen aquí

Mitch
fuente
2

Respuesta rápida / solución alternativa

( para usuarios medios a avanzados de ubuntu )

  • Agregue un acceso directo personalizado al siguiente comando:
    gnome-screenshot --delay=numIntValueInSecs
    por ejemplo
    gnome-screenshot --delay=3
  • Agregue otra para tomar capturas de pantalla activas de la ventana:
    gnome-screenshot -w --delay=3

    Eso es todo , pero también recomendaría configurar otros 2 que le darían más tiempo para navegar más profundo en los menús.

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

    ingrese la descripción de la imagen aquí

Respuesta elaborada

( novato a hacker )

Introducción:

Cada vez que presiona PrntScr, todo lo que Ubuntu hace es llamar, gnome-screenshotque generalmente se encuentra en la /usr/bin/ruta y está disponible desde el "terminal" (teletipo, tty, cli, línea de comando / indicador), para que pueda usarlo en todo tipo de formas para adaptarse a su funky propósitos

El gnome-screenshotpequeño programa acepta parámetros opcionales, puedes ver todas las opciones pasando el parámetro estándar para pedir ayuda, ya sabes cuál ( -h)

ingrese la descripción de la imagen aquí

Si todavía no está seguro de cómo usar esto, siempre puede leer una ayuda más detallada, solo solicite la escritura manual man gnome-screenshot

ingrese la descripción de la imagen aquí

Mientras más leas los manuales completos, piratear ubuntu para satisfacer tus necesidades se volverá intuitivo y no necesitarás que otras personas te den instrucciones paso a paso. Tal vez en este punto ya sepa cómo hacer esta solución por sí mismo, si todavía está perdido (con suerte no), solo siga leyendo ...

Instrucciones:

  • Paso cero: abra la configuración del sistema de Ubuntu y navegue hasta la opción Teclado:

ingrese la descripción de la imagen aquí

Ahora

  1. Navega a la Shortcutspestaña.
  2. Seleccione Custom Shortcuts
  3. Presione el +botón para agregar su nuevo acceso directo personalizado.
  4. Dale un nombre y un comando.
    (tal como se describe en la "Respuesta rápida" anterior)
    4½. Asigne la combinación de teclas que desee.
  5. Cierra esta ventana o no funcionará.

ingrese la descripción de la imagen aquí

*¡presto!
Acabas de dar un paso más para ser un maestro de ubuntu, espero que esta respuesta te haya sido útil *

JorgeArtware
fuente
¡Agradable! Me gusta la idea de establecer un retraso predeterminado para la captura de pantalla disparada con el teclado.
jgomo3
Sí, al final tiene algunos casos de uso más que simplemente tomar capturas de pantalla de menús desplegables.
JorgeArtware
1

Use Captura de pantalla (en accesssories) y configure 'Grab después de un retraso de xx segundos'.

Trabajó para mi

Tinellus
fuente
1

He encontrado una solución para esto, no una solución real.

Abra la Screenshotaplicación, en la ventana abierta, establezca un tiempo como Grab después de un retraso de x segundos .

Nota: Esto no se puede usar para capturar una parte específica de la ventana.

Nota: Lo sentimos, tampoco es posible tomar la captura de pantalla de la aplicación Captura de pantalla como una ventana o capturar una parte específica.

Anwar
fuente
0

No diría que es un error. Es posible utilizar la herramienta "Captura de pantalla" y establecer "Capturar después de un retraso de x segundos" en el tiempo que necesita para volver a abrir el menú.

tpei
fuente