いつからか、ログインする度にDockにいくつかのMac標準アプリが復活してしまうようになりました。何度削除しても、ログインするとまた復活。今年の不具合、今年のうちに!ということで、なんとか解決したので解決法を残しておきます。

症状

MacBook Pro Early 2015 High Sierraで確認された症状です。

普段こんなDock↓が、

ログインし直すとこうなります。↓

Siri, マップ, 写真, iBooks, ダウンロードフォルダの5つが復活します。何度削除しても、ログインする度にこのアイコンたちが復活する、という症状。

ちなみに、たぶんHigh Sierraにした後からだと思います。

解決までの大まかなストーリー

Google先生頼みでなんとかこうとか解決できました。こんなストーリーとなります。

  1. 「com.apple.dockfixup.plist」というファイルがおかしいので編集すれば直る
  2. しかしMacのセキュリティ機能「System Integrity Protection」(SIP)により編集ができない
  3. SIPを無効にする
  4. 「com.apple.dockfixup.plist」を編集する
  5. SIPを有効にする
  6. \(^o^)/

この一部始終が載った日本語記事は見当たらなかったので、同症状の方は以下の「具体的な解決手順」を参考にしてみてください。

具体的な解決手順

何度かMacを再起動するので、このページをブックマークなりPocketなりしておくと便利です。

Macをリカバリーモードで起動

まずは「com.apple.dockfixup.plist」を編集可能にするため、Macのセキュリティ機能「SIP」を無効にします。

SIPを無効化するには、Macをリカバリーモードで起動する必要があります。

というわけで、シャットダウンしたのち command + R キーを押しながら電源を押しMacを起動します。

Appleマークが表示され、処理進行度を表すプログレスバーが表示されたらキーを離しても大丈夫です。

リカバリーモードで起動し、言語選択画面が表示されたら「日本語」を選択して次に進みます。完了すると、「macOSユーティリティ」が起動します。

リカバリーモードでターミナルを起動する

この状態で、上部メニューバーの「ユーティリティ > ターミナル」を選択します。白いターミナルウィンドウが表示されます。

ターミナルこわいよーという方も、以下の手順どおりに行えば大丈夫ですので、ご安心ください。

SIPを無効化する

ターミナルに以下のコマンドを入力します。コピペでもOKです。入力したら enter を押します。

csrutil disable

これで、SIPを無効にすることができました。

再起動する

command + Q でターミナルを終了します。再び「macOSユーティリティ」が表示されるので、もう一度 command + Q を押します。

こんなの↓が出たら「再起動」をクリックします。そのまま通常モードで再起動が完了するまで待ちます。

Dockのアイコンを整理しておく

再起動しました。

この後の確認作業のために、不要な復活アイコンをこのタイミングで削除しておきましょう。

ターミナルを開く

再びターミナルを開きます。今度はリカバリーモードではないので、先ほどとは起動方法が違います。いくつか開き方はありますが、ここでは分かりやすく以下のように開きます。

DockのFinderアイコン(青い顔)をクリック

> メニューバーの「移動」をクリック

>「ユーティリティ」をクリック

>「ターミナル」(またはターミナル.app)をクリック

アプリの開き方についてはこちらの記事も参考ください。

「com.apple.dockfixup.plist」なるファイルを編集する

白いターミナルウインドウが表示されたら、以下のコマンドをコピペします。これは、原因となっているシステムファイル「com.apple.dockfixup.plist」の一部分を書き換えるためのコマンドです。

スクロールするので最後まで、2行コピペしてください。

sudo /usr/libexec/PlistBuddy -c "delete:add-app" /System/Library/CoreServices/Dock.app/Contents/Resources/com.apple.dockfixup.plist
sudo /usr/libexec/PlistBuddy -c "delete:add-doc" /System/Library/CoreServices/Dock.app/Contents/Resources/com.apple.dockfixup.plist

enter を押します。

もし「Password」みたいにパスワードを訊かれたら、Macのユーザーパスワードを入力し enter を押します。訊かれたかどうか忘れました。

再起動して確認する

もう一度Macを再起動して、Dockのアイコンが復活しないか確認しましょう。

復活していなければ、無事解決!

Macをリカバリーモードで起動

問題が解決したら、SIPを有効にするため再びリカバリーモードで起動します。

初回同様の手順でリカバリーモードで起動。ターミナルを起動します。

SIPを有効に戻す

以下のコマンドをコピペして enter を押します。

csrutil enable

初回同様に command + Q でターミナルとmacOSユーティリティを終了し「再起動」をクリックします。

以上で、全ての復旧手順は終了!お疲れさまでした。

ちなみに

僕のケースでは、おそらくHigh Sierraにアップデートした時に何らかの問題が生じたものと思います。で、実際はDockだけでなく、ログイン毎に「Macを設定中」という画面も表示されていました。これについても解決しましたので、別記事にて解決法を書きました。

それでは、また。

参考文献