標籤:

如何在 Linux 系統里用 Scrot 截屏

最近,我們介紹過 gnome-screenshot 工具,這是一個很優秀的屏幕抓取工具。但如果你想找一個在命令行運行的更好用的截屏工具,你一定要試試 Scrot。這個工具有一些 gnome-screenshot 沒有的獨特功能。在這篇文章里,我們會通過簡單易懂的例子來詳細介紹 Scrot。

請注意一下,這篇文章里的所有例子都在 Ubuntu 16.04 LTS 上測試過,我們用的 scrot 版本是 0.8。

關於 Scrot

Scrot (SCReenshOT) 是一個屏幕抓取工具,使用 imlib2 庫來獲取和保存圖片。由 Tom Gilbert 用 C 語言開發完成,通過 BSD 協議授權。

安裝 Scrot

scort 工具可能在你的 Ubuntu 系統里預裝了,不過如果沒有的話,你可以用下面的命令安裝:

sudo apt-get install scrotn

安裝完成後,你可以通過下面的命令來使用:

scrot [options] [filename]n

注意:方括弧里的參數是可選的。

Scrot 的使用和特點

在這個小節里,我們會介紹如何使用 Scrot 工具,以及它的所有功能。

如果不帶任何選項執行命令,它會抓取整個屏幕。

使用 Scrot

默認情況下,抓取的截圖會用帶時間戳的文件名保存到當前目錄下,不過你也可以在運行命令時指定截圖文件名。比如:

scrot [image-name].pngn

獲取程序版本

你想的話,可以用 -v 選項來查看 scrot 的版本。

scrot -vn

這是例子:

獲取 scrot 版本

抓取當前窗口

這個工具可以限制抓取當前的焦點窗口。這個功能可以通過 -u 選項打開。

scrot -un

例如,這是我在命令行執行上邊命令時的桌面:

用 scrot 截取窗口

這是另一張用 scrot 抓取的截圖:

用 scrot 抓取的圖片

抓取選定窗口

這個工具還可以讓你抓取任意用滑鼠點擊的窗口。這個功能可以用 -s 選項打開。

scrot -s n

例如,在下面的截圖裡你可以看到,我有兩個互相重疊的終端窗口。我在上層的窗口裡執行上面的命令。

選擇窗口

現在假如我想抓取下層的終端窗口。這樣我只要在執行命令後點擊窗口就可以了 —— 在你用滑鼠點擊之前,命令的執行不會結束。

這是我點擊了下層終端窗口後的截圖:

窗口截圖

注意:你可以在上面的截圖裡看到,下層終端窗口的整個顯示區域都被抓去下來了,甚至包括了上層窗口的部分疊加內容。

在截屏時包含窗口邊框

我們之前介紹的 -u 選項在截屏時不會包含窗口邊框。不過,需要的話你也可以在截屏時包含窗口邊框。這個功能可以通過 -b 選項打開(當然要和 -u 選項一起)。

scrot -ubn

下面是示例截圖:

截屏時包含窗口邊框

注意:截屏時包含窗口邊框同時也會增加一點額外的背景。

延時截屏

你可以在開始截屏時增加一點延時。需要在 --delay-d 選項後設定一個時間值參數。

scrot --delay [NUM]nnscrot --delay 5n

例如:

延時截屏

在這例子里,scrot 會等待 5 秒再截屏。

截屏前倒數

這個工具也可以在你使用延時功能後顯示一個倒計時。這個功能可以通過 -c 選項打開。

scrot –delay [NUM] -cnnscrot -d 5 -cn

下面是示例截圖:

延時截屏示例

圖片質量

你可以使用這個工具來調整截圖的圖片質量,範圍是 1-100 之間。較大的值意味著更大的文件大小以及更低的壓縮率。默認值是 75,不過最終效果根據選擇的文件類型也會有一些差異。

這個功能可以通過 --quality-q 選項打開,但是你必須提供一個 1 - 100 之間的數值作為參數。

scrot –quality [NUM]nnscrot –quality 10n

下面是示例截圖:

截屏質量

你可以看到,-q 選項的參數更靠近 1 讓圖片質量下降了很多。

生成縮略圖

scort 工具還可以生成截屏的縮略圖。這個功能可以通過 --thumb 選項打開。這個選項也需要一個 NUM 數值作為參數,基本上是指定原圖大小的百分比。

scrot --thumb NUMnnscrot --thumb 50n

注意:加上 --thumb 選項也會同時保存原始截圖文件。

例如,下面是我測試的原始截圖:

原始截圖

下面是保存的縮略圖:

截圖縮略圖

拼接多顯示器截屏

如果你的電腦接了多個顯示設備,你可以用 scort 抓取並拼接這些顯示設備的截圖。這個功能可以通過 -m 選項打開。

scrot -mn

下面是示例截圖:

拼接截屏

在保存截圖後執行操作

使用這個工具,你可以在保存截圖後執行各種操作 —— 例如,用像 gThumb 這樣的圖片編輯器打開截圖。這個功能可以通過 -e 選項打開。下面是例子:

scrot abc.png -e gthumb abc.pngn

這個命令里的 gthumb 是一個圖片編輯器,上面的命令在執行後會自動打開。

下面是命令的截圖:

截屏後執行命令

這個是上面命令執行後的效果:

示例截圖

你可以看到 scrot 抓取了屏幕截圖,然後再啟動了 gThumb 圖片編輯器打開剛才保存的截圖圖片。

如果你截圖時沒有指定文件名,截圖將會用帶有時間戳的文件名保存到當前目錄 —— 這是 scrot 的默認設定,我們前面已經說過。

下面是一個使用默認名字並且加上 -e 選項來截圖的例子:

scrot -e gthumb $nn

scrot 截屏後運行 gthumb

有個地方要注意的是 $n 是一個特殊字元串,用來獲取當前截圖的文件名。關於特殊字元串的更多細節,請繼續看下個小節。

特殊字元串

scrot 的 -e(或 --exec)選項和文件名參數可以使用格式說明符。有兩種類型格式。第一種是以 %加字母組成,用來表示日期和時間,第二種以 $ 開頭,scrot 內部使用。

下面介紹幾個 --exec 和文件名參數接受的說明符。

$f – 讓你可以使用截圖的全路徑(包括文件名)。

例如:

scrot ashu.jpg -e 『mv $f ~/Pictures/Scrot/ashish/』n

下面是示例截圖:

示例

如果你沒有指定文件名,scrot 默認會用日期格式的文件名保存截圖。這個是 scrot 的默認文件名格式:%yy-%mm-%dd-%hhmmss_$wx$h_scrot.png

$n – 提供截圖文件名。下面是示例截圖:

scrot $n variable

$s – 獲取截圖的文件大小。這個功能可以像下面這樣使用。

scrot abc.jpg -e 『echo $s』n

下面是示例截圖:

scrot $s 變數

類似的,你也可以使用其他格式字元串 $p$w$h$t$$ 以及 n 來分別獲取圖片像素大小、圖像寬度、圖像高度、圖像格式、輸入 $ 字元、以及換行。你可以像上面介紹的 $s 格式那樣使用這些字元串。

結論

這個應用能輕鬆地安裝在 Ubuntu 系統上,對初學者比較友好。scrot 也提供了一些高級功能,比如支持格式化字元串,方便專業用戶用腳本處理。當然,如果你想用起來的話有一點輕微的學習曲線。


via: howtoforge.com/tutorial

作者:Himanshu Arora 譯者:zpl1025 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出

推薦閱讀:

這種自帶黑科技的R包,請給我來一打
Windows截屏方法有哪些?
MacBook在Windows系統下的鍵盤截屏如何操作?
截圖的解析度取決於屏幕的解析度嗎?

TAG:截图 | 截屏 |