Linux Mintで端末からスクリーンショットを撮る方法や使い方を備忘録目的で大雑把にまとめましたが、ほぼ scrot の使い方についてです。
環境は Linux Mint 22.1 “Xia” MATE Edition です。
scrot を使う場合
scrot (screen shot)は、コマンドラインからの操作でスクリーンショットを撮ることができるツールです。基本的なスクリーンショット機能のほか、画面を撮るまでの遅延時間を指定したり、撮った画像の画質を変えたりぼかしを入れたりすることもできます(後述)。
対応している画像形式は JPG / PNG / GIF などです。
scrot のインストール
scrotは、aptから簡単にインストールすることができます。
$ sudo apt -y install scrot
scrot の基本的な使い方
基本的な構文は以下になります。
$ scrot [オプション] [出力するファイル名]
scrot の基本的なオプション
-d [秒数], --delay [秒数] | 撮影するまでの遅延時間。 |
-w [Window id], --window [Window id] | 指定したWindow idのウィンドウ画面を撮る。Window idは「xwininfoコマンド」で取得することが可能。 |
-c, --count | -d, --delay オプションが指定された時、カウントダウンを表示する |
-q [Quality], --quality [Quality] | 画質の指定。1〜100を選ぶことができ、数字を大きくすれば高画質になる。デフォルトは75。 |
-o, --overwrite | 既に同じファイル名の画像がある場合に上書きする。 |
-p, --pointer | マウスのポインターも撮影する |
-s=[選択モード], --selection=[選択モード] | 選択した範囲の画面を撮る。選択モードを指定しない場合は自動的に --selection=capture が指定される。 |
-u, --focused | アクティブウィンドウを撮る場合につける。 |
-b, --border | ボーダーも一緒に撮る。 |
デスクトップ画面全体のスクリーンショットを撮る
画面全体のスクリーンショットを撮る場合は、以下を実行します。
$ scrot $HOME/Desktop/`date +%Y-%m-%d_%H-%M-%S`.png
上記のコマンドは「年・月・日」と「時間・分・秒」をファイル名にし、PNG形式で Desktop ディレクトリに画像を出力しています。

また、撮影までの時間を遅らせたい場合は -d
(あるいは --delay
) オプションを使い、秒数を指定します。
以下は実行してから、5秒後にスクリーンショットを撮ります。
$ scrot -d 5 $HOME/Desktop/`date +%Y-%m-%d_%H-%M-%S`.png
アクティブウィンドウのスクリーンショットを撮る
アクティブウィンドウを撮る場合は -u
(あるいは --focused
) オプションを使います。
$ scrot -u $HOME/Desktop/`date +%Y-%m-%d_%H-%M-%S`.png

なお、ボーダーも一緒に取りたい場合は、以下のように -b
(あるいは --border
) オプションを追加します。
$ scrot -u -b $HOME/Desktop/`date +%Y-%m-%d_%H-%M-%S`.png
// ちなみに、オプションは -ub のようにくっつけてしまっても大丈夫です
$ scrot -ub $HOME/Desktop/`date +%Y-%m-%d_%H-%M-%S`.png

選択したウィンドウのスクリーンショットを撮る
複数のウィンドウを開いていて、その中からウィンドウを選択してスクリーンショットを撮る場合、以下のコマンド実行し、スクリーンショットを撮りたいウィンドウを左クリックして選択すれば Desktop に出力されます。
$ WID=$(xwininfo | grep "Window id" | cut -c 22-30) && scrot -w ${WID} $HOME/Desktop/`date +%Y-%m-%d_%H-%M-%S`.png
実行している内容の説明
- xwininfoコマンドを実行する
- 「Window id」という言葉が含まれる行をgrepコマンドで抜き出す
- 22〜30番目の文字列(Window id)をcutコマンドで切り取る
- 切り取った文字列(Window id)を変数「WID」に格納する
- 変数「WID」を scrot の
-w
オプションに渡す - 「年-月-日_時間-分-秒」をファイル名にし、PNG形式でDesktopディレクトリに出力する
以下のように xwininfo | grep "Window id" | cut -c 22-30
を実行して表示された Window id をコピーして scrot の -w
オプションに手動で貼り付けても大丈夫です(が、面倒なので上記のコマンドを使った方がコピペする手間が省けて良いと思います)。
$ xwininfo | grep "Window id" | cut -c 22-30
0x3000006
$ scrot -w 0x3000006 $HOME/Desktop/`date +%Y-%m-%d_%H-%M-%S`.png

選択した範囲のスクリーンショットを撮る
以下のコマンドを実行すると、ポインターが「+」に変わるので撮りたい範囲をマウスで選択します。
& scrot -s $HOME/Desktop/`date +%Y-%m-%d_%H-%M-%S`.png
選択した範囲のスクリーンショットをぼかす
スクリーンショットをぼかしたい場合は -s=blur
もしくは --selection=blur
オプションを指定します。blurの後に「,(カンマ)」で区切って数字を指定すれば、ぼかしの強度を指定できます。ぼかし強度の範囲は1〜30でデフォルトでは18が指定されます。
$ scrot -s=blur,4 $HOME/Desktop/`date +%Y-%m-%d_%H-%M-%S`.png
上記のコマンドを使って撮ったスクリーンショット↓

mate-screenshot を使う場合 (MATE限定)
mate-screenshotは、デスクトップ環境である MATE(マテ) に標準で付属しているスクリーンショットツールです。GUIで使うことが多いかもしれませんが、実は端末からも使うことができます。
// デスクトップ画面のスクリーンショットを撮る
$ mate-screenshot
// ウィンドウスクリーンショットを撮る
$ mate-screenshot --window
// 指定範囲スクリーンショットを撮る
$ mate-screenshot --area
--clipboard
オプションを使えば、クリップボードにコピーすることもできます。
// ウィンドウスクリーンショットを撮り、クリップボードにコピー
$ mate-screenshot --window --clipboard
// 指定範囲スクリーンショットを撮り、クリップボードにコピー
$ mate-screenshot --area --clipboard
cutycapt を使う
「cutycapt」コマンドは、指定したURLのWebページの内容をPDFや画像に変換して保存することができるツールです。対応出力形式は、PDF / PNG / JPEG / SVG / TIFF / GIF / BMP / PS の8種類で、出力形式は拡張子で自動判別します。
cutycapt のインストール
$ sudo apt -y install cutycapt
cutycapt の使い方
// YAHOOのトップページをキャプチャしてDesktopディレクトリにPNG形式で保存
$ cutycapt --url=https://www.yahoo.co.jp/ --out=$HOME/Desktop/`date +%Y-%m-%d_%H-%M-%S`.png
// YAHOOのトップページをキャプチャしてDesktopディレクトリにPDF形式で保存
$ cutycapt --url=https://www.yahoo.co.jp/ --out=$HOME/Desktop/`date +%Y-%m-%d_%H-%M-%S`.pdf
参考にさせていただいたサイト様


cutycapt関連

コメント