screencaptureは通常、コマンドに渡したファイル名で画像を保存する。-pを指定すると、ファイル名を指定せずに、キーボードショートカットによる撮影と同じ設定で保存する。ここでは-pの使い方と、保存先やファイル名などの設定をdefaultsコマンドで変更する方法をまとめる。

screencaptureの基本的な使い方は以下を参照。

参考: 【screencapture】コマンドで画面全体のスクリーンショットを撮る

-pで設定に従って保存する

-pを指定すると、Command+Shift+3などで撮影したときと同じ保存先・ファイル名・形式で保存する。ファイル名を指定しても無視される。

$ screencapture -p

デフォルトの設定では、デスクトップにスクリーンショット 2026-09-27 17.55.25.pngのような名前で保存される。

Command+Shift+5で表示されるツールバーの「オプション」で保存先を「プレビュー」にしている場合、-pで撮影した画像もプレビューで開く。

保存までに時間がかかる場合がある

画面右下にサムネイルを表示する設定が有効な場合、コマンドが終了してもすぐにはファイルが保存されない。サムネイルが消えてから保存されるため、コマンドの終了から数秒後にファイルが作成される。

サムネイルの表示は、show-thumbnailで無効にできる。無効にすると、コマンドの終了直後にファイルが保存される。

$ defaults write com.apple.screencapture show-thumbnail -bool false

defaultsで設定を変更する

スクリーンショットの設定は、com.apple.screencaptureドメインに保存されている。現在の設定はdefaults readで確認できる。

$ defaults read com.apple.screencapture
{
    "disable-shadow" = 1;
    "show-thumbnail" = 1;
    style = selection;
    target = preview;
    video = 1;
    ...
}

以下の設定を変更すると、-pで撮影したときの保存方法が変わる。変更はすぐに反映され、killall SystemUIServerなどの再起動は不要である。

キー内容例
target保存先の種類file・clipboard・preview
location保存先のディレクトリ~/Pictures
type画像形式png・jpg
nameファイル名の先頭capture
include-dateファイル名に日時を含めるか-bool false
disable-shadowウインドウの影を含めないか-bool true
show-thumbnail撮影後にサムネイルを表示するか-bool false

保存先を変更する

targetをfileに、locationを保存先のディレクトリに変更する。

$ mkdir -p ~/Pictures/screenshots
$ defaults write com.apple.screencapture target file
$ defaults write com.apple.screencapture location ~/Pictures/screenshots

targetをclipboardに変更すると、ファイルを作らずクリップボードへ保存する。

ファイル名と形式を変更する

typeで画像形式、nameでファイル名の先頭を変更できる。

$ defaults write com.apple.screencapture type jpg
$ defaults write com.apple.screencapture name capture
$ screencapture -p
$ ls ~/Pictures/screenshots
capture 2026-09-27 17.55.42.jpg

include-dateをfalseにすると、ファイル名に日時が付かなくなる。同じ名前のファイルがある場合は、上書きせずに連番が付く。

$ defaults write com.apple.screencapture include-date -bool false
$ screencapture -p
$ screencapture -p
$ ls ~/Pictures/screenshots
capture 1.jpg
capture.jpg

ウインドウの影を含めない

disable-shadowをtrueにすると、-pと-lを組み合わせてウインドウを撮影したときに影が付かない。800x500ポイントの非アクティブなウインドウを撮影すると、disable-shadowがfalseでは868x568、trueでは800x500の画像になる。

$ defaults write com.apple.screencapture disable-shadow -bool true
$ screencapture -p -l 34477

-pを指定しない場合、disable-shadowの設定は反映されない。screencapture -l 34477 window.pngは、disable-shadowがtrueでも影付きで撮影する。コマンドで影を含めずに撮影する場合は、-oを使う。

参考: 【screencapture】-lでウインドウを指定して撮影する

disable-shadowはキーボードショートカットで撮影するときにも反映される。

参考: 【Mac】スクリーンキャプチャにつく余白を無くしたい

設定を元に戻す

defaults deleteでキーを削除すると、デフォルトの設定に戻る。変更したキーごとに削除する。

$ defaults delete com.apple.screencapture target
$ defaults delete com.apple.screencapture location
$ defaults delete com.apple.screencapture type
$ defaults delete com.apple.screencapture name
$ defaults delete com.apple.screencapture include-date
$ defaults delete com.apple.screencapture disable-shadow
$ defaults delete com.apple.screencapture show-thumbnail

変更前の設定に戻したい場合は、変更前にdefaults export com.apple.screencapture backup.plistで設定を書き出しておき、defaults import com.apple.screencapture backup.plistで読み込む。

-uで撮影後にサムネイルを表示する

-uを指定すると、撮影後、画面右下にサムネイルを表示する。-pと同じく、ファイル名を指定しても無視される。

$ screencapture -u

コマンドはすぐに終了する。サムネイルを放置すると消え、デフォルトの設定では画像はデスクトップに保存される。保存先を「プレビュー」に設定していても、プレビューでは開かず、デスクトップにファイルとして保存される。

参考

ScreenCapture Command: Capture an image of the screen in macOS