LoginSignup
2

More than 5 years have passed since last update.

Macでスクリーンショットを撮ろうとすると「タイプ文字列を作成できません。」とアラートが出て保存できない

Last updated at Posted at 2016-10-27

どうも、さ犬🐶です。

実は、Macで開発環境を作った後にスクリーンショットを撮ると以下のようなアラートが出てスクリーンショットが撮れないという事態が起こるようになって困っていたのですが、解決方法がわかったので記事にしました!

ググってもこの症状自体まれらしく、ちゃんとまとまってる記事がなくてしばらく諦めてGyazo使ってたけど、やっぱりローカルの時はmacのスクショを使いたかった...

再現手順

  1. 「Command + Shift + 3」や「Command + Shift + 4」を押す
  2. 以下のようなアラートが出てスクリーンショットが保存されない

アラート

前提

よく

「システム環境設定>キーボード>ショートカット>スクリーンショット」にあるチェックボックスにチェックがついていないのでは?

という回答があるけど、それで解決できたら困ってないし、そもそも事象と解決方法に何も関連性がないのでそれはないですね。
それならそもそもスクリーンショットすら起動しないはずなので、こんなアラートはでないはずです。

そこで、このアラートの文章を読むと、どうやら以下のようなことが起こっていると予測できます。

原因

画像データを特定の拡張子で保存したいんだけど、その拡張子が画像のものではないから保存ができない

つまり、スクリーンショットの保存形式が png, jpg, pdf などのような画像を表示できるものではないということ。

Macではスクリーンショットの保存形式はデフォルトで、pngになっているので普通ならこんなことは起きないです。しかし起きてしまった。。。

調べると、macのスクリーンショットの設定が書かれたファイルがあってそれを変更すると治る感じだったので、まずは設定ファイルを色々書き換えるコマンドを紹介します。

スクリーンショットの設定方法

Macのスクリーンショットの設定を行うコマンドが用意されているので紹介します。参考

設定を確認

defaults read com.apple.screencapture
json形式で設定を確認できます。

設定をデフォルトに戻す

以下のコマンドでスクリーンショットの全設定をデフォルトに戻せます。

defaults delete com.apple.screencapture

ただし、特定の属性のみをデフォルトに戻すには以下のようにします。

defaults delete com.apple.screencapture {属性の識別子}

ex) defaults delete com.apple.screencapture type

属性 識別子
保存形式 type
保存場所 location
ウィンドウの影 disable-shadow

設定の反映

killall SystemUIServer

保存形式を変更

defaults write com.apple.screencapture type {保存形式}

ex) defaults write com.apple.screencapture type png

保存形式一覧

  • png
  • gif
  • jpg
  • jp2 (JPEG2000)
  • bmp
  • exr (OpenEXR)
  • pdf
  • psd (Photoshop 形式)
  • pct (PICT)
  • sgi
  • tga
  • tif

保存場所を変更

defaults write com.apple.screencapture location {保存先フォルダ}

ex) defaults delete com.apple.screencapture location ~/Desktop/Screenshot

ウインドウの影が無い状態のスクリーンショットを撮る

defaults write com.apple.screencapture disable-shadow -bool true

解決方法

おそらく開発環境を構築する際に何らかの操作でスクリーンショットの保存形式が変わってしまっているので、デフォルトに戻してあげれば良いです。

  1. コンソールを開く(ターミナル.appまたはiTerm.app)
  2. 以下のコマンドをを実行する
$ defaults delete com.apple.screencapture type
$ killall SystemUIServer

これでCommand + Shift + 4が復活しました :tada:

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2