如何在 Linux 系統里用 Scrot 截屏
請注意一下,這篇文章里的所有例子都在 Ubuntu 16.04 LTS 上測試過,我們用的 scrot 版本是 0.8。
關於 Scrot
Scrot (SCReenshOT) 是一個屏幕抓取工具,使用 imlib2 庫來獲取和保存圖片。由 Tom Gilbert 用 C 語言開發完成,通過 BSD 協議授權。
安裝 Scrot
scort 工具可能在你的 Ubuntu 系統里預裝了,不過如果沒有的話,你可以用下面的命令安裝:
sudo apt-get install scrot
安裝完成後,你可以通過下面的命令來使用:
scrot [options] [filename]
注意:方括弧里的參數是可選的。
Scrot 的使用和特點
在這個小節里,我們會介紹如何使用 Scrot 工具,以及它的所有功能。
如果不帶任何選項執行命令,它會抓取整個屏幕。
默認情況下,抓取的截圖會用帶時間戳的文件名保存到當前目錄下,不過你也可以在運行命令時指定截圖文件名。比如:
scrot [image-name].png
獲取程序版本
你想的話,可以用 -v
選項來查看 scrot 的版本。
scrot -v
這是例子:
抓取當前窗口
這個工具可以限制抓取當前的焦點窗口。這個功能可以通過 -u
選項打開。
scrot -u
例如,這是我在命令行執行上邊命令時的桌面:
這是另一張用 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'
有個地方要注意的是 $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
– 提供截圖文件名。下面是示例截圖:
$s
– 獲取截圖的文件大小。這個功能可以像下面這樣使用。
scrot abc.jpg -e 『echo $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
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive