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 Dockzrobi 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 Docknie zawsze będzie go przycinać podczas zmiany twojego defaults.
W Yosemite defaultssą one teraz buforowane w dwóch oddzielnych trwałych procesach zwanych cfprefsd; jeden należy do Ciebie, $USERa drugi należy do rootCiebie, 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