日常工作中,我们经常需要截取屏幕状态来给其他人看。一般情况下,我们能最直接想到的就是使用键盘上的“Print Screen SysRq”键来直接截取屏幕到内存中,然后再在其他工具中将内存中的图粘贴出来。不过在 Ubuntu 下,当你打开一个程序的下拉菜单的时候,你会发现在 Ubuntu 下截屏是有问题的。目前这个问题还没有得到很好的解决,那么我们怎么办呢。在一番搜索查询后,我发现了一个通过命令行就可以实现截屏的程序,gnome-screenshot (在 Gnome 桌面环境下) 可以非常方便的截取我们需要的屏幕,可以截取整个屏幕,当前窗口,或者我们制定的区域。
下面我们就挨个来测试测试这些功能。这里一共有六个示例,可以让大家了解这个命令和工具:
1、捕捉整个屏幕
捕捉整个屏幕应该是非常普遍的需求了,gnome-screenshot 捕捉整个屏幕只需要运行下面的命令就可以:
$ gnome-screenshot
上面就是我的当前整个桌面了。
2、通过 -w 参数来捕捉当前 Shell 窗口
上面的例子里我们捕捉了整个屏幕的状态,如果我们只想捕捉当前活动的 Shell 窗口我们可以在命令上添加 -w 参数来做到:
$ gnome-screenshot -w
您可以看到,上面的截图只有当前运行的 Shell 窗口。
3、使用 -a 参数来捕捉指定区域
捕捉指定区域应该是比整个桌面和指定窗口使用频率更高的需求了。
$ gnome-screenshot -a
运行了这个命令以后,您应该看到您的鼠标指针已经发生了变化,您只需要移动鼠标到您需要的区域单击然后拖动出一个区域来,松开鼠标的时候,您将得到一个区域的截图。
您可以看到上面的这个只有一点点高的小图片。
4、使用 -B 参数来去除窗口的边框
在第二个方法中,虽然我们截取了当前活动的窗口,不过它是连带着窗口的名称状态条一起截取的,如果我们需要截取不带名称状态条的图形,那么我们就需要在 -w 参数后面继续添加 -B 参数了。
$ gnome-screenshot -w -B
怎么样,看起来是不是更清爽一些。
5、使用 -d 参数来延迟截取功能从而截取其他活动窗口
前面我们使用 -w 参数来捕获当前活跃的 Shell 窗口,不过我们不能只截取 Shell 窗口而视其他窗口的需求而不顾。Shell 只是我们的使用工具,我们还需要其他窗口的截图来完成我们的工作,我们也不能总是所有截图里都带着 Shell 窗口。-d 参数就是来满足我们这个需求的。-d 参数后面我们继续添加一个数字,执行带这些参数的命令后,截取屏幕功能将在你指定的数字的秒数后来实现。这样你就有充足的时间来缩小、关闭你不需要的窗口或者切换到你需要的窗口。
$ gnome-screenshot -d 5
上面的命令将在 5 秒后截取桌面,执行后,你就可以在五秒钟的时间内来切换到你需要截取的窗口,然后等待 5 秒钟的到来就好了。
6、使用 -e 参数来给截图添加效果
gnome-screenshot 工具可以给截图添加一个外边框和阴影,以便我们在其他地方使用截图的时候,这些图都具有一个明显的边框。-e 参数后面根据需要添加“border”或者“shadow”下面是一个添加边框的命令示例。
注:我使用 -w 参数来捕捉当前窗口,-B 参数来去除窗口名称状态条,同时给它添加一个边框:
$ gnome-screenshot -wB -e border
大家赶紧试验试验这些命令参数吧,看看他们都能怎么样组合,当然了这里是命令行的使用模式,其实我们还可以在 GUI 下来使用,您只需要在命令上添加 -i 参数就可以看到具体是怎么样的了。
原文:http://mylinuxbook.com/gnome-screenshot/
补充
谢谢 @gad壹米 的提示,可以将上述的命令设置到快捷键上:
设置中 “键盘 -> 快捷键 ->自定义快捷键" 新增一个自定义的,命令设为 gnome-screenshot -a ,然后绑定一个快捷键如 ctrl+shift+a。就能随意截取部分屏幕了