いつからか、ログインする度にDockにいくつかのMac標準アプリが復活してしまうようになりました。何度削除しても、ログインするとまた復活。今年の不具合、今年のうちに!ということで、なんとか解決したので解決法を残しておきます。
症状
MacBook Pro Early 2015 High Sierraで確認された症状です。
普段こんなDock↓が、
ログインし直すとこうなります。↓
Siri, マップ, 写真, iBooks, ダウンロードフォルダの5つが復活します。何度削除しても、ログインする度にこのアイコンたちが復活する、という症状。
ちなみに、たぶんHigh Sierraにした後からだと思います。
解決までの大まかなストーリー
Google先生頼みでなんとかこうとか解決できました。こんなストーリーとなります。
- 「com.apple.dockfixup.plist」というファイルがおかしいので編集すれば直る
- しかしMacのセキュリティ機能「System Integrity Protection」(SIP)により編集ができない
- SIPを無効にする
- 「com.apple.dockfixup.plist」を編集する
- SIPを有効にする
- \(^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行コピペしてください。
/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を設定中」という画面も表示されていました。これについても解決しましたので、別記事にて解決法を書きました。
それでは、また。
参考文献
[link href=”” title=”Mac OS X El CapiptanでSIPを無効化する – Qiita”]