Odpowiedzi:
Wpisz ten wiersz w konsoli:
defaults -currentHost write com.apple.dock ResetLaunchPad -bool true; killall Dock
Wydaje się, że usunięcie db nie rozwiązuje problemu. Te dwa kroki są konieczne, aby zresetować Launchpad w Yosemite:
- rm ~ / Library / Application \ Support / Dock / *. db; killall Dock
- domyślne zapisuje com.apple.dock ResetLaunchPad -bool true; killall Dock
defaults write com.apple.dock ResetLaunchPad -bool true; killall Dock
zrobi to teraz.
rm ~/Library/Application\ Support/Dock/*.db
rm "/$TMPDIR../0/com.apple.dock.launchpad/db/db*"
defaults write com.apple.dock ResetLaunchPad -bool true; killall Dock
Tutaj Launchpad resetuje się podczas usuwania trzech plików bazy danych w ...
/private/var/folders/02/yff1cxtx61v3y1pydkt96j2h0000gn/0/com.apple.dock.launchpad/db/db
/private/var/folders/02/yff1cxtx61v3y1pydkt96j2h0000gn/0/com.apple.dock.launchpad/db/db-shm
/private/var/folders/02/yff1cxtx61v3y1pydkt96j2h0000gn/0/com.apple.dock.launchpad/db/db-wal
... i restartowanie Docka: killall Dock
Dostaję się tam, otwierając
open $TMPDIR../0/com.apple.dock.launchpad/db/
Zaczynając w Yosemite, po prostu bieganie killall Dock
nie zawsze będzie go przycinać podczas zmiany twojego defaults
.
W Yosemite defaults
są one teraz buforowane w dwóch oddzielnych trwałych procesach zwanych cfprefsd
; jeden należy do Ciebie, $USER
a drugi należy do root
Ciebie, więc zasadniczo musisz zrestartować te procesy.
Możesz to sprawdzić, otwierając Monitor aktywności.app i wyszukując cfprefsd
(W niektórych okolicznościach może być więcej niż dwa z tych procesów, nie martw się!)
Dodałem następującą linijkę do mojego wybranego profilu powłoki (.zshrc), aby był dla mnie łatwo dostępny po prostu przez wpisanie fixpref
, ale możesz też po prostu wyciąć dobre części, aby użyć go raz!
TL; DR:
#!/bin/bash
# Clear defaults caches, reload them, and then kill everything!
alias fixpref='sudo killall -SIGKILL cfprefsd && killall Dock && killall Finder'
rm ~/Library/Application\ Support/Dock/*.db; defaults write com.apple.dock ResetLaunchPad -bool true; killall Dock