it-swarm.com.de

Wie mache ich einen Screenshot eines ganzen Desktops mit App-Menüauswahl?

Ich möchte einen Screenshot eines ganzen Desktops mit Auswahl des Anwendungsmenüs machen. Wie mache ich das?

13
karthick87
  • Anwendungen> Zubehör> Screenshot erstellen> Gesamten Desktop erfassen> Erfassung mit einer Verzögerung von: 5 Sekunden (etwa)

alt text

  • Treffen Sie Ihre Auswahl im Menü Anwendungen. Warten.
20
Sid

Eigentlich ist es ist möglich, dies ohne Verzögerung zu tun, aber mit einigen Hacks stattdessen. Ich habe ein kleines Skript geschrieben, mit dem Sie das ohne Verzögerung tun können. Dies ist ein großer Hack, aber es funktioniert und ist sicherlich (für mich) vorzuziehen, die Verzögerung zu verwenden.

#!/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

Bevor Sie das Skript (unter Ubuntu) tatsächlich verwenden können, müssen Sie sicherstellen, dass xinput und ncuffer vorhanden sind. Um das zu tun, mache einfach:

Sudo apt-get install xinput expect-dev

Dann können Sie das Skript ausführen. Führen Sie es zuerst mit der Option -h aus, um die möglichen Konfigurationsoptionen anzuzeigen. Standardmäßig funktioniert das Skript nur einmal und Sie müssen das Skript nach jedem Screenshot neu starten (z. B. über eine Tastenkombination). Dies liegt daran, dass das Skript möglicherweise eine Leistungsstörung aufweist. Wenn Sie es als "Daemon" ausführen möchten, führen Sie es mit der Option -d aus.

Standardmäßig wird auch der Verschluss verwendet. Wenn Sie etwas anderes verwenden möchten, verwenden Sie die Option -e, z. script.sh -c "ksnapshot"

Standardmäßig ist die Aufnahmetaste Meta + R. Sie können dies mit den Konfigurationsoptionen ändern.

5
Wattos

Da du dich gefragt hast, ob es auch mit Shutter möglich ist ...

Um es zu tun in Shutter icon  Shutter , öffne es und wähle Vollbild aus die Symbolleiste oder aus Datei > Neu > Vollbild .

Stellen Sie sicher, dass Sie eine Zeitverzögerung eingestellt haben, damit Sie genug Zeit haben, um das Anwendungsmenü zu öffnen. ( Bearbeiten > Einstellungen > Hauptregisterkarte ; unten befindet sich ein Auswahlfeld: Erfassen nach einer Verzögerung von __ Sekunden ).

alt text

4
Firefeather

Schnelle Antwort/Problemumgehung

( für mittelschwere bis fortgeschrittene Ubuntu-Benutzer )

  • Fügen Sie dem folgenden Befehl eine benutzerdefinierte Verknüpfung hinzu:
    _gnome-screenshot --delay=numIntValueInSecs_
    zum Beispiel
    _gnome-screenshot --delay=3_
  • Fügen Sie einen weiteren hinzu, um aktive Fenster-Screenshots zu erstellen:
    _gnome-screenshot -w --delay=3_

    Das war's , , aber ich würde auch empfehlen, 2 andere einzustellen, die Ihnen mehr Zeit zum Navigieren geben würden tiefer in Menüs.

    • _gnome-screenshot --delay=10_
    • _gnome-screenshot -w --delay=10_

    enter image description here

Ausführliche Antwort

( Anfänger zum Hacker )

Intro:

Wann immer Sie drücken PrntScrAlles, was Ubuntu tut, ist das Aufrufen von gnome-screenshot, das sich normalerweise im Pfad _/usr/bin/_ befindet und über das "Terminal" (Teletyp, tty, cli, Befehl) verfügbar ist line/Prompt), damit Sie es auf vielfältige Weise für Ihre Zwecke einsetzen können.

Das kleine Programm _gnome-screenshot_ akzeptiert optionale Parameter. Sie können alle Optionen anzeigen, indem Sie den Standardparameter übergeben und um Hilfe bitten. Sie kennen den einen (_-h_).

enter image description here

Wenn Sie sich immer noch nicht sicher sind, wie Sie dies verwenden sollen, können Sie jederzeit eine ausführlichere Hilfe lesen. Fordern Sie einfach die manuelle Eingabe an. _man gnome-screenshot_

enter image description here

Je mehr Sie die vollständigen Handbücher lesen, desto intuitiver wird es, Ubuntu zu hacken, um Ihren Anforderungen gerecht zu werden, und desto weniger werden Sie von anderen Personen schrittweise Anleitungen erhalten. Vielleicht wissen Sie zu diesem Zeitpunkt sogar, wie Sie dieses Problem selbst umgehen können, wenn Sie immer noch verloren sind (hoffentlich nicht), lesen Sie einfach weiter ...

Anleitung:

  • Schritt Null: Öffnen Sie die Ubuntu-Systemeinstellungen und navigieren Sie zur Option Tastatur:

enter image description here

Nun

  1. Navigieren Sie zur Registerkarte Shortcuts.
  2. Wähle _Custom Shortcuts_
  3. Drücken Sie die Taste _+_, um Ihre neue benutzerdefinierte Verknüpfung hinzuzufügen.
  4. Geben Sie einen Namen und einen Befehl.
    (genau wie oben unter "Schnelle Antwort" beschrieben)
    4½. Weisen Sie die gewünschte Tastenkombination zu.
  5. Schließen Sie dieses Fenster oder es funktioniert nicht.

enter image description here

* presto!
Sie haben gerade einen weiteren Schritt getan, um ein Ubuntu-Meister zu werden. Ich hoffe, diese Antwort war hilfreich. *

2
JorgeArtware

Ja. Öffnen Sie den Screenshot und stellen Sie eine Zeitverzögerung ein, die Sie für erforderlich halten, um das Menü wieder zu öffnen. Halten Sie es offen, bis der Schuss gemacht wird.

enter image description here

2
Mitch

Verwenden Sie Screenshot (in accesssories) und setzen Sie 'Grab nach einer Verzögerung von xx Sekunden'.

Hat für mich gearbeitet

1
Tinellus

Ich habe eine Problemumgehung dafür gefunden, keine tatsächliche Lösung.

Öffnen Sie die Anwendung Screenshot und stellen Sie im geöffneten Fenster eine Zeit als Greifen nach einer Verzögerung von x Sekunden ein.

Hinweis: Dies kann nicht zum Erfassen eines bestimmten Teils des Fensters verwendet werden.

Hinweis: Es ist leider auch nicht möglich, den Screenshot der Screenshot-Anwendung selbst als Fenster zu erstellen oder einen bestimmten Teil zu erfassen.

1
Anwar

Ich würde nicht sagen, dass es ein Fehler ist. Es ist möglich, das "Screenshot" -Tool zu verwenden und "Greifen nach einer Verzögerung von x Sekunden" auf die Zeit einzustellen, die Sie benötigen, um das Menü wieder zu öffnen.

0
tpei