Ich möchte einen Screenshot eines ganzen Desktops mit Auswahl des Anwendungsmenüs machen. Wie mache ich das?
Ich möchte einen Screenshot eines ganzen Desktops mit Auswahl des Anwendungsmenüs machen. Wie mache ich das?
Antworten:
Eigentlich ist es ist möglich , es ohne die Verzögerung zu tun, aber mit einigen Hacks statt. 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 tatsächlich das Skript (auf Ubuntu) verwenden können, müssen Sie sicherstellen , haben Sie XInput und unbuffer . 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 -d
Option aus.
Standardmäßig wird auch der Verschluss verwendet. Wenn Sie etwas anderes verwenden möchten, verwenden Sie die -e
Option, zscript.sh -c "ksnapshot"
Standardmäßig ist die Aufnahmetaste Meta+ R. Sie können dies mit den Konfigurationsoptionen ändern.
Da hast du dich gefragt, ob das auch mit Shutter möglich ist ...
Um es in tun Shutter , öffnen Sie es und wählen Sie Vollbild entweder aus der Symbolleiste oder Datei > Neu > Vollbild .
Stellen Sie sicher , dass Sie eine bestimmte Zeitspanne einstellen, so dass Sie genügend Zeit haben , das Menü Anwendungen zu öffnen ( Bearbeiten > Einstellungen > Haupt Registerkarte, unten gibt es ein Auswahlfeld: Erfassung nach einer Verzögerung von __ Sekunden ).
( für mittlere bis fortgeschrittene Ubuntu-Benutzer )
gnome-screenshot --delay=numIntValueInSecs
gnome-screenshot --delay=3
Fügen Sie einen weiteren hinzu, um aktive Fenster-Screenshots zu erstellen:
gnome-screenshot -w --delay=3
Das ist alles , aber ich würde auch empfehlen, zwei andere festzulegen, damit Sie mehr Zeit haben, tiefer in den Menüs zu navigieren.
gnome-screenshot --delay=10
gnome-screenshot -w --delay=10
( Anfänger zum Hacker )
Jedes Mal PrntScr, wenn Sie drücken , ruft Ubuntu an, gnome-screenshot
der sich normalerweise auf dem /usr/bin/
Pfad befindet und über das "Terminal" (Teletype, tty, cli, Befehlszeile / Eingabeaufforderung) verfügbar ist, sodass Sie ihn auf vielfältige Weise verwenden können, um ihn Ihrem Funky anzupassen Zwecke.
Das gnome-screenshot
kleine Programm akzeptiert optionale Parameter. Sie können alle Optionen anzeigen, indem Sie den Standardparameter übergeben und um Hilfe bitten. Sie kennen den einen ( -h
).
Wenn Sie sich immer noch nicht sicher sind, wie Sie dies verwenden sollen, können Sie jederzeit eine ausführlichere Hilfe lesen. Fragen Sie einfach nach der manuellen Eingabe man gnome-screenshot
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 ...
Jetzt
Shortcuts
Registerkarte.Custom Shortcuts
+
Schaltfläche, um Ihre neue benutzerdefinierte Verknüpfung hinzuzufügen.* presto!
Du hast gerade einen weiteren Schritt getan, um ein Ubuntu-Meister zu werden. Ich hoffe, diese Antwort war hilfreich.
Ich habe eine Problemumgehung dafür gefunden, keine tatsächliche Lösung.
Öffnen Sie die Screenshot
Anwendung und stellen Sie im geöffneten Fenster nach einer Verzögerung von x Sekunden eine Zeit als Grab ein .
Hinweis: Es ist leider nicht möglich, den Screenshot der Screenshot- Anwendung selbst als Fenster zu betrachten oder einen bestimmten Teil zu erfassen.