मैं एप्लिकेशन मेनू चयन के साथ एक पूरे डेस्कटॉप का स्क्रीनशॉट लेना चाहता हूं। यह कैसे करना है?
मैं एप्लिकेशन मेनू चयन के साथ एक पूरे डेस्कटॉप का स्क्रीनशॉट लेना चाहता हूं। यह कैसे करना है?
जवाबों:
वास्तव में, यह है देरी के बिना यह करने के लिए संभव है, लेकिन बजाय कुछ हैक्स के साथ। मैंने एक छोटी सी पटकथा लिखी है, जो आपको बिना विलंब के ऐसा करने की अनुमति देगी। यह एक बड़ी हैक है, लेकिन यह काम करता है और निश्चित रूप से (मेरे लिए) देरी का उपयोग करने से अधिक बेहतर है।
#!/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। आप कॉन्फ़िगरेशन विकल्पों के साथ इसे बदल सकते हैं।
चूंकि आप सोच रहे थे कि क्या यह शटर के साथ भी संभव था ...
शटर में करने के लिए , इसे खोलें और टूलबार से या फ़ाइल > नई > पूर्णस्क्रीन से पूर्ण स्क्रीन का चयन करें ।
सुनिश्चित करें कि आपके पास एक समय विलंब सेट है, इसलिए आपके पास एप्लिकेशन मेनू खोलने के लिए पर्याप्त समय है ( संपादित करें > वरीयताएँ > मुख्य टैब, नीचे एक चयन बॉक्स है: __ सेकंड की देरी के बाद कैप्चर करें )।
( उन्नत 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
जितना अधिक आप पूर्ण मैनुअल पढ़ते हैं, उबंटू को हैक करना आपकी आवश्यकताओं को पूरा करने के लिए सहज हो जाएगा और आपको अन्य लोगों को कदम से निर्देश देने की आवश्यकता नहीं होगी। हो सकता है कि इस बिंदु तक आप यह भी जान लें कि इस काम को कैसे करना है, यदि आप अभी भी खोए हुए हैं (उम्मीद नहीं), तो बस पढ़ते रहिए ...
अभी
Shortcuts
टैब पर नेविगेट करें ।Custom Shortcuts
+
अपने नए कस्टम शॉर्टकट को जोड़ने के लिए बटन दबाएं।* Presto!
आपने सिर्फ एक ubuntu मास्टर होने के लिए एक और कदम उठाया, मुझे आशा है कि यह उत्तर मददगार था *
मुझे इसके लिए वर्कअराउंड मिला है, वास्तविक समाधान नहीं।
Screenshot
एप्लिकेशन खोलें , खुली हुई विंडो में, एक्स सेकंड की देरी के बाद ग्रैब के रूप में एक समय निर्धारित करें ।
नोट: क्षमा करें, स्क्रीनशॉट एप्लिकेशन के स्क्रीनशॉट को विंडो के रूप में लेना या किसी विशिष्ट हिस्से को हथियाना भी संभव नहीं है ।