screencaptureには、撮影した画像をそのままアプリで開くオプションがある。-Pでプレビュー、-Bで任意のアプリ、-Mでメールアプリの新規メッセージに渡せる。撮影後に注釈を書き込んだり、すぐに共有したりしたい場合に便利である。
screencaptureの基本的な使い方は以下を参照。
参考: 【screencapture】コマンドで画面全体のスクリーンショットを撮る
-Pでプレビューで開く
-Pを指定すると、撮影した画像をプレビューで開く。
$ screencapture -P
ファイル名は省略できる。プレビューには「名称未設定」の新規書類として開かれ、ファイルには保存されない。ファイル名を指定した場合も、ファイルは作成されない。
$ screencapture -P shot.png
$ ls shot.png
ls: shot.png: No such file or directory
画像を残したい場合は、プレビューの「ファイル」メニューから保存する。
動画の場合はQuickTime Playerで開く
-Vで画面を収録するときに-Pを指定すると、収録した動画をQuickTime Playerで開く。静止画と違い、動画は指定したファイル名で保存される。
$ screencapture -V 3 -P movie.mov
-Bで任意のアプリで開く
-B <バンドルID>を指定すると、撮影した画像を指定したアプリで開く。以下はColorSyncユーティリティで開く例。
$ screencapture -B com.apple.ColorSyncUtility shot.png
-Pと違い、-Bではファイル名が必要である。画像を指定したファイル名で保存してから、そのファイルをアプリで開く。ファイル名を省略するとエラーになる。
$ screencapture -B com.apple.ColorSyncUtility
screencapture: no file specified
存在しないバンドルIDを指定した場合、エラーにはならず、ファイルの保存だけをする。終了ステータスも0である。
バンドルIDを調べる
アプリのバンドルIDは、osascriptで調べられる。
$ osascript -e 'id of app "ColorSync Utility"'
com.apple.ColorSyncUtility
$ osascript -e 'id of app "Preview"'
com.apple.Preview
-Mでメールの新規メッセージに添付する
man screencaptureによると、-Mを指定すると、撮影した画像をメールアプリの新規メッセージで開く。
$ screencapture -M
メールアプリにアカウントを設定していない環境では、新規メッセージの作成画面は開かず、「メッセージの読み込み」画面が表示される。
参考
ScreenCapture Command: Capture an image of the screen in macOS\第一線のプログラマーの行動原理を学べる!/
