簡単に言うと:macOSにはDockを1つの画面にとどめる設定がありません。Appleが設計したとおりに動作しているだけです。
3つの回避策があり、いずれも何かを犠牲にします。以下にそれぞれの代償を明確に示します。
Dockは特定の画面に割り当てられているわけではありません。ポインタを追います。カーソルをいずれかのモニタの下端に押し当てて少し待つと、Dockはそちらへ移動します。それをその場にとどめる設定は、システム設定のどこにもありません。
これは意図された動作であり、バグでも何かが壊れているしるしでもありません。ディスプレイが1台であれば、ほかに行き場がないため気づくことはありません。2台目のモニタを追加すると、同じルールによって、最後に何かに手を伸ばした場所にDockが現れるようになります。
2台目のディスプレイでブラウザや動画をフルスクリーンにしている場合、状況はさらに悪化します。その画面の下端は、コントロールに手を伸ばすためにまさに向かう場所だからです。
「システム設定」の「デスクトップとDock」で「Mission Control」までスクロールし、「ディスプレイごとに個別のSpaceを表示」をオフにします。ログアウトして再度ログインしてください。
これでモニタ全体が1つの大きなデスクトップのように動作し、Dockはメインのディスプレイに落ち着いてそこにとどまります。
代償。これはリストの中でも最も重いトレードオフです。各ディスプレイが独自のSpaceを持たなくなるため、フルスクリーンのAppが画面ごとに振る舞わなくなり、1台のモニタで動画をフルスクリーンにすると、ほかのモニタが真っ暗になります。多くの複数モニタ環境では、これは元の問題より深刻です。
「システム設定」の「デスクトップとDock」の「画面上の位置」で「左」または「右」を選びます。
側面の端であれば、Dockが誤って作動する機会ははるかに少なくなります。モニタ配置の外側の端に誤ってポインタを押し込むことはめったにありませんが、下端は常に通過しているからです。
代償。自分で選んだのとは異なるDockの配置になり、問題を完全になくすのではなく軽減するだけです。それでもDockを移動させることは可能です。
「システム設定」の「ディスプレイ」で「配置」をクリックし、白いメニューバーの帯をメインにしたいディスプレイへドラッグします。Appleはこれを「メインディスプレイ」と呼び、多くの人は「メイン画面」と呼びますが、いずれもメニューバーが表示される画面のことです。
これだけではDockの移動を止められません。Dockが標準でどこに存在し、どこに戻るかを決めるものなので、対処法1の代わりではなく、それと合わせて行う価値があります。
この問題に関する記事の多くは、次のことを勧めています。
defaults write com.apple.dock autohide-delay -float 9999999; killall Dock
この発想は、Dockが移動するまでの遅延を、実質的に起こらないほど長くするというものでした。実際に何年もの間、うまく機能していました。
現行のmacOSでは信頼できず、逆効果になることもあります。Sonoma以降、Dockが遅くなるどころかむしろ速くディスプレイ間を移動するようになったという報告があります。今でもこれを勧めている記事にすら、その注意書きが添えられています。すでに実行してしまった場合は、次のコマンドで元に戻します。
defaults delete com.apple.dock autohide-delay; killall Dock
これは知っておく価値があります。複数のサイトでこの問題のトップの検索結果として出てきますが、内容が古いためです。
ポインタのルールでほとんどは説明できますが、すべてではありません。下端に近づいていなくてもDockが移動する3つの状況があります。
スリープ復帰後、またはモニタの取り外し後。ディスプレイが消えて再び現れると、macOSは配置を再構築し、Dockはそのときメインになっているディスプレイに落ち着きます。外部モニタの復帰がMacより遅い場合、一瞬内蔵画面だけが存在する状態になり、外部モニタが戻ってきてもDockはそのままそこにとどまります。これに対する設定はありません。「ディスプレイ」の「配置」で外部モニタをメインに設定しておくと、正しい場所に落ち着く頻度は上がりますが、必ずしもそうなるとは限りません。
クラムシェルモード。ふたを閉じ、外部ディスプレイのみでMacを使っている場合、画面は1つだけなのでDockはおとなしくしています。ふたを開けるとディスプレイが2台に戻り、ポインタのルールが再び働きます。ふたを開けた瞬間にDockがノートパソコンの画面に移ってしまうのはこのためです。
Sidecarと、2台目のディスプレイとしてのiPad。iPadは1台のディスプレイとしてカウントされるため、Dockはそちらに移動することがあります。iPad自身にもDockがあるため、そこにMacのDockが重なって表示されると不具合のように見えますが、そうではありません。
この動作は、仕組みを知っていればむしろ便利です。特定のモニタにDockを移したい場合は、その画面の下端にポインタを押し当てて1、2秒待ちます。端で止めるのではなく、端を越えて押し込んでください。Dockが移動します。
何も起こらない場合、ポインタが十分下まで届いていない可能性があります。カーソルが止まったように見えてからも、そのまま押し続けてください。トリガーは、画面の端に見える位置より少し先にあります。
人々が本当に求めているのは「Dockをこの画面にとどめる」という設定であり、macOSにはそのようなものが一度も存在したことがありません。上記の対処法はいずれも、その要望に直接答えるのではなく、機会自体を取り除くことで機能しています。
Still Dockはその設定を追加します。これはMac DockをロックするAppです。Dockを表示したいディスプレイを選べば、そこにとどまります。個別のSpaceをオフにする必要も、選んでいない端に移動させる必要も、2世代前のmacOSで効かなくなったターミナルコマンドも不要です。
これは直接ダウンロード版とMac App Store版の両方に含まれており、サイズ、位置、表示と非表示、内容のロックと並んで用意されています。
代わりにDockをすべての画面に表示したいですか?それには簡単な答えがあります。Dockをすべての画面に表示できますか?
いいえ。macOSは一度に1つの画面に1つのDockしか表示せず、それを変える設定もサードパーティ製のAppもありません。Dockをすべての画面に表示する方法を探していたなら、これが答えであり、実際に見えているのはおそらくポインタを追ってモニタ間を移動するDockでしょう。このガイドは、それを止める方法についてです。
ディスプレイの復帰速度がそれぞれ異なるためです。外部モニタの復帰がMacより遅い場合、一瞬内蔵画面だけが唯一のディスプレイになり、Dockはそのとき落ち着いた場所にとどまります。外部モニタをメインディスプレイに設定すると助けにはなりますが、毎回解決するわけではありません。
はい、2台以上のディスプレイを持つすべてのMacで起こります。これはお使いのマシン、モニタ、ケーブルの不具合ではなく、macOSの標準的な動作です。
フルスクリーンのコントロールが画面の下部にあるため、Dockを呼び出すのとまさに同じ端にポインタを押し当ててしまうからです。これが最もよくある発生原因です。
これによって大きく変わります。フルスクリーンのAppがディスプレイごとではなくなり、1つのAppをフルスクリーンにすると、ほかのモニタが真っ暗になることがあります。本格的に採用する前に、1日試してみてください。
いいえ、それは区切り線がドラッグハンドルであることが原因の、別の問題です。Dockのサイズが繰り返し変わる理由をご覧ください。また、密度の異なるディスプレイ間でもDockのサイズは変わり、こちらはモニタ向けガイドで説明しています。
これを解決する3つのApp、DockLock、LockMyDock、Still Dockは、それぞれ異なる課題を中心に作られています。DockLockとStill Dockの比較で、それぞれの機能や、DockLockがより深く踏み込んでいる点、LockMyDockの位置付けを説明しています。