Я хочу зробити скріншот цілого робочого столу з вибором меню додатків. Як це зробити?
Я хочу зробити скріншот цілого робочого столу з вибором меню додатків. Як це зробити?
Відповіді:
На насправді, це можливо зробити це без затримки, але з деякими писак замість цього. Я написав невеликий сценарій, який дозволить вам зробити це без зволікань. Це великий злом, але він працює і, безумовно, (для мене) більш кращий, ніж використання затримки.
#!/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, все, що робить Ubuntu, викликає дзвінки, gnome-screenshot
які зазвичай знаходяться на /usr/bin/
шляху та доступні з "терміналу" (телетайп, tty, cli, командний рядок / підказка), тож ви можете використовувати його різними способами, щоб підходити до вашого фанки цілей.
gnome-screenshot
Маленька програма вживає додаткових параметри, ви можете побачити всі варіанти, передаючи стандартний параметр , щоб попросити про допомогу, ви знаєте , що один ( -h
)
Якщо ви все ще не впевнені, як це використовувати, ви завжди можете прочитати більш детальну допомогу, просто попросіть ввести вручну man gnome-screenshot
Чим більше ви читаєте повні посібники, тим, що хакінг ubuntu підходить до ваших потреб, стане інтуїтивно зрозумілим, і вам не знадобиться, щоб інші люди давали вам покрокові інструкції. Можливо, до цього моменту ви навіть знаєте, як вирішити це рішення самостійно, якщо ви все-таки загубилися (сподіваємось, ні), просто продовжуйте читати ...
Тепер
Shortcuts
вкладку.Custom Shortcuts
+
кнопку, щоб додати новий спеціальний ярлик.* престо!
Ви просто зробили ще один крок, щоб стати майстром ubuntu, сподіваюся, що ця відповідь була корисною *
Я знайшов вирішення цього, а не фактичного рішення.
Відкрийте Screenshot
програму, у відкритому вікні встановіть час як Grab після затримки x секунд .
Примітка: Вибачте, не можна також знімати знімок екрана програми Screenshot як вікно або захоплювати певну частину.