史上最全的使用gnome-screenshot獲取屏幕快照指南
在應(yīng)用市場中有好幾種屏幕截圖工具,但其中大多數(shù)都是基于 GUI 的。如果你經(jīng)常在 linux 命令行上工作,而且正在尋找一款優(yōu)秀的功能豐富的基于命令行的屏幕截圖工具,你可能會想嘗試 gnome-screenshot。在本教程中,我將使用易于理解的例子來解釋這個實(shí)用程序。
請注意,本教程中提到的所有例子已經(jīng)在 Ubuntu 16.04 LTS 上測試過,測試所使用的 gonme-screenshot 版本是 3.18.0。
關(guān)于 Gnome-screenshot
Gnome-screenshot 是一款 GNOME 工具,顧名思義,它是一款用來對整個屏幕、一個特定的窗口或者用戶所定義一些其他區(qū)域進(jìn)行捕獲的工具。該工具提供了幾個其他的功能,包括對所捕獲的截圖的邊界進(jìn)行美化的功能。
Gnome-screenshot 安裝
Ubuntu 系統(tǒng)上已經(jīng)預(yù)安裝了 gnome-screeshot 工具,但是如果你出于某些原因需要重新安裝這款軟件程序,你可以使用下面的命令來進(jìn)行安裝:
- sudo apt-get install gnome-screeshot
一旦軟件安裝完成后,你可以使用下面的命令來啟動它:
- gnome-screenshot
Gnome-screenshot 用法/特點(diǎn)
在這部分,我們將討論如何使用 gnome-screenshot ,以及它提供的所有功能。
默認(rèn)情況下,使用該工具且不帶任何命令行選項(xiàng)時,就會抓取整個屏幕。
Starting Gnome Screenshot
捕獲當(dāng)前活動窗口
如何你需要的話,你可以使用 -w 選項(xiàng)限制到只對當(dāng)前活動窗口截圖。
- gnome-screenshot -w
Capturing current active window
窗口邊框
默認(rèn)情況下,這個程序會將它捕獲的窗口的邊框包含在內(nèi),盡管還有一個明確的命令行選項(xiàng) -b 可以啟用此功能(以防你在某處想使用它)。以下是如何使用這個程序的:
- gnome-screenshot -wb
當(dāng)然,你需要同時使用 -w 選項(xiàng)和 -b 選項(xiàng),以便捕獲的是當(dāng)前活動的窗口(否則,-b 將沒有作用)。
更重要的是,如果你需要的話,你也可以移除窗口的邊框。可以使用 -B 選項(xiàng)來完成。下面是你可以如何使用這個選項(xiàng)的一個例子:
- gnome-screenshot -wB
下面是例子的截圖:
Window border
添加效果到窗口邊框
在 gnome-screenshot 工具的幫助下,您還可以向窗口邊框添加各種效果。這可以使用 --border-effect 選項(xiàng)來做到。
你可以添加這款程序所提供的任何效果,比如 shadow 效果(在窗口添加陰影)、bordor 效果(在屏幕截圖周圍添加矩形區(qū)域)和 vintage 效果(使截圖略微淡化,著色并在其周圍添加矩形區(qū)域)。
- gnome-screenshot --border-effect=[EFFECT]
例如,運(yùn)行下面的命令添加 shadow 效果:
- gnome-screenshot –border-effect=shadow
以下是 shadow 效果的示例快照:
Adding effects to window borders
請注意,上述屏幕截圖主要集中在終端的一個角落,以便您清楚地看到陰影效果。
對特定區(qū)域的截圖
如何你需要,你還可以使用 gnome-screenshot 程序?qū)δ汶娔X屏幕的某一特定區(qū)域進(jìn)行截圖。這可以通過使用 -a 選項(xiàng)來完成。
- gnome-screenshot -a
當(dāng)上面的命令被運(yùn)行后,你的鼠標(biāo)指針將會變成 '+' 這個符號。在這種模式下,你可以按住鼠標(biāo)左鍵移動鼠標(biāo)來對某個特定區(qū)域截圖。
這是一個示例截圖,裁剪了我的終端窗口的一小部分。
example screenshot wherein I cropped a small area of my terminal window
在截圖中包含鼠標(biāo)指針
默認(rèn)情況下,每當(dāng)你使用這個工具截圖的時候,截的圖中并不會包含鼠標(biāo)指針。然而,這個程序是可以讓你把指針包括進(jìn)去的,你可以使用 -p 命令行選項(xiàng)做到。
- gnome-screenshot -p
這是一個示例截圖:
Include mouse pointer in snapshot
延時截圖
截圖時你還可以引入時間延遲。要做到這,你不需要給 --delay 選項(xiàng)賦予一個以秒為單位的值。
- gnome-screenshot –delay=[SECONDS]
例如:
- gnome-screenshot --delay=5
示例截圖如下:
Delay in taking screenshots
以交互模式運(yùn)行這個工具
這個工具還允許你使用一個單獨(dú)的 -i 選項(xiàng)來訪問其所有功能。使用這個命令行選項(xiàng),用戶可以在運(yùn)行這個命令時使用這個工具的一個或多個功能。
- gnome-screenshot -i
示例截圖如下:
Run the tool in interactive mode
你可以從上面的截圖中看到,-i 選項(xiàng)提供了對很多功能的訪問,比如截取整個屏幕、截取當(dāng)前窗口、選擇一個區(qū)域進(jìn)行截圖、延時選項(xiàng)和特效選項(xiàng)等都在交互模式里。
直接保存你的截圖
如果你需要的話,你可以直接將你截的圖片從終端中保存到你當(dāng)前的工作目錄,這意味著,在這個程序運(yùn)行后,它并不要求你為截取的圖片輸入一個文件名。這個功能可以使用 --file 命令行選項(xiàng)來獲取,很明顯,需要給它傳遞一個文件名。
- gnome-screenshot –file=[FILENAME]
例如:
- gnome-screenshot --file=ashish
示例截圖如下:
Directly save your screenshot
復(fù)制到剪切板
gnome-screenshot 也允許你把你截的圖復(fù)制到剪切板。這可以通過使用 -c 命令行選項(xiàng)做到。
- gnome-screenshot -c
Copy to clipboard
在這個模式下,例如,你可以把復(fù)制的圖直接粘貼到你的任何一個圖片編輯器中(比如 GIMP)。
多顯示器情形下的截圖
如果有多個顯示器連接到你的系統(tǒng),你想對某一個進(jìn)行截圖,那么你可以使用 --then 命令行選項(xiàng)。需要給這個選項(xiàng)一個顯示器設(shè)備 ID 的值(需要被截圖的顯示器的 ID)。
- gnome-screenshot --display=[DISPLAY]
例如:
- gnome-screenshot --display=VGA-0
在上面的例子中,VAG-0 是我正試圖對其進(jìn)行截圖的顯示器的 ID。為了找到你想對其進(jìn)行截圖的顯示器的 ID,你可以使用下面的命令:
- xrandr --query
為了讓你明白一些,在我的例子中這個命令產(chǎn)生了下面的輸出:
- $ xrandr --query
- Screen 0: minimum 320 x 200, current 1366 x 768, maximum 8192 x 8192
- VGA-0 connected primary 1366x768+0+0 (normal left inverted right x axis y axis) 344mm x 194mm
- 1366x768 59.8*+
- 1024x768 75.1 75.0 60.0
- 832x624 74.6
- 800x600 75.0 60.3 56.2
- 640x480 75.0 60.0
- 720x400 70.1
- HDMI-0 disconnected (normal left inverted right x axis y axis)
自動化屏幕截圖過程
正如我們之前討論的,-a 命令行選項(xiàng)可以幫助我們對屏幕的某一個特定區(qū)域進(jìn)行截圖。然而,我們需要用鼠標(biāo)手動選取這個區(qū)域。如果你想的話,你可以使用 gnome-screenshot 來自動化完成這個過程,但是在那種情形下,你將需要使用一個名為 xdotol 的工具,它可以模仿敲打鍵盤甚至是點(diǎn)擊鼠標(biāo)這些事件。
例如:
- (gnome-screenshot -a &); sleep 0.1 && xdotool mousemove 100 100 mousedown 1 mousemove 400 400 mouseup 1
mousemove 子命令自動把鼠標(biāo)指針定位到明確的 X 坐標(biāo)和 Y 坐標(biāo)的位置(上面例子中是 100 和 100)。mousedown 子命令觸發(fā)一個與點(diǎn)擊執(zhí)行相同操作的事件(因?yàn)槲覀兿胱髶簦晕覀兪褂昧藚?shù) 1),然而 mouseup 子命令觸發(fā)一個執(zhí)行用戶釋放鼠標(biāo)按鈕的任務(wù)的事件。
所以總而言之,上面所示的 xdotool 命令做了一項(xiàng)本來需要使用鼠標(biāo)手動執(zhí)行對同一區(qū)域進(jìn)行截圖的工作。特別說明,該命令把鼠標(biāo)指針定位到屏幕上坐標(biāo)為 100,100 的位置并選擇封閉區(qū)域,直到指針到達(dá)屏幕上坐標(biāo)為 400,400 的位置。所選擇的區(qū)域隨之被 gnome-screenshot 捕獲。
這是上述命令的截圖:
screenshot of the above command
這是輸出的結(jié)果:
Screenshot output
想獲取更多關(guān)于 xdotool 的信息,請到這來。
獲取幫助
如果你有疑問或者你正面臨一個與該命令行的其中某個選項(xiàng)有關(guān)的問題,那么你可以使用 --help、-? 或者 -h 選項(xiàng)來獲取相關(guān)信息。
- gnome-screenshot -h
總結(jié)
我推薦你至少使用一次這個程序,因?yàn)樗粌H對初學(xué)者來說比較簡單,而且還提供功能豐富的高級用法體驗(yàn)。動起手來,嘗試一下吧。