Я хочу сделать скриншот всего рабочего стола с выбором меню приложений. Как это сделать?
Я хочу сделать скриншот всего рабочего стола с выбором меню приложений. Как это сделать?
Ответы:
На самом деле, это возможно сделать это без задержки, но с некоторыми писак вместо этого. Я написал небольшой сценарий, который позволит вам сделать это без задержки. Это большой взлом, но он работает и, безусловно, (для меня) предпочтительнее, чем использование задержки.
#!/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. Вы можете изменить это с помощью параметров конфигурации.
Так как вам было интересно, возможно ли это сделать с помощью Shutter ...
Чтобы сделать это в Shutter , откройте его и выберите « Полный экран» на панели инструментов или в меню « Файл» > « Создать» > « Полноэкранный режим» .
Убедитесь, что у вас установлена задержка времени, чтобы у вас было достаточно времени, чтобы открыть меню «Приложения» (« Правка» > « Установки» > вкладка « Главная »; внизу есть поле выбора: « Захват после задержки в __ секунд» ).
( для средних и продвинутых пользователей 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 секунд .
Примечание: Извините, также невозможно сделать снимок экрана самого приложения « Снимок экрана » в качестве окна или получить определенную часть.