簡単に言うと:「システム設定」>「デスクトップとDock」で「おすすめと最近使用したAppをDockに表示」をオフにします。
コマンドラインから:defaults write com.apple.dock show-recents -bool false; killall Dock
Dockは区切り線の右側に別のセクションを持ち、最近開いた、まだDockにないAppを最大3つまで表示します。これらは固定されておらず、自分で置いたものでもありません。表示されると周りを押しのけ、また消えていきます。
この変動こそが、Dockが勝手に並び替わると表現される理由です。自分で配置したものは何も動いておらず、その隣に一時的なセクションが増えているだけです。
macOS 26では「デスクトップとDock」にあります。以前のバージョンでは「Dockとメニューバー」、さらにその前は「システム環境設定」内の「Dock」パネルにありました。文言はほとんど変わっていません。
defaults write com.apple.dock show-recents -bool false
killall Dock
killall Dockがないと、値は書き込まれても何も起こりません。これが、ブログからコピーしたコマンドが効いていないように見える最もよくある原因です。killall Dockが行うことをご覧ください。
元に戻すには-bool trueを使うか、defaults delete com.apple.dock show-recentsでmacOSの初期設定に戻します。
これは多くの人が探し求めていながら、なかなか文書化されているのを見つけられない情報です。共有Mac、ラボの端末、キオスクでは、あるアカウントで設定をオフにしても、次にログインする人には何の影響もありません。ユーザーごとの環境設定だからです。
実際に効く2つの選択肢:
com.apple.dockペイロードを配布するプロファイルは、対象となるすべてのユーザーに適用され、システム設定から元に戻すこともできません。これはMDMが行うことであり、管理者が本当に求めているものです。defaults write com.apple.dock contents-immutable -bool trueは、ドラッグを含め、Dockの内容が一切変更されないようにします。これだけでは「最近使用したApp」のセクションは取り除かれないため、先にshow-recentsをfalseに設定してからロックしてください。順番が重要です。先に内容をロックすると、「最近使用したApp」セクションが有効なままの状態でDockが固定されてしまいます。
いいえ。これはDockが最近使用したAppを表示しないようにするだけです。何もアンインストールされず、AppはLaunchpad、Spotlight、「アプリケーション」フォルダには引き続き表示されます。
macOSのアップグレードは、明示的に書き込まれたことのない環境設定をリセットすることがあります。ターミナルやプロファイルで設定していれば残りますが、何年も前に一度だけ切り替えただけの場合は残らないことがあります。その後Dockの内容をロックすることが、それを固定する手段です。
はい。com.apple.dockドメイン内のshow-recentsを、管理された環境設定として配布します。管理対象であるため、システム設定のスイッチは単に設定されるのではなくグレーアウトし、これは通常管理者が求めている挙動です。
コマンドの一覧を管理したくない場合、Still Dockなら同じ4つの設定をスイッチとして操作でき、ロックする前のDockを覚えておいてくれます。サイズのロックは無料です。