ऐप मेनू चयन के साथ पूरे डेस्कटॉप का स्क्रीनशॉट कैसे लें?


13

मैं एप्लिकेशन मेनू चयन के साथ एक पूरे डेस्कटॉप का स्क्रीनशॉट लेना चाहता हूं। यह कैसे करना है?

जवाबों:


20
  • अनुप्रयोग> सहायक उपकरण> स्क्रीनशॉट लें> संपूर्ण डेस्कटॉप को पकड़ो> 5 सेकंड की देरी के बाद पकड़ो (कहो)

वैकल्पिक शब्द

  • अपने एप्लिकेशन मेनू का चयन करें। रुको।

5

वास्तव में, यह है देरी के बिना यह करने के लिए संभव है, लेकिन बजाय कुछ हैक्स के साथ। मैंने एक छोटी सी पटकथा लिखी है, जो आपको बिना विलंब के ऐसा करने की अनुमति देगी। यह एक बड़ी हैक है, लेकिन यह काम करता है और निश्चित रूप से (मेरे लिए) देरी का उपयोग करने से अधिक बेहतर है।

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

इससे पहले कि आप वास्तव में स्क्रिप्ट (ubuntu पर) का उपयोग कर सकें, आपको यह सुनिश्चित करने की आवश्यकता है कि आपके पास xinput और unbuffer है । ऐसा करने के लिए बस करो:

sudo apt-get install xinput expect-dev

तब आप स्क्रिप्ट चला सकते हैं। संभव कॉन्फ़िगरेशन विकल्पों को देखने के लिए -h विकल्प के साथ इसे पहले चलाएं। डिफ़ॉल्ट रूप से, स्क्रिप्ट केवल एक बार काम करेगी और आपको प्रत्येक स्क्रीनशॉट (जैसे कीबोर्ड शॉर्टकट द्वारा) के बाद स्क्रिप्ट को फिर से शुरू करना होगा। ऐसा इसलिए है क्योंकि स्क्रिप्ट में प्रदर्शन अक्षम हो सकता है। यदि आप इसे "डेमॉन" के रूप में चलाना चाहते हैं, तो इसे -dविकल्प के साथ चलाएं ।

डिफ़ॉल्ट रूप से यह शटर का भी उपयोग करेगा। यदि आप कुछ और उपयोग करना चाहते हैं, तो -eविकल्प का उपयोग करें , जैसेscript.sh -c "ksnapshot"

डिफ़ॉल्ट रूप से, कैप्चर बटन Meta+ होगा R। आप कॉन्फ़िगरेशन विकल्पों के साथ इसे बदल सकते हैं।


4

चूंकि आप सोच रहे थे कि क्या यह शटर के साथ भी संभव था ...

शटर आइकन शटर में करने के लिए , इसे खोलें और टूलबार से या फ़ाइल > नई > पूर्णस्क्रीन से पूर्ण स्क्रीन का चयन करें ।

सुनिश्चित करें कि आपके पास एक समय विलंब सेट है, इसलिए आपके पास एप्लिकेशन मेनू खोलने के लिए पर्याप्त समय है ( संपादित करें > वरीयताएँ > मुख्य टैब, नीचे एक चयन बॉक्स है: __ सेकंड की देरी के बाद कैप्चर करें )।

वैकल्पिक शब्द


2

हाँ। स्क्रीनशॉट खोलें, और जो भी समय आपको लगता है कि वापस जाने और मेनू को खोलने के लिए आवश्यक विलंब सेट करें। जब तक शॉट नहीं लिया जाता तब तक इसे खुला रखें।

यहाँ छवि विवरण दर्ज करें


2

तेजी से उत्तर / समाधान

( उन्नत ubuntu उपयोगकर्ताओं के लिए मध्यम के लिए )

  • निम्न आदेश के लिए एक कस्टम शॉर्टकट जोड़ें:
    gnome-screenshot --delay=numIntValueInSecs
    उदाहरण के लिए
    gnome-screenshot --delay=3
  • सक्रिय विंडो स्क्रीनशॉट लेने के लिए एक और जोड़ें:
    gnome-screenshot -w --delay=3

    यह बात है , लेकिन मैं 2 अन्य लोगों को सेट करने की भी सिफारिश करूंगा जो आपको मेनू में गहराई से नेविगेट करने के लिए अधिक समय देंगे।

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

    यहाँ छवि विवरण दर्ज करें

विस्तृत उत्तर

( हैकर को नौसिखिया )

परिचय:

जब भी आप प्रेस करते हैं PrntScr, तो सभी उबंटू कॉलिंग करते हैं gnome-screenshotजो आमतौर पर /usr/bin/पथ पर स्थित होता है और "टर्मिनल" (टेलेटाइप, ट्टी, क्ली, कमांड लाइन / प्रॉम्प्ट) से उपलब्ध होता है, इसलिए आप इसे अपने फंकी फिट करने के सभी प्रकारों में उपयोग कर सकते हैं प्रयोजनों।

gnome-screenshotथोड़ा कार्यक्रम वैकल्पिक पैरामीटर स्वीकार करता है, आप सभी विकल्पों को देख सकते हैं मानक पैरामीटर गुजर मदद के लिए पूछना द्वारा, तुम्हें पता है एक ( -h)

यहाँ छवि विवरण दर्ज करें

यदि आप अभी भी सुनिश्चित नहीं हैं कि इसका उपयोग कैसे करना है, तो आप हमेशा अधिक विस्तृत मदद पढ़ सकते हैं, बस मैनुअल टाइपिंग के लिए पूछें man gnome-screenshot

यहाँ छवि विवरण दर्ज करें

जितना अधिक आप पूर्ण मैनुअल पढ़ते हैं, उबंटू को हैक करना आपकी आवश्यकताओं को पूरा करने के लिए सहज हो जाएगा और आपको अन्य लोगों को कदम से निर्देश देने की आवश्यकता नहीं होगी। हो सकता है कि इस बिंदु तक आप यह भी जान लें कि इस काम को कैसे करना है, यदि आप अभी भी खोए हुए हैं (उम्मीद नहीं), तो बस पढ़ते रहिए ...

निर्देश:

  • चरण शून्य: उबंटू की सिस्टम सेटिंग्स खोलें और कीबोर्ड विकल्प पर जाएँ:

यहाँ छवि विवरण दर्ज करें

अभी

  1. Shortcutsटैब पर नेविगेट करें ।
  2. चुनते हैं Custom Shortcuts
  3. +अपने नए कस्टम शॉर्टकट को जोड़ने के लिए बटन दबाएं।
  4. एक नाम और एक कमांड दीजिए।
    (जैसा कि ऊपर "फास्ट जवाब" पर वर्णित है)
    4 the आप चाहते हैं कि कुंजी संयोजन असाइन करें।
  5. इस विंडो को बंद करें या यह काम नहीं करेगा।

यहाँ छवि विवरण दर्ज करें

* Presto!
आपने सिर्फ एक ubuntu मास्टर होने के लिए एक और कदम उठाया, मुझे आशा है कि यह उत्तर मददगार था *


अच्छा! मुझे कीबोर्ड से निकाल दिए गए स्क्रीनशॉट के लिए डिफ़ॉल्ट देरी सेट का विचार पसंद है।
jgomo3

हाँ, अंत में यह सिर्फ ड्रॉपडाउन मेनू के स्क्रीनशॉट लेने की तुलना में कुछ अधिक उपयोग के मामलों में होता है।
जोर्जआर्टवेयर

1

स्क्रीनशॉट (एक्सेस एक्सेसरीज़ में) और 'xx सेकंड की देरी के बाद ग्रैब' सेट करें।

मेरे लिए काम किया


1

मुझे इसके लिए वर्कअराउंड मिला है, वास्तविक समाधान नहीं।

Screenshotएप्लिकेशन खोलें , खुली हुई विंडो में, एक्स सेकंड की देरी के बाद ग्रैब के रूप में एक समय निर्धारित करें

नोट: इसका उपयोग विंडो के किसी विशिष्ट हिस्से को हथियाने के लिए नहीं किया जा सकता है।

नोट: क्षमा करें, स्क्रीनशॉट एप्लिकेशन के स्क्रीनशॉट को विंडो के रूप में लेना या किसी विशिष्ट हिस्से को हथियाना भी संभव नहीं है ।


0

मैं यह नहीं कहूंगा कि यह एक बग है। "स्क्रीनशॉट" टूल का उपयोग करना संभव है और मेनू को वापस खोलने के लिए आवश्यक समय के लिए "एक्स सेकंड की देरी के बाद पकड़ो" सेट करें।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.