Linux Mintで端末からスクリーンショットを撮る

Linux

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

参考にさせていただいたサイト様

Linux コマンドラインからスクリーンショットを取る方法
Linux では、コマンドラインからスクリーンショットを撮るためには、scrotというツールを使用します。以下は、その使用方法です。 scrotがインストールされていることを確認します。インストールされていない場合は、ターミナルで以下のコマ...
Linux Mintで範囲を指定してスクリーンショットを撮る方法
Linux Mintでショートカットキーで範囲を指定してスクリーンショットを撮る方法を紹介します。動作確認したバージョンはLinux Mint 19.3、デスクトップ環境はMateです。Shift+PrintScreenで範囲を指定してスク...
Ubuntu 20.04 で画面のスクリーンショットを撮る方法
今回は、まだ書いてなかった記事を Ubuntu20.04 でのスクリーンショットの撮り方について書きます。 他にも Ubuntu 18.04 や CentOS8.1.1911 も確認しますが、同じだったらまとめます。 Linuxはコマンドで...

cutycapt関連

Windowsよりも便利?Linuxのキャプチャー機能を使いこなす
この特集ではLinuxの「便利ワザ」を紹介しています。「cutycapt」コマンドを使うと、指定したURLのWebページの内容をPDFや画像に変換して保存できます。標準的なWebブラウザーと同じ表示のWebページが保存されます。

コメント