ฉันต้องการถ่ายภาพหน้าจอของเดสก์ท็อปทั้งหมดด้วยการเลือกเมนูแอปพลิเคชันจะทำอย่างไร
ฉันต้องการถ่ายภาพหน้าจอของเดสก์ท็อปทั้งหมดด้วยการเลือกเมนูแอปพลิเคชันจะทำอย่างไร
คำตอบ:
จริงๆแล้วมันเป็นไปได้ที่จะทำโดยไม่ล่าช้า แต่มีแฮ็กบางแทน ฉันได้เขียนสคริปต์ขนาดเล็กซึ่งจะช่วยให้คุณทำเช่นนั้นได้โดยไม่ล่าช้า นี่เป็นแฮ็คขนาดใหญ่ แต่ใช้งานได้และแน่นอนว่า (สำหรับฉัน) จะเป็นที่นิยมมากกว่าการใช้ความล่าช้า
#!/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
ก่อนที่จะสามารถใช้สคริปต์ (บนอูบุนตู), คุณต้องให้แน่ใจว่าคุณมีXInputและunbuffer ในการทำเช่นนั้นเพียงทำ:
sudo apt-get install xinput expect-dev
จากนั้นคุณสามารถเรียกใช้สคริปต์ รันครั้งแรกด้วยตัวเลือก -h เพื่อดูตัวเลือกการกำหนดค่าที่เป็นไปได้ โดยค่าเริ่มต้นสคริปต์จะทำงานเพียงครั้งเดียวและคุณต้องรีสตาร์ทสคริปต์หลังจากทุกภาพหน้าจอ (เช่นด้วยแป้นพิมพ์ลัด) นี่เป็นเพราะสคริปต์อาจมีประสิทธิภาพที่แน่นอน หากคุณต้องการเรียกใช้เป็น "daemon" ให้รันด้วย-d
ตัวเลือก
โดยค่าเริ่มต้นมันก็จะใช้ชัตเตอร์ หากคุณต้องการใช้อย่างอื่นให้ใช้-e
ตัวเลือกเช่นscript.sh -c "ksnapshot"
โดยค่าเริ่มต้นปุ่มถ่ายภาพจะเป็น+Meta Rคุณสามารถเปลี่ยนได้ด้วยตัวเลือกการกำหนดค่า
เมื่อคุณสงสัยว่ามันเป็นไปได้ด้วยชัตเตอร์ ...
ที่จะทำใน ชัตเตอร์เปิดมันขึ้นมาและเลือกแบบเต็มหน้าจอจากทั้งแถบเครื่องมือหรือจากไฟล์ > ใหม่ > เต็มหน้าจอ
ตรวจสอบให้แน่ใจว่าคุณได้ตั้งค่าการหน่วงเวลาเพื่อให้คุณมีเวลาเพียงพอที่จะเปิดเมนูแอปพลิเคชัน ( แก้ไข > การตั้งค่า > แท็บหลักที่ด้านล่างจะมีกล่องตัวเลือก: จับภาพหลังจากการหน่วงเวลา __ วินาที )
ใช่. เปิดภาพหน้าจอและตั้งค่าเวลาใดก็ตามที่คุณคิดว่าจำเป็นต้องย้อนกลับและเปิดเมนู เปิดทิ้งไว้จนกว่าจะถ่ายภาพ
( สำหรับผู้ใช้สื่อกลางถึงอูบุนตูขั้นสูง )
gnome-screenshot --delay=numIntValueInSecs
gnome-screenshot --delay=3
เพิ่มอีกภาพหนึ่งเพื่อจับภาพหน้าจอของหน้าต่างที่ใช้งานอยู่:
gnome-screenshot -w --delay=3
เพียงเท่านี้แต่ฉันขอแนะนำให้ตั้งค่าอีก 2 คนซึ่งจะทำให้คุณมีเวลามากขึ้นในการนำทางในเมนูต่างๆ
gnome-screenshot --delay=10
gnome-screenshot -w --delay=10
( สามเณรถึงแฮ็กเกอร์ )
เมื่อใดก็ตามที่คุณกดPrntScrUbuntu ทั้งหมดจะเรียกgnome-screenshot
ซึ่งโดยปกติจะอยู่บน/usr/bin/
เส้นทางและหาได้จาก "เทอร์มินัล" (teletype, tty, cli, command line / พรอมต์) ดังนั้นคุณสามารถใช้มันได้หลากหลายวิธี วัตถุประสงค์
gnome-screenshot
โปรแกรมเล็ก ๆ ยอมรับพารามิเตอร์ที่ไม่จำเป็นที่คุณสามารถดูตัวเลือกทั้งหมดโดยการส่งผ่านพารามิเตอร์มาตรฐานเพื่อขอความช่วยเหลือคุณรู้หนึ่ง ( -h
)
หากคุณยังไม่แน่ใจว่าจะใช้สิ่งนี้อย่างไรคุณสามารถอ่านความช่วยเหลือที่ละเอียดกว่านี้ได้เสมอเพียงแค่ขอให้พิมพ์ด้วยตนเอง man gnome-screenshot
ยิ่งคุณอ่านคู่มืออย่างเต็มรูปแบบการแฮ็ค Ubuntu เพื่อให้เหมาะกับความต้องการของคุณจะกลายเป็นเรื่องง่ายและคุณไม่จำเป็นต้องให้คนอื่นทำตามคำแนะนำทีละขั้นตอน บางทีในตอนนี้คุณอาจรู้วิธีที่จะทำให้การแก้ปัญหานี้ด้วยตัวเองถ้าคุณยังคงหายไป (หวังว่าจะไม่) เพียงแค่อ่านต่อไป ...
ตอนนี้
Shortcuts
แท็บCustom Shortcuts
+
ปุ่มเพื่อเพิ่มทางลัดที่กำหนดเองใหม่ของคุณ* Presto!
คุณเพิ่งก้าวไปอีกหนึ่งขั้นเพื่อเป็นนายอูบุนตูฉันหวังว่าคำตอบนี้จะมีประโยชน์ *
ใช้ภาพหน้าจอ (ใน accesssories) และตั้ง 'คว้าหลังจากการหน่วงเวลา xx วินาที'
ทำงานให้ฉัน
ฉันพบวิธีแก้ปัญหาสำหรับสิ่งนี้ไม่ใช่ทางออกที่แท้จริง
เปิดScreenshot
แอพลิเคชันในหน้าต่างที่เปิดให้ตั้งเวลาเป็นคว้าหลังจากที่ล่าช้าของ x วินาที
หมายเหตุ: ขออภัยไม่สามารถใช้สกรีนช็อตของแอปพลิเคชั่นสกรีนช็อตเป็นหน้าต่างหรือหยิบเฉพาะบางส่วนได้
ฉันจะไม่พูดว่ามันเป็นข้อผิดพลาด เป็นไปได้ที่จะใช้เครื่องมือ "ภาพหน้าจอ" และตั้งค่า "หยิบหลังจากเวลาหน่วง x วินาที" เป็นเวลาที่คุณต้องเปิดเมนู