正如本系列的 第 1 部分 和 第 2 部分 所討論的,捕獲屏幕快照和用于演示應(yīng)用程序行為的程序交互記錄是技術(shù)作家、技術(shù)市場營銷人員和提交應(yīng)用程序 bug 報告的用戶經(jīng)常要完成的任務(wù)。本系列的第 1 部分主要討論捕獲程序交互,第 2 部分主要討論使用命令行應(yīng)用程序捕獲圖像。本文是本系列的最后一篇,主要討論用于 UNIX® 和 Linux® 系統(tǒng)上捕獲屏幕的圖形應(yīng)用程序。
UNIX 和 Linux 圖形屏幕捕獲概述
所有現(xiàn)代的 Linux 和 UNIX 系統(tǒng)都提供某種圖形桌面,其中通常包含至少一個圖形屏幕捕獲應(yīng)用程序 — 常常是專門針對特定桌面環(huán)境的應(yīng)用程序。例如,GNOME 提供 gnome-screenshot,KDE 提供 KSnapshot。這兩個程序都可以捕獲對話框、窗口和整個屏幕。除了這些比較簡單的內(nèi)置的屏幕和窗口捕獲實用程序之外,還有幾個更高級的適用于 Linux 和大多數(shù) UNIX 系統(tǒng)的應(yīng)用程序也支持屏幕捕獲,比如 GNU Image Manipulation Program (GIMP) 和 Shutter。
特定于桌面的屏幕捕獲實用程序
對大多數(shù) Linux 和 UNIX 系統(tǒng)可用的 GNOME 和 KDE 桌面環(huán)境都包含利用各自環(huán)境功能的屏幕快照實用程序。這些實用程序速度快,內(nèi)存需求較小,且易于使用。但是,它們提供的屏幕捕獲選項和功能不如本文后面討論的通用應(yīng)用程序那么豐富(見 通用屏幕捕獲實用程序)。
使用 gnome-screenshot
gnome-screenshot 應(yīng)用程序很容易執(zhí)行,系統(tǒng)需求很低,因此是在 GNOME 桌面上執(zhí)行簡單屏幕捕獲的絕佳選擇。但是,它只能以 Portable Network Graphics (PNG) 格式捕獲圖像,沒有像本文后面討論的 GIMP 和 Shutter 等應(yīng)用程序那樣提供細粒度的對象選擇控制。
在所有基于 GNOME 的 Linux 和 UNIX 系統(tǒng)上都有 gnome-screenshot 應(yīng)用程序。可以通過以下方式之一調(diào)用它:
- 選擇菜單命令 Applications > Accessories > Take Screenshot。
- 按 Print Screen 鍵(有時候簡寫為 PrtSc)。
- 按 Alt-Print Screen 組合鍵。
- 使用命令行。
對于每種調(diào)用方法,gnome-screenshot 應(yīng)用程序的表現(xiàn)略有差異,因為它們用不同的選項執(zhí)行此命令。
Take Screenshot 菜單命令
選擇 Take Screenshot 菜單命令就會以交互模式啟動 gnome-screenshot 應(yīng)用程序(使用 --interactive 命令行選項)。這顯示 圖 1所示的對話框。
圖 1. gnome-screenshot 配置對話框
Print Screen 鍵
按 Print Screen 鍵就會不帶選項地調(diào)用 gnome-screenshot 應(yīng)用程序,這捕獲整個屏幕并顯示 圖 2 所示的對話框。在這個對話框中,可以指定保存屏幕圖像的文件的名稱和位置。
圖 2. gnome-screenshot 保存屏幕快照對話框
Alt-Print Screen 組合鍵
按 Alt-Print Screen 組合鍵(即按住 Alt 鍵并按 Print Screen 鍵)就會利用 -w 選項調(diào)用 gnome-screenshot 應(yīng)用程序,這捕獲當(dāng)前窗口,同樣顯示 圖 2 所示的對話框。
命令行
從命令行調(diào)用 gnome-screenshot 應(yīng)用程序時,您能夠指定任何選項?梢酝ㄟ^執(zhí)行 man gnome-screenshot 命令查看 gnome-screenshot 應(yīng)用程序的聯(lián)機參考信息,了解所有可用的選項。
使用 KSnapshot
KSnapshot 比 GNOME 上的 gnome-screenshot 強大得多,也更靈活,但是只能在 KDE 桌面系統(tǒng)或也安裝了 KDE 和相關(guān)庫的 GNOME 系統(tǒng)上使用。它對于 KDE 桌面上的大多數(shù)屏幕捕獲需求是絕佳的選擇;但是,它也沒有像下一節(jié)討論的 GIMP 和 Shutter 等應(yīng)用程序那樣提供細粒度的對象選擇控制。
在所有基于 KDE 的 Linux 和 UNIX 系統(tǒng)上都有 KSnapshot?梢酝ㄟ^以下方式之一調(diào)用它:
- 選擇菜單命令 K Menu > Applications > Graphics > Take Screenshot。
- 按 Alt-F2 組合鍵并在 Run Command 對話框中輸入它的名稱。
- 使用命令行。
以這些方法啟動 KSnapshot 都會顯示 圖 3 所示的對話框。
圖 3. KSnapshot 配置和控制對話框
選擇希望捕獲的圖形對象的類型(通過 Capture mode 下拉菜單)、可選的延時和是否包含窗口裝飾之后,單擊 New Snapshot 以捕獲指定的對象或選擇的區(qū)域。在同一對話框中顯示新的屏幕捕獲。然后可以用圖像編輯應(yīng)用程序打開它,或者通過單擊 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 桌面默認提供的屏幕和圖像捕獲實用程序。它們都提供高級的功能,比如能夠手工選擇要捕獲的屏幕部分以及在經(jīng)過一定的延時之后捕獲圖像(這讓您能夠選擇菜單、在對話框中顯示特定內(nèi)容等等)。盡管這些內(nèi)置的應(yīng)用程序很不錯,但是其他 Linux 和 UNIX 應(yīng)用程序提供了它們不具備的高級功能。
本文余下的部分討論兩個應(yīng)用程序,它們提供很多出色的功能,即使是對圖像要求最高的技術(shù)作家也會滿意。第一個應(yīng)用程序 GIMP 并不是作為屏幕/圖像捕獲應(yīng)用程序設(shè)計的 — 它是一個包含屏幕捕獲功能的圖像編輯應(yīng)用程序。第二個應(yīng)用程序 Shutter 是一個 Perl 腳本,它提供用于指定、選擇和管理屏幕捕獲的出色的用戶界面。
使用 GIMP
GIMP 是一個流行的柵格圖像編輯應(yīng)用程序,適用于幾乎所有現(xiàn)代圖形計算平臺,提供許多與 Adobe Photoshop 相同的功能。GIMP 集成的屏幕捕獲功能和先進的圖像編輯功能讓它成為屏幕捕獲和后續(xù)處理的自然選擇。盡管我發(fā)現(xiàn) Shutter 對于 GNOME 系統(tǒng)是一個卓越且方便的屏幕捕獲應(yīng)用程序,但是在普適性和功能方面比不上 GIMP。
GIMP 適用于所有 Linux 發(fā)行版,也適用于大多數(shù)其他操作系統(tǒng),包括 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 桌面之間的關(guān)系常常會引起誤解。GIMP 不是 GNOME 應(yīng)用程序,因此不需要在系統(tǒng)上安裝 GNOME 桌面或由 GNOME 使用的庫。實際上,GIMP 需要名為 GIMP Toolkit (GTK) 的底層圖形用戶界面 (GUI) 工具包。顧名思義,GTK 原來是作為供 GIMP 使用的可重用組件和函數(shù)集開發(fā)的。因此,GIMP 只需要 GTK 的現(xiàn)代版本(GTK+、GTK2 等等)和一些 X Window System 庫(或在非 UNIX 和非 Linux 系統(tǒng)上功能相當(dāng)?shù)膸欤涂梢栽谌魏纹脚_上運行。
要想使用 GIMP 捕獲屏幕圖像,應(yīng)該選擇 File > Create > Screenshot 菜單命令,這顯示 圖 4 所示的對話框。
圖 4. GIMP 配置和控制對話框
在這個對話框中,可以指定是要捕獲整個屏幕、特定窗口或?qū)υ捒蜻是可選擇的區(qū)域。還可以指定在捕獲窗口時是否希望捕獲窗口裝飾,可以以秒為單位指定捕獲圖像之前的延時。
捕獲圖像之后,GIMP 自動地打開圖像供編輯,見 圖 5。在 GIMP 中修改捕獲的圖像之后,可以使用 File > Save As 菜單命令把圖像保存到文件中。
圖 5. 在 GIMP 中捕獲的圖像
使用 Shutter
Shutter 是一個 Perl 腳本,它需要 GNOME 庫,因此通常在運行 GNOME 桌面的系統(tǒng)上運行。Shutter 原來名為 gscrot,因為過去它為命令行屏幕捕獲應(yīng)用程序 scrot 提供 GNOME 包裝器。但是,Shutter 現(xiàn)在完全獨立了,不再需要 scrot。Shutter 提供出色的用于指定、選擇和管理屏幕捕獲的用戶界面。
可以從命令行或通過在 GNOME 菜單中選擇 Applications > Accessories > Shutter 命令啟動 Shutter。在第一次啟動 Shutter 時,可能希望通過 Edit > Preferences 對話框配置它,見 圖 6。
圖 6. 配置 Shutter
在這個對話框的各個選項卡中,可以指定捕獲的圖像的命名方案(包括基本名稱和圖像編號)、是否在捕獲的窗口圖像中包含窗口裝飾、自動保存捕獲的圖像的格式和位置等等。
配置完 Shutter 之后(或者希望采用默認設(shè)置),可以按以下方法之一捕獲圖像:
- 從 Full Screen 下拉菜單中選擇希望捕獲的屏幕(或虛擬屏幕)以捕獲全屏圖像。
- 從 Window 下拉菜單中選擇希望捕獲的窗口的名稱以捕獲特定的窗口或?qū)υ捒颉?li>選擇 Window 下拉菜單右邊的圖標以捕獲窗口的一部分。
- 選擇以上圖標右邊的圖標以捕獲一個菜單或一組層疊菜單。
捕獲的圖像顯示在 Shutter 中,見 圖 7。
圖 7. 在 Shutter 中捕獲的圖像
Shutter 根據(jù)在 Preferences 對話框中指定的命名方案自動地保存它捕獲的圖像。還可以指定編號方案 — 如果要捕獲一系列圖像,它們必須按一定的次序出現(xiàn),那么指定編號方案很方便。它還在主對話框中單獨的面板中顯示所有屏幕捕獲,讓您能夠方便地檢查是否已經(jīng)捕獲了所需的所有圖像。關(guān)于 Shutter 的更多信息參見 參考資料。
結(jié)束語
本文討論的圖形屏幕捕獲實用程序能夠幫助不需要(或不想)使用命令行的用戶簡便地執(zhí)行屏幕捕獲。
GNOME 和 KDE 系統(tǒng)提供的默認圖形屏幕捕獲實用程序?qū)τ诤唵蔚钠聊徊东@很方便,但是如果需要調(diào)整圖像或要捕獲多個圖像,則使用 GIMP 和 Shutter 會更好。
GIMP 很適合作為標準的屏幕捕獲工具,因為它適用于所有現(xiàn)代桌面計算機系統(tǒng)。在除 GNOME 之外的所有系統(tǒng)上我通常使用 GIMP,在 GNOME 系統(tǒng)上使用 Shutter,因為 Shutter 提供前綴、編號和先進的選擇功能。
關(guān)于作者
William von Hagen 擔(dān)任 UNIX 系統(tǒng)管理員已經(jīng)超過 20 年,并從 1993 年開始成為 Linux 愛好者。Bill 是一些圖書的作者或合著者,涉及的主題包括 Ubuntu Linux、Xen Virtualization、GNU Compiler Collection (GCC)、SuSE Linux、Mac OS X、Linux 文件系統(tǒng)和 SGML。他還為 Linux 和 Mac OS X 出版物和網(wǎng)站撰寫了許多文章。
http://www.ibm.com/developerworks/cn/aix/library/au-screenshots3/index.html