正如本系列的 第 1 部分 和 第 2 部分 所讨论的,捕获屏幕快照和用于演示应用程序行为的程序交互记录是技术作家、技术市场营销人员和提交应用程序 bug 报告的用户经常要完成的任务。本系列的第 1 部分主要讨论捕获程序交互,第 2 部分主要讨论使用命令行应用程序捕获图像。本文是本系列的最后一篇,主要讨论用于 UNIX® 和 Linux® 系统上捕获屏幕的图形应用程序。
UNIX 和 Linux 图形屏幕捕获概述
所有现代的 Linux 和 UNIX 系统都提供某种图形桌面,其中通常包含至少一个图形屏幕捕获应用程序 — 常常是专门针对特定桌面环境的应用程序。例如,GNOME 提供 gnome-screenshot,KDE 提供 KSnapshot。这两个程序都可以捕获对话框、窗口和整个屏幕。除了这些比较简单的内置的屏幕和窗口捕获实用程序之外,还有几个更高级的适用于 Linux 和大多数 UNIX 系统的应用程序也支持屏幕捕获,比如 GNU Image Manipulation Program (GIMP) 和 Shutter。
特定于桌面的屏幕捕获实用程序
对大多数 Linux 和 UNIX 系统可用的 GNOME 和 KDE 桌面环境都包含利用各自环境功能的屏幕快照实用程序。这些实用程序速度快,内存需求较小,且易于使用。但是,它们提供的屏幕捕获选项和功能不如本文后面讨论的通用应用程序那么丰富(见 通用屏幕捕获实用程序)。
使用 gnome-screenshot
gnome-screenshot 应用程序很容易执行,系统需求很低,因此是在 GNOME 桌面上执行简单屏幕捕获的绝佳选择。但是,它只能以 Portable Network Graphics (PNG) 格式捕获图像,没有像本文后面讨论的 GIMP 和 Shutter 等应用程序那样提供细粒度的对象选择控制。
在所有基于 GNOME 的 Linux 和 UNIX 系统上都有 gnome-screenshot 应用程序。可以通过以下方式之一调用它:
- 选择菜单命令 Applications > Accessories > Take Screenshot。
- 按 Print Screen 键(有时候简写为 PrtSc)。
- 按 Alt-Print Screen 组合键。
- 使用命令行。
对于每种调用方法,gnome-screenshot 应用程序的表现略有差异,因为它们用不同的选项执行此命令。
Take Screenshot 菜单命令
选择 Take Screenshot 菜单命令就会以交互模式启动 gnome-screenshot 应用程序(使用 --interactive 命令行选项)。这显示 图 1所示的对话框。
图 1. gnome-screenshot 配置对话框
Print Screen 键
按 Print Screen 键就会不带选项地调用 gnome-screenshot 应用程序,这捕获整个屏幕并显示 图 2 所示的对话框。在这个对话框中,可以指定保存屏幕图像的文件的名称和位置。
图 2. gnome-screenshot 保存屏幕快照对话框
Alt-Print Screen 组合键
按 Alt-Print Screen 组合键(即按住 Alt 键并按 Print Screen 键)就会利用 -w 选项调用 gnome-screenshot 应用程序,这捕获当前窗口,同样显示 图 2 所示的对话框。
命令行
从命令行调用 gnome-screenshot 应用程序时,您能够指定任何选项。可以通过执行 man gnome-screenshot 命令查看 gnome-screenshot 应用程序的联机参考信息,了解所有可用的选项。
使用 KSnapshot
KSnapshot 比 GNOME 上的 gnome-screenshot 强大得多,也更灵活,但是只能在 KDE 桌面系统或也安装了 KDE 和相关库的 GNOME 系统上使用。它对于 KDE 桌面上的大多数屏幕捕获需求是绝佳的选择;但是,它也没有像下一节讨论的 GIMP 和 Shutter 等应用程序那样提供细粒度的对象选择控制。
在所有基于 KDE 的 Linux 和 UNIX 系统上都有 KSnapshot。可以通过以下方式之一调用它:
- 选择菜单命令 K Menu > Applications > Graphics > Take Screenshot。
- 按 Alt-F2 组合键并在 Run Command 对话框中输入它的名称。
- 使用命令行。
以这些方法启动 KSnapshot 都会显示 图 3 所示的对话框。
图 3. KSnapshot 配置和控制对话框
选择希望捕获的图形对象的类型(通过 Capture mode 下拉菜单)、可选的延时和是否包含窗口装饰之后,单击 New Snapshot 以捕获指定的对象或选择的区域。在同一对话框中显示新的屏幕捕获。然后可以用图像编辑应用程序打开它,或者通过单击 Save As 并指定文件的位置和名称把它保存到文件中。在 Filter 中,可以指定在保存新图像时希望使用的图形文件格式,选项包括 Encapsulated PostScript (EPS)、Joint Photographic Experts Group (JPEG)、PNG、X BitMap (XBM)、X PixMap (XPM) 和 Microsoft® Windows® BMP and Icon 格式。
通用屏幕捕获实用程序
前面讨论了 GNOME 和 KDE 桌面默认提供的屏幕和图像捕获实用程序。它们都提供高级的功能,比如能够手工选择要捕获的屏幕部分以及在经过一定的延时之后捕获图像(这让您能够选择菜单、在对话框中显示特定内容等等)。尽管这些内置的应用程序很不错,但是其他 Linux 和 UNIX 应用程序提供了它们不具备的高级功能。
本文余下的部分讨论两个应用程序,它们提供很多出色的功能,即使是对图像要求最高的技术作家也会满意。第一个应用程序 GIMP 并不是作为屏幕/图像捕获应用程序设计的 — 它是一个包含屏幕捕获功能的图像编辑应用程序。第二个应用程序 Shutter 是一个 Perl 脚本,它提供用于指定、选择和管理屏幕捕获的出色的用户界面。
使用 GIMP
GIMP 是一个流行的栅格图像编辑应用程序,适用于几乎所有现代图形计算平台,提供许多与 Adobe Photoshop 相同的功能。GIMP 集成的屏幕捕获功能和先进的图像编辑功能让它成为屏幕捕获和后续处理的自然选择。尽管我发现 Shutter 对于 GNOME 系统是一个卓越且方便的屏幕捕获应用程序,但是在普适性和功能方面比不上 GIMP。
GIMP 适用于所有 Linux 发行版,也适用于大多数其他操作系统,包括 Hewlett-Packard HP-UX、IBM® AIX®、Mac OS® X、Microsoft Windows 和 Sun and Oracle Solaris。(在 AIX Toolbox for Linux Applications CD 上可以找到 GIMP for AIX。)GIMP 提供先进的集成的图像捕获功能,可以在捕获图像之后马上编辑它们。
GIMP 与 GNOME 桌面之间的关系常常会引起误解。GIMP 不是 GNOME 应用程序,因此不需要在系统上安装 GNOME 桌面或由 GNOME 使用的库。实际上,GIMP 需要名为 GIMP Toolkit (GTK) 的底层图形用户界面 (GUI) 工具包。顾名思义,GTK 原来是作为供 GIMP 使用的可重用组件和函数集开发的。因此,GIMP 只需要 GTK 的现代版本(GTK+、GTK2 等等)和一些 X Window System 库(或在非 UNIX 和非 Linux 系统上功能相当的库),就可以在任何平台上运行。
要想使用 GIMP 捕获屏幕图像,应该选择 File > Create > Screenshot 菜单命令,这显示 图 4 所示的对话框。
图 4. GIMP 配置和控制对话框
在这个对话框中,可以指定是要捕获整个屏幕、特定窗口或对话框还是可选择的区域。还可以指定在捕获窗口时是否希望捕获窗口装饰,可以以秒为单位指定捕获图像之前的延时。
捕获图像之后,GIMP 自动地打开图像供编辑,见 图 5。在 GIMP 中修改捕获的图像之后,可以使用 File > Save As 菜单命令把图像保存到文件中。
图 5. 在 GIMP 中捕获的图像
使用 Shutter
Shutter 是一个 Perl 脚本,它需要 GNOME 库,因此通常在运行 GNOME 桌面的系统上运行。Shutter 原来名为 gscrot,因为过去它为命令行屏幕捕获应用程序 scrot 提供 GNOME 包装器。但是,Shutter 现在完全独立了,不再需要 scrot。Shutter 提供出色的用于指定、选择和管理屏幕捕获的用户界面。
可以从命令行或通过在 GNOME 菜单中选择 Applications > Accessories > Shutter 命令启动 Shutter。在第一次启动 Shutter 时,可能希望通过 Edit > Preferences 对话框配置它,见 图 6。
图 6. 配置 Shutter
在这个对话框的各个选项卡中,可以指定捕获的图像的命名方案(包括基本名称和图像编号)、是否在捕获的窗口图像中包含窗口装饰、自动保存捕获的图像的格式和位置等等。
配置完 Shutter 之后(或者希望采用默认设置),可以按以下方法之一捕获图像:
- 从 Full Screen 下拉菜单中选择希望捕获的屏幕(或虚拟屏幕)以捕获全屏图像。
- 从 Window 下拉菜单中选择希望捕获的窗口的名称以捕获特定的窗口或对话框。
- 选择 Window 下拉菜单右边的图标以捕获窗口的一部分。
- 选择以上图标右边的图标以捕获一个菜单或一组层叠菜单。
捕获的图像显示在 Shutter 中,见 图 7。
图 7. 在 Shutter 中捕获的图像
Shutter 根据在 Preferences 对话框中指定的命名方案自动地保存它捕获的图像。还可以指定编号方案 — 如果要捕获一系列图像,它们必须按一定的次序出现,那么指定编号方案很方便。它还在主对话框中单独的面板中显示所有屏幕捕获,让您能够方便地检查是否已经捕获了所需的所有图像。关于 Shutter 的更多信息参见 参考资料。
结束语
本文讨论的图形屏幕捕获实用程序能够帮助不需要(或不想)使用命令行的用户简便地执行屏幕捕获。
GNOME 和 KDE 系统提供的默认图形屏幕捕获实用程序对于简单的屏幕捕获很方便,但是如果需要调整图像或要捕获多个图像,则使用 GIMP 和 Shutter 会更好。
GIMP 很适合作为标准的屏幕捕获工具,因为它适用于所有现代桌面计算机系统。在除 GNOME 之外的所有系统上我通常使用 GIMP,在 GNOME 系统上使用 Shutter,因为 Shutter 提供前缀、编号和先进的选择功能。
关于作者
William von Hagen 担任 UNIX 系统管理员已经超过 20 年,并从 1993 年开始成为 Linux 爱好者。Bill 是一些图书的作者或合著者,涉及的主题包括 Ubuntu Linux、Xen Virtualization、GNU Compiler Collection (GCC)、SuSE Linux、Mac OS X、Linux 文件系统和 SGML。他还为 Linux 和 Mac OS X 出版物和网站撰写了许多文章。
http://www.ibm.com/developerworks/cn/aix/library/au-screenshots3/index.html