2022年01月26日 更新

スクリーンショットアプリspectacleをコマンドで使う

どうも、クラゲジュニアです。
spectacleをGUIで使う方法はこちらのページを参照してください。
今回はCUIで使う方法を紹介します。

[TOC]

インストール

sudo apt -y install kde-spectacle

これはGUIの時と同様です。
数分くらいかかります。

GUIの起動

spectacle -a

マウスを使ってラズパイアイコン > アクセサリ > Spectacle で起動する代わりにコマンドで起動できます。
しかし、これだと結局GUIを使うことになるので、以下ではGUIを一切使わずにキャプチャ保存まで行う方法を紹介します。

画面全体を保存

spectacle -b -o "test.jpg"

-oでファイル名を指定して保存できます。
-bはGUIを起動せずバックグラウンドで実行するという意味です。これがないとGUIが立ち上がってしまい、マウス操作しないと保存できません。

画面全体を保存後に終了

spectacle -b -n -o "test.jpg"

先ほどはCtrl + Cを行わないとプログラムが終了しませんでしたが、-nを付けることにより、数秒後に自動的に終了します。

アクティブなウィンドウを対象にする

spectacle -a -b -n -o "test.jpg"

-aでアクティブなウィンドウ(一番前にあるウィンドウ)のみがキャプチャの対象となります。
コマンド打ち込みの場合は、常にLXTerminalしかキャプチャされませんが、こちらのページsubprocessと組み合わせてPythonプログラムから実行させることで目的のウィンドウをキャプチャすることが可能になります。

オプション一覧

他にも様々なオプションがありますのでヘルプを参照してみてください。

spectacle -h

上記のコマンドを打つと、以下のように使い方が表示されます。

使い方: spectacle [オプション]
KDE Screenshot Utility

オプション:
  -h, --help               Displays help on commandline options.
  --help-all               Displays help including Qt specific options.
  -v, --version            バージョン情報を表示する。
  --author                 Show author information.
  --license                ライセンス情報を表示
  --desktopfile <ファイル名>    The base file name of the desktop entry for this
                           application.
  -f, --fullscreen         デスクトップ全体を撮影 (デフォルト)
  -m, --current            現在のモニターを撮影
  -a, --activewindow       アクティブウィンドウを撮影
  -u, --windowundercursor  現在カーソル下にあるウィンドウを撮影します (ポップアップメニューの親を含みます)
  -t, --transientonly      現在カーソル下にあるウィンドウを撮影します (ポップアップメニューの親を含みません)
  -r, --region             スクリーンの矩形領域を撮影します
  -g, --gui                GUI モードで起動
  -b, --background         新しいスクリーンショットを撮影し GUI を表示せずに終了
  -s, --dbus               Start in DBus-Activation mode
  -n, --nonotify           バックグラウンドモードで、スクリーンショットが撮影されたときに通知をポップアップしません
  -o, --output <fileName>  バックグラウンドモードで、指定されたファイルに画像を保存
  -d, --delay <delayMsec>  バックグラウンドモードで、撮影する前に遅延する (ミリ秒で)
  -c, --clipboard          バックグラウンドモードで、スクリーンショットをクリップボードにコピー
  -w, --onclick            クリックされるまでスクリーンショットを待機します。遅延は無効になります
  -i, --new-instance       Starts a new GUI instance of spectacle without
                           registering to DBus
  -p, --pointer            In background mode, include pointer in the
                           screenshot
  -e, --no-decoration      In background mode, exclude decorations in the
                           screenshot

以上です。