Launchpad 图标排序问题

2020-09-22 11:59:23 +08:00
 imhuhe
每次重启 Mac 之后 Launchpad 里第一页“其他”文件夹的 App 图标就会自己跑出来,这是什么原因? iMac 和 MacBook Air 都是这样,系统版本 10.15.6 。
2879 次点击
所在节点    macOS
11 条回复
lrvy
2020-09-22 12:29:59 +08:00
可以重置下 Launchpad 图标排序

```
defaults write com.apple.dock ResetLaunchPad -bool true && killall Dock
```
imhuhe
2020-09-22 13:56:42 +08:00
我自己做了个重置图标的自动化,但还是想一劳永逸地解决问题。
vokins
2020-09-22 15:30:03 +08:00
想请问有一个问题,默认的话,第一个页面的 app 都是完整的正常的,但是一旦重置以后,第一页全部系统 app 和以后页面的部分 app 都有了快捷方式的小图标是怎么回事?必须要下载系统重新安装一边才能解决,有大佬知道这个问题吗?谢谢
gateoflunar
2020-09-22 15:59:24 +08:00
@lrvy 这个命令自从 High Sierra 开始排序就是乱序的……大概是不准备修了
SimonOne
2020-09-22 17:27:50 +08:00
@gateoflunar #4 确实,从数据库里也看不出排序的规律,挺迷的。只能知道苹果自己的放第 1 屏,排序规律看不出来。
volvo007
2020-09-22 18:06:28 +08:00
我按字母排了放到文件夹里了,最近又炸了(从最一开始,这玩意就没稳定过)…… 如果可以的话我真想把这烂玩意删掉……
di11wei
2020-09-22 18:31:21 +08:00
我已经放弃排序了,就是默认状态,反正也很少在这里面启动程序。
typeday
2020-09-22 22:23:57 +08:00
我以前的 10 年历史老 iMac 跑 10.13 真是很稳定也没啥 bug 连四国都没看过。
妈呀换了 MacBook Pro+10.15 才几个月一堆 bug 包括这个,panic 也好几次。
PostMeridiem18
2020-09-23 08:58:09 +08:00
launchpad 某一页最后一个文件夹 app 塞不进去的 bug 已经过了四五年了吧,苹果大概是把这个看作一个 feature 了。
现在要启动什么都直接 spotlight+回车,launchpad 已经基本上完全不打开了
RemiliaScarlett
2020-09-23 10:40:56 +08:00
这也是老大难问题了啊...草死
ldw4033
2020-09-23 11:44:01 +08:00
是这个样子的,launchpad 图标位置信息等存储在一个数据库中,可能出于未知原因,这个数据库不是总是会被初始化,或是 launchpad 程序无法访问它,或者无法更新,再就是该数据库损坏等等,launchpad 程序与数据库无法互通。



首先,确保自己没有安装使用系统优化等的软件,

其次,通过监视这个数据库的变化,来分析问题的所在,具体解说如下:



这个数据库默认地保存在每个用户自己的程序临时文件夹中,这个文件夹的地址有些特殊,可以通过下面的方法看到:

echo $TMPDIR


它看上去是这个样子的:/var/folders/m9/1mc3g1w06v51jy17v0_yt9t40000gn/T/

其实,每个本地帐户都会在 /var/folders/目录下,都有一个自己的子目录,用于应用程序保存自己的运行时数据,比如上面的 m9,还不清楚它下面的子目录“1mc3g1w06v51jy17v0_yt9t40000gn”的含义,但这不妨碍咱们后边的分析。再下面一般有三个子目录,0, T, C 。而我们关心的是 0,在里面有一个目录叫 com.apple.dock.launchpad,launchpad 的数据库就保存在它里面的 db 子目录内。所以全路径就是:/var/folders/m9/1mc3g1w06v51jy17v0_yt9t40000gn/0/com.apple.dock.launchpad/db

这个路径也可以使用下面的目录可以获得:

echo "$(dirname $TMPDIR)/0/com.apple.dock.launchpad/db"


具体如何监测,可以简单监视数据库的修改时间,比如使用下面的命令:

$ ls -l "$(dirname $TMPDIR)/0/com.apple.dock.launchpad/db"


下面是一个例子:

total 8392
-rw-r--r-- 1 me staff 1310720 Aug 3 17:00 db
-rw-r--r-- 1 me staff 32768 Aug 22 20:58 db-shm
-rw-r--r-- 1 me staff 1891112 Aug 24 21:43 db-wal


每次改变 launchpad 中应用的图标位置,文件的时间就会变化。

那么通过这个行为可以观察,它们的时间是否随改动而改变,重启后,是不是也改变了。



如果任何地方出现问题或者可疑,有可能是不同的原因造成。比如,目录错误,有可能是 launchpad 的这个默认路径被未知原因改了;如果无法访问该目录,那么有可能是权限错误;如果每次重启都会改变,有可能是启动时有程序把它改变了;如果是文件时间不变,那么可能它们的联系中断了或者是数据库出错等,等等各种原因。上面只是举例说明,具体原因还要进一步分析。



也可以尝试把这个 com.apple.dock.launchpad 目录转移走 /或者直接删除,重启后,让系统重建一个新的,然后自定义。



对于你的问题的根结,不太好说。既然是刚刚入手的 Mac,有其它程序“从中捣乱”的可能性比较大,其次是数据库损坏。

https://discussionschinese.apple.com/thread/250581574

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/709357

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX