閱讀417 返回首頁    go 阿裏雲 go 技術社區[雲棲]


史上最全的使用 gnome-screenshot 獲取屏幕快照指南

在應用市場中有好幾種屏幕截圖工具,但其中大多數都是基於 GUI 的。如果你經常在 linux 命令行上工作,而且正在尋找一款優秀的功能豐富的基於命令行的屏幕截圖工具,你可能會想嚐試 gnome-screenshot。在本教程中,我將使用易於理解的例子來解釋這個實用程序。

請注意,本教程中提到的所有例子已經在 Ubuntu 16.04 LTS 上測試過,測試所使用的 gonme-screenshot 版本是 3.18.0。

關於 Gnome-screenshot

Gnome-screenshot 是一款 GNOME 工具,顧名思義,它是一款用來對整個屏幕、一個特定的窗口或者用戶所定義一些其他區域進行捕獲的工具。該工具提供了幾個其他的功能,包括對所捕獲的截圖的邊界進行美化的功能。

Gnome-screenshot 安裝

Ubuntu 係統上已經預安裝了 gnome-screeshot 工具,但是如果你出於某些原因需要重新安裝這款軟件程序,你可以使用下麵的命令來進行安裝:


  1. sudo apt-get install gnome-screeshot

一旦軟件安裝完成後,你可以使用下麵的命令來啟動它:


  1. gnome-screenshot

Gnome-screenshot 用法/特點

在這部分,我們將討論如何使用 gnome-screenshot ,以及它提供的所有功能。

默認情況下,使用該工具且不帶任何命令行選項時,就會抓取整個屏幕。

Starting Gnome Screenshot

Starting Gnome Screenshot

捕獲當前活動窗口

如何你需要的話,你可以使用 -w 選項限製到隻對當前活動窗口截圖。


  1. gnome-screenshot -w

Capturing current active window

Capturing current active window

窗口邊框

默認情況下,這個程序會將它捕獲的窗口的邊框包含在內,盡管還有一個明確的命令行選項 -b 可以啟用此功能(以防你在某處想使用它)。以下是如何使用這個程序的:


  1. gnome-screenshot -wb

當然,你需要同時使用 -w 選項和 -b 選項,以便捕獲的是當前活動的窗口(否則,-b 將沒有作用)。

更重要的是,如果你需要的話,你也可以移除窗口的邊框。可以使用 -B 選項來完成。下麵是你可以如何使用這個選項的一個例子:


  1. gnome-screenshot -wB

下麵是例子的截圖:

Window border

Window border

添加效果到窗口邊框

在 gnome-screenshot 工具的幫助下,您還可以向窗口邊框添加各種效果。這可以使用 --border-effect 選項來做到。

你可以添加這款程序所提供的任何效果,比如 shadow 效果(在窗口添加陰影)、bordor 效果(在屏幕截圖周圍添加矩形區域)和 vintage 效果(使截圖略微淡化,著色並在其周圍添加矩形區域)。


  1. gnome-screenshot --border-effect=[EFFECT]

例如,運行下麵的命令添加 shadow 效果:


  1. gnome-screenshot border-effect=shadow

以下是 shadow 效果的示例快照:

Adding effects to window borders

Adding effects to window borders

請注意,上述屏幕截圖主要集中在終端的一個角落,以便您清楚地看到陰影效果。

對特定區域的截圖

如何你需要,你還可以使用 gnome-screenshot 程序對你電腦屏幕的某一特定區域進行截圖。這可以通過使用-a 選項來完成。


  1. gnome-screenshot -a

當上麵的命令被運行後,你的鼠標指針將會變成 '+' 這個符號。在這種模式下,你可以按住鼠標左鍵移動鼠標來對某個特定區域截圖。

這是一個示例截圖,裁剪了我的終端窗口的一小部分。

example screenshot wherein I cropped a small area of my terminal window

example screenshot wherein I cropped a small area of my terminal window

在截圖中包含鼠標指針

默認情況下,每當你使用這個工具截圖的時候,截的圖中並不會包含鼠標指針。然而,這個程序是可以讓你把指針包括進去的,你可以使用 -p 命令行選項做到。


  1. gnome-screenshot -p

這是一個示例截圖:

Include mouse pointer in snapshot

Include mouse pointer in snapshot

延時截圖

截圖時你還可以引入時間延遲。要做到這,你不需要給 --delay 選項賦予一個以秒為單位的值。


  1. gnome-screenshot delay=[SECONDS]

例如:


  1. gnome-screenshot --delay=5

示例截圖如下:

Delay in taking screenshots

Delay in taking screenshots

以交互模式運行這個工具

這個工具還允許你使用一個單獨的 -i 選項來訪問其所有功能。使用這個命令行選項,用戶可以在運行這個命令時使用這個工具的一個或多個功能。


  1. gnome-screenshot -i

示例截圖如下:

Run the tool in interactive mode

Run the tool in interactive mode

你可以從上麵的截圖中看到,-i 選項提供了對很多功能的訪問,比如截取整個屏幕、截取當前窗口、選擇一個區域進行截圖、延時選項和特效選項等都在交互模式裏。

直接保存你的截圖

如果你需要的話,你可以直接將你截的圖片從終端中保存到你當前的工作目錄,這意味著,在這個程序運行後,它並不要求你為截取的圖片輸入一個文件名。這個功能可以使用 --file 命令行選項來獲取,很明顯,需要給它傳遞一個文件名。


  1. gnome-screenshot file=[FILENAME]

例如:


  1. gnome-screenshot --file=ashish

示例截圖如下:

Directly save your screenshot

Directly save your screenshot

複製到剪切板

gnome-screenshot 也允許你把你截的圖複製到剪切板。這可以通過使用 -c 命令行選項做到。


  1. gnome-screenshot -c

Copy to clipboard

Copy to clipboard

在這個模式下,例如,你可以把複製的圖直接粘貼到你的任何一個圖片編輯器中(比如 GIMP)。

多顯示器情形下的截圖

如果有多個顯示器連接到你的係統,你想對某一個進行截圖,那麼你可以使用 --then 命令行選項。需要給這個選項一個顯示器設備 ID 的值(需要被截圖的顯示器的 ID)。


  1. gnome-screenshot --display=[DISPLAY]

例如:


  1. gnome-screenshot --display=VGA-0

在上麵的例子中,VAG-0 是我正試圖對其進行截圖的顯示器的 ID。為了找到你想對其進行截圖的顯示器的 ID,你可以使用下麵的命令:


  1. xrandr --query

為了讓你明白一些,在我的例子中這個命令產生了下麵的輸出:


  1. $ xrandr --query
  2. Screen 0: minimum 320 x 200, current 1366 x 768, maximum 8192 x 8192
  3. VGA-0 connected primary 1366x768+0+0 (normal left inverted right x axis y axis) 344mm x 194mm
  4. 1366x768 59.8*+
  5. 1024x768 75.1 75.0 60.0 
  6. 832x624 74.6 
  7. 800x600 75.0 60.3 56.2 
  8. 640x480 75.0 60.0 
  9. 720x400 70.1 
  10. HDMI-0 disconnected (normal left inverted right x axis y axis)

自動化屏幕截圖過程

正如我們之前討論的,-a 命令行選項可以幫助我們對屏幕的某一個特定區域進行截圖。然而,我們需要用鼠標手動選取這個區域。如果你想的話,你可以使用 gnome-screenshot 來自動化完成這個過程,但是在那種情形下,你將需要使用一個名為 xdotol 的工具,它可以模仿敲打鍵盤甚至是點擊鼠標這些事件。

例如:


  1. (gnome-screenshot -a &); sleep 0.1 && xdotool mousemove 100 100 mousedown 1 mousemove 400 400 mouseup 1

mousemove 子命令自動把鼠標指針定位到明確的 X 坐標和 Y 坐標的位置(上麵例子中是 100 和 100)。mousedown 子命令觸發一個與點擊執行相同操作的事件(因為我們想左擊,所以我們使用了參數 1),然而 mouseup 子命令觸發一個執行用戶釋放鼠標按鈕的任務的事件。

所以總而言之,上麵所示的 xdotool 命令做了一項本來需要使用鼠標手動執行對同一區域進行截圖的工作。特別說明,該命令把鼠標指針定位到屏幕上坐標為 100,100 的位置並選擇封閉區域,直到指針到達屏幕上坐標為400,400 的位置。所選擇的區域隨之被 gnome-screenshot 捕獲。

這是上述命令的截圖:

screenshot of the above command

screenshot of the above command

這是輸出的結果:

Screenshot output

Screenshot output

原文發布時間為:2017-04-30

本文來自雲棲社區合作夥伴“Linux中國”

最後更新:2017-05-19 14:06:58

  上一篇:go  蘋果自研芯片傳言證實,被“拋棄”的Imagination股價跌70%
  下一篇:go  統治 VR 界,英特爾絕不隻是說說而已