Коротко: Dock, который постоянно сбрасывается, почти никогда не делает это случайно. Причин четыре, и три из них можно устранить за минуту.
Подсказка в том, когда это происходит: при входе, после обновления, после отключения монитора или будто бы случайно во время работы. Каждый случай указывает на своё.
Это самый частый случай, и обычно он означает, что файл настроек повреждён. macOS читает
com.apple.dock при входе, и если не может разобрать файл, возвращается к значениям по умолчанию и
записывает новый, каждый раз выбрасывая вашу раскладку.
Решение в том, чтобы намеренно удалить его и дать macOS создать чистый:
defaults delete com.apple.dock; killall Dock
Вы один раз намеренно теряете закреплённые приложения, а потом это прекращается. Настройте Dock заново, выйдите из системы и снова войдите, чтобы убедиться, что всё сохранилось. Подробнее в статье как сбросить Dock на Mac. Если значки просто стоят в другом порядке, см. значки в Dock сами переставились.
Если и после этого сбрасывается, дело не в файле настроек: его что-то перезаписывает. Читайте дальше.
Обновления могут вернуть значения Apple по умолчанию для ключей, изменившихся между версиями, и обычно страдает раздел недавних приложений. Изменение в недавних приложениях не является повреждением, и удаление выше для него не нужно:
defaults write com.apple.dock show-recents -bool false; killall Dock
Обновление не должно переносить Dock к другому краю или менять его размер. Если так случилось, причина в повреждённом файле, а обновление лишь это проявило.
Dock не сбрасывался, поэтому обычные способы ничего не дают. macOS решает, какому дисплею принадлежит Dock, и если довести указатель до нижнего края другого экрана, Dock перейдёт туда. Ничего не перезаписано, Dock просто в другом месте.
Ключа defaults для перемещения Dock между дисплеями нет. Apple так и не сделала для этого настройку, поэтому существуют утилиты. См. как удержать Dock на одном экране и приложения, которые это умеют.
Если размер изменился, а вы не открывали Системные настройки, значит, вы задели разделитель. Линия между приложениями и папками служит ручкой для перетаскивания, она находится в самой оживлённой части экрана, и нет ни подтверждения, ни отмены.
Выдаёт то, что всё сдвинулось одновременно: все значки изменили размер, а все расставленные окна сместились, потому что Dock забрал место обратно. Так бывает при изменении размера, а не при сбросе.
Решение в блокировке:
defaults write com.apple.dock size-immutable -bool true; killall Dock
Разделитель перестаёт реагировать на перетаскивание, а элемент размера в Системных настройках становится неактивным. Замените
true на false, чтобы отменить.
Если ничего из этого не подходит, значит, какое-то приложение незаметно редактирует com.apple.dock. Так делают
инструменты резервного копирования и синхронизации, утилиты для «очистки Mac» и профили управления устройством от работодателя.
Чтобы узнать, перезаписывается ли файл, следите за временем его изменения:
ls -l ~/Library/Preferences/com.apple.dock.plist
Если метка времени меняется, хотя вы Dock не трогали, туда пишет что-то другое. На рабочем Mac проверьте наличие профиля в разделе Системные настройки › Основные › Управление устройством; локально его не переопределить, и пытаться не стоит.
В остальных случаях запись другого приложения не вступает в силу благодаря четырём ключам immutable.
Они полностью перечислены в статье
все команды defaults для Dock на Mac.
Только если причина в том, что в файл пишет другое приложение. Повреждённый файл настроек они не исправят, а сами блокировки хранятся в том же файле, так что при нечитаемом файле пропадают и блокировки. Сначала исправьте файл, затем блокируйте.
defaults delete com.apple.dock
да. Сами приложения не затрагиваются, только список закреплённых. Сначала сделайте снимок экрана
с Dock, и восстановить его можно за пару минут.
Нет. iCloud не синхронизирует Dock между Mac. Если ваш Dock похож на Dock другого Mac, это результат работы Ассистента миграции или восстановления.
Still Dock удерживает все четыре настройки Dock из строки меню и запоминает, каким был Dock до блокировки. Блокировка размера бесплатна.