如何使用应用程序菜单选择获取整个桌面的屏幕截图?
我想通过应用程序菜单选择获取整个桌面的屏幕截图。如何做到这一点?
- 应用程序>配件>截图>抓取整个桌面>延迟后抓取: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 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 - execute that command instead of shutter" echo "-m - The modifier key to use. Use xinput test to find out what is what" echo "-r - The key to use for capture." echo "-c - 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选项运行它以查看可能的配置选项。 默认情况下,脚本只能运行一次,您必须在每次屏幕截图后重新启动脚本(例如,通过键盘快捷键)。 这是因为脚本可能具有inpact性能。 如果要将其作为“守护程序”运行,请使用-d
选项运行它。
默认情况下它也会使用快门。 如果要使用其他内容,请使用-e
选项,例如script.sh -c "ksnapshot"
默认情况下,捕获按钮将是Meta + R. 您可以使用配置选项更改它。
既然你想知道快门是否也可以……
要做到这一点 快门 ,打开它并从工具栏或文件 > 新建 > 全屏中选择全屏 。
确保设置了时间延迟,以便有足够的时间打开“应用程序”菜单(“ 编辑” > “首选项” >“ 主”选项卡;在底部,有一个选择框: 延迟__秒后捕获 )。
是。 打开屏幕截图,并设置延迟,您认为有必要返回并打开菜单。 保持打开直到拍摄。
快速回答/解决方法
( 适用于中高级ubuntu用户 )
- 将自定义快捷方式添加到以下命令:
gnome-screenshot --delay=numIntValueInSecs
例如
gnome-screenshot --delay=3
-
添加另一个以获取活动窗口截图:
gnome-screenshot -w --delay=3
就是这样 , 但我还建议设置另外两个可以让你有更多时间在菜单中深入导航的东西。
-
gnome-screenshot --delay=10
-
gnome-screenshot -w --delay=10
-
精心回答
( 新手到黑客 )
介绍:
每当你按下PrntScr时 ,所有Ubuntu都会调用gnome-screenshot
,它通常位于/usr/bin/
path上,可从“terminal”(teletype,tty,cli,命令行/提示符)获得,因此你可以使用它以各种方式来适应你的时髦目的。
gnome-screenshot
小程序接受可选参数,你可以通过传递标准参数来查看所有选项以寻求帮助,你知道一个( -h
)
如果您仍然不确定如何使用它,您可以随时阅读更详细的帮助,只需要输入手动输入man gnome-screenshot
你阅读完整的手册越多,黑客ubuntu以满足你的需求将变得直观,你不需要其他人给你一步一步的指示。 也许在这一点上你甚至知道如何自己解决这个问题,如果你仍然迷路(希望不是),继续阅读……
说明:
- 第零步:打开Ubuntu的系统设置并导航到Keyboard选项:
现在
- 导航到“
Shortcuts
选项卡。 - 选择
Custom Shortcuts
- 点击
+
按钮添加新的自定义快捷方式。 - 给出一个名字和一个命令。
(就像上面“快速回答”中所述)
41/2。 分配您想要的组合键。 - 关闭此窗口或它不会工作。
*急!
你刚刚迈出了一步,成为一名ubuntu大师,我希望这个答案很有帮助*
使用屏幕截图(在配件中)并设置’延迟xx秒后抓取’。
为我工作
我找到了一个解决方法,而不是一个实际的解决方案。
打开Screenshot
应用程序,在打开的窗口中, 在延迟x秒后将时间设置为Grab 。
注意:这不能用于抓取窗口的特定部分。
注意:抱歉,也无法将屏幕截图应用程序本身的屏幕截图作为窗口或抓取特定部分。
我不会说这是一个错误。 可以使用“屏幕截图”工具并将“延迟x秒后抓取”设置为需要重新打开菜单的时间。