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