Linux中國

如何在 Linux 系統里用 Scrot 截屏

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

關於 Scrot

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

安裝 Scrot

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

sudo apt-get install scrot

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

scrot [options] [filename]

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

Scrot 的使用和特點

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

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

使用 Scrot

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

scrot [image-name].png

獲取程序版本

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

scrot -v

這是例子:

獲取 scrot 版本

抓取當前窗口

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

scrot -u

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

用 scrot 截取窗口

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

用 scrot 抓取的圖片

抓取選定窗口

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

scrot -s

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

選擇窗口

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

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

窗口截圖

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

截屏時包含窗口邊框

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

scrot -ub

下面是示例截圖:

截屏時包含窗口邊框

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

延時截屏

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

scrot --delay [NUM]

scrot --delay 5

例如:

延時截屏

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

截屏前倒數

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

scrot –delay [NUM] -c

scrot -d 5 -c

下面是示例截圖:

延時截屏示例

圖片質量

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

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

scrot –quality [NUM]

scrot –quality 10

下面是示例截圖:

截屏質量

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

生成縮略圖

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

scrot --thumb NUM

scrot --thumb 50

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

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

原始截圖

下面是保存的縮略圖:

截圖縮略圖

拼接多顯示器截屏

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

scrot -m

下面是示例截圖:

拼接截屏

在保存截圖後執行操作

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

scrot abc.png -e 'gthumb abc.png'

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

下面是命令的截圖:

截屏後執行命令

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

示例截圖

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

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

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

scrot -e 'gthumb $n'

scrot 截屏後運行 gthumb

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

特殊字元串

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

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

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

例如:

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

下面是示例截圖:

示例

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

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

scrot $n variable

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

scrot abc.jpg -e 『echo $s』

下面是示例截圖:

scrot $s 變數

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

結論

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

via: https://www.howtoforge.com/tutorial/how-to-take-screenshots-in-linux-with-scrot/

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

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


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的電子郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國