簡短的答案:macOS 沒有任何設定能讓 Dock 固定在單一螢幕上。它現在的行為,正是 Apple 設計它時的樣子。
有三種變通方法,每一種都各有取捨。以下分別列出,並清楚說明各自的代價。
Dock 並不歸屬於特定螢幕,它只會跟著你的游標移動。把游標推到任何一台螢幕的下方邊緣並停留片刻,Dock 就會移動到那一台。「系統設定」裡沒有任何設定能讓它固定不動。
這是設計上的正常行為,不是錯誤,也不代表任何東西壞了。在單一螢幕上,你永遠不會注意到,因為它沒有別的地方可以去。加上第二台螢幕後,同樣的規則就變成了一個會出現在你最後伸手拿東西的地方的 Dock。
如果你習慣在第二台螢幕上全螢幕開啟瀏覽器或影片,情況會更糟,因為那台螢幕的下方邊緣,正是你要伸手觸碰控制項的地方。
「系統設定」、「桌面與 Dock」,捲動到「調度中心」,關閉「每個顯示器都有各自的空間」。登出再重新登入。
你的螢幕現在會表現得像是一個大型桌面,而 Dock 會固定在主要顯示器上,不再移動。
你要付出的代價。這是清單裡代價最高的一種做法。每台螢幕不再擁有自己獨立的操作空間,所以全螢幕 App 不再依螢幕個別運作,在一台螢幕上把影片全螢幕播放,會讓其他螢幕變成空白。對許多多螢幕環境來說,這個問題反而比你原本想解決的問題更糟。
「系統設定」、「桌面與 Dock」、「螢幕上的位置」,選擇「左側」或「右側」。
放在側邊時,Dock 被觸發的機會少了很多,因為你很少會不小心把游標推到整個螢幕排列的最外側邊緣,但下方邊緣卻是你經常會經過的地方。
你要付出的代價。Dock 的排列位置會變得跟你原本想要的不一樣,而且這只是減輕問題,並沒有徹底解決。它仍然有可能被移動。
「系統設定」的「顯示器」,按下「排列」,把白色的選單列拖到你想作為主要螢幕的那台顯示器上。Apple 稱它為主要顯示器,大多數人則稱它為主螢幕,也就是承載選單列的那一台。
光是這樣做,並不能阻止 Dock 移動。它決定的是 Dock 預設的位置,以及它會回到哪裡,所以值得搭配解法一一起使用,而不是取代它。
大多數討論這個問題的文章都會建議這麼做:
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 移動。
睡眠後,或拔除螢幕之後。當螢幕消失又重新出現時,macOS 會重建整個排列,Dock 會落在目前的主要顯示器上。如果你的外接螢幕比 Mac 本身喚醒得慢,內建螢幕會有短暫時間成為唯一存在的螢幕,等外接螢幕恢復後,Dock 就會留在內建螢幕上。這方面沒有任何設定。在「顯示器」的「排列」中,把外接螢幕設為主要顯示器,能讓它更常落在正確的位置,但不是每次都有效。
闔蓋模式。蓋上螢幕蓋、Mac 使用外接螢幕時,就只有一台螢幕,Dock 也就很乖。打開螢幕蓋後,你又回到雙螢幕,游標規則也重新生效。如果你一打開螢幕蓋,Dock 就跑到筆電螢幕上,原因就在這裡。
Sidecar 與作為第二螢幕的 iPad。iPad 也算是一台顯示器,所以 Dock 會移動過去。這常常讓人措手不及,因為 iPad 本身就有自己的 Dock,Mac 的 Dock 疊加上去看起來就像出了問題,但其實沒有。
一旦了解這個行為,它其實也有用武之地。想把 Dock 送到特定螢幕,只要把游標推到那台螢幕的下方邊緣,停留一兩秒即可。要推過邊緣,而不是停在邊緣上。Dock 就會移動過去。
如果沒有反應,可能是游標還不夠靠下方。即使游標看起來已經停住,也要繼續往下推,因為觸發點的位置比看起來的螢幕邊緣還要再靠外一點。
大家真正想要的,是一個能說「把 Dock 留在這台螢幕上」的設定,而 macOS 從來沒有這樣的東西。上面每一個解法,用的都是移除觸發機會,而不是真正回應這個需求。
Still Dock 補上了這項設定。它是一款能鎖定你 Mac Dock 的 App。選擇你想讓 Dock 出現的螢幕,它就會一直待在那裡,不需要關閉獨立的操作空間,不需要把 Dock 移到你沒選的邊緣,也不需要用一條在兩個 macOS 版本前就已經失效的終端機指令。
直接下載版和 Mac App Store 版都有這項功能,與大小、位置、隱藏與顯示,以及內容鎖定並列。
希望反過來讓 Dock 出現在每個螢幕上嗎?這個問題有個簡短的答案:可以讓 Dock 顯示在所有螢幕上嗎?
不行。macOS 每次只會在一個螢幕上顯示一個 Dock,而且沒有任何設定或第三方 App 能改變這一點。如果你搜尋的是如何讓 Dock 顯示在所有螢幕上,這就是答案,而你可能實際看到的是 Dock 跟著游標在螢幕之間移動。這篇指南要說明的,正是如何阻止這件事。
因為螢幕恢復的速度不一樣。如果外接螢幕比 Mac 本身喚醒得慢,內建螢幕會有短暫時間成為唯一存在的螢幕,Dock 就會留在它落腳的地方。把外接螢幕設為主要顯示器有幫助,但並非每次都有效。
會,在任何擁有多台螢幕的 Mac 上都會發生。這是 macOS 的標準行為,並不是你的機器、螢幕或連接線出了問題。
因為全螢幕的控制項就在螢幕下方,所以你會把游標推到那個正好召喚出 Dock 的邊緣。這是大家遇到這個問題最常見的方式。
這會顯著改變它們。全螢幕 App 不再依螢幕個別運作,一個 App 進入全螢幕,可能會讓你其他螢幕變成空白。在真正決定之前,先試用一天看看。
不是,那是另一個問題,原因也不同,是分隔線本身就是個拖曳把手所致。參見為什麼你的 Dock 一直改變大小。Dock 在不同像素密度的螢幕之間也會改變大小,這在螢幕指南中有說明。
有三款 App 能解決這個問題:DockLock、LockMyDock 與 Still Dock,各自針對不同的問題設計。DockLock 與 Still Dock 的比較說明了每一款的功能,包括 DockLock 更深入的地方,以及 LockMyDock 的定位。