最近我注意到在运行El Capitan的iMac上,Open Recent菜单已停止更新,包括Apple菜单和应用程序,以及Open Recent菜单项和Dock中弹出的列表。
我检查了系统偏好设置| 一般| 最近的项目,它说没有。我已经尝试了多次将其重置为20,但当我回到系统偏好设置时它显示为无。
我希望有人可以帮我解决这个问题。
最近我注意到在运行El Capitan的iMac上,Open Recent菜单已停止更新,包括Apple菜单和应用程序,以及Open Recent菜单项和Dock中弹出的列表。
我检查了系统偏好设置| 一般| 最近的项目,它说没有。我已经尝试了多次将其重置为20,但当我回到系统偏好设置时它显示为无。
我希望有人可以帮我解决这个问题。
Answers:
对我来说,这个部分固定的东西:
在我的例子中,这修复了每个应用程序和Apple菜单中“文件”菜单下的最近项目列表。但Dock图标上的上下文菜单仍然不会更新。
我今天遇到了一个月大的iMac。关于它的唯一不新鲜的是我的帐户,尽可能使用迁移助手在5台机器和12个主要MacOS版本中复制,在〜/ Library / Preferences /中留下了相当多的遗骸。不幸的是,在最近的版本中,Apple通过废弃文件有效地清理该目录变得很复杂,因为cfprefsd
管理真正的首选项信息,你需要与该defaults
实用程序很好地对话。
无论如何,我喜欢每次我尝试更改首选项时都会得到一系列日志条目,如下所示:
Jul 14 18:14:03 extravagant sharedfilelistd[411] <Critical>: [default] [<CFString 0x7fff77ea0e00 [0x7fff77f58440]>{contents = "com.apple.LSSharedFileList.RecentApplications"}] List write failed invalid info items: (null) properties: (null)
Jul 14 18:14:03 extravagant sharedfilelistd[411] <Error>: -[ListStore writeListItems:properties:withListIdentifier:notificationHander:] [com.apple.LSSharedFileList.RecentApplications] List write failed invalid info items: (null) properties: (null)
Jul 14 18:14:05 extravagant com.apple.preference.general.remoteservice[85562] <Warning>: Error getting number of recent items of type 2, LSSharedFileListCopyProperty returned NULL
Jul 14 18:14:11 extravagant com.apple.preference.general.remoteservice[85562] <Warning>: New number of recents: 30
Jul 14 18:14:11 extravagant com.apple.preference.general.remoteservice[85562] <Warning>: Error getting number of recent items of type 1, LSSharedFileListCopyProperty returned NULL
Jul 14 18:14:11 extravagant com.apple.preference.general.remoteservice[85562] <Warning>: Error getting number of recent items of type 2, LSSharedFileListCopyProperty returned NULL
Jul 14 18:14:11 extravagant com.apple.preference.general.remoteservice[85562] <Warning>: Error getting number of recent items of type 3, LSSharedFileListCopyProperty returned NULL
Jul 14 18:14:13 extravagant com.apple.xpc.launchd[1] (com.apple.preference.general.remoteservice[85562]) <Notice>: Service exited due to signal: Killed: 9
此外,defaults domains
首选项中的两个和几十个文件告诉我,大多数具有正确默认域的应用程序(如com.example.appname) 也有一个默认域,如com.example.appname.LSSharedFileList,其中包含最近使用过的文件列表。除了他们最近没有使用过文件。自我从旧的Yosemite机器迁移以来,没有* .LSSharedFileList.plist文件发生了变化,也没有com.apple.recentitems.plist。所以我通过在〜/ Library / Preferences /中运行这些命令来清理房子:
defaults delete com.apple.recentitems
rm com.apple.recentitems.plist*
该defaults
命令告诉cfprefsd
您删除该域中的所有设置,这将留下一个42字节的逻辑空.plist文件和一个0字节的.plist.lockfile文件,该rm
命令将删除该命令。
defaults find LSSharedFileList |grep 'keys in domain .*LSShared'|cut -d"'" -f2 |xargs -L1 defaults delete
rm *LSSharedFileList.plist*
对于名称中defaults
包含LSSharedFileList的所有域,不太明显但基本相同
find . -name "*.plist" -print0 |xargs -0 -L1 plutil -lint |grep -v ': OK$'|cut -d: -f1|sed 's/.*/"&"/' |xargs rm
更不明显,但显然至关重要。这个管道找到当前目录中的所有* .plist文件(这是〜/ Library / Preferences /,)检查每个plutil -lint
文件的有效性,解析那些不是“OK”的文件名,引用它们以防止嵌入空间等,并将它们全部删除。在我的情况下,无效的* .plist文件都是0字节的古董文件,无论如何都无法在El Cap上运行,因此我确信我没有删除任何实际信息。因人而异!
find . -size 42c -name "*plist" -delete
这扫描了任何长度为42字节的* .plist文件,这是二进制格式的逻辑空plist的大小。我有一些人闲逛,他们可能会引起投诉sharedfilelistd
。
killall sharedfilelistd
这终止了sharedfilelistd
在我的帐户下运行的实例。系统自动重新启动新实例。我不确定这是否需要,但它似乎是谨慎的,因为我刚从偏好子系统中删除了一些信息,这些信息与sharedfilelistd
El Cap中显然做的旧方法有关。
注意:这7个命令是我所做的有意义且有效果的删节版本,分散在3个小时的探测和测试并试图找到信息sharedfilelistd
无济于事。
值得注意的是,这里没有sudo
涉及,因为我在我自己的〜/ Library / Preferences /中,操纵我自己的首选项领域。“最近的项目”菜单及其设置是特定于用户的,因此存储该设置的任何地方(从未工作过......)也必须是用户特定的,而不是需要root修复的东西。之前的响应包括一个无法解释的大量许可/ ACL /标志擦除,与sudo一起运行,甚至不能为作者工作,并可能造成严重的系统性伤害。这不是那样的。另请注意,它不需要注销,重新启动,在恢复模式下启动,或执行任何其他可能具有破坏性的操作。
killall sharedfilelistd
单独运行似乎完美地完成了这一操作!(我肯定处于不同的情况:我没有旧的迁移配置文件,这个问题似乎随机开始发生,重新启动使它消失了一段时间)。
以下为我工作!
尝试了所有以前的答案,但都没有奏效。
然后我遇到了Apple论坛上描述的修复:
注意:以下命令更改了家庭/用户目录中所有文件的所有权和访问权限,可能会产生意外(和有害)的副作用。
打开终端,输入:
echo $TMPDIR
如果(并且仅当)您看到类似/var/folders/8b/mn2vgjs10gs83krfy1fwxwb80000gp/T/
的结果,请运行
sudo find ~ $TMPDIR.. \
-exec chflags -h nosappnd,noschg,nosunlnk,nouappnd,nouchg,nouunlnk {} + \
-exec chown -h $UID {} + -exec chmod +rw {} + \
-exec chmod -h -N {} + -type d -exec chmod -h +x {} + 2>&-
resetpassword
并按Enter键(无后顾之忧)关于Apple论坛的描述非常清楚,所以如果有疑问,请去那里。希望它也能帮助别人。
仅供参考:所有我最近的项目都在所有应用程序中都消失了,在Apple菜单中,整个菜单项甚至已经消失,并且在系统偏好设置中从无更改为保持恢复为无。
我在MacBook Air上(2014年初),运行El Capitan 10.11.3
我在应用程序中发生了同样的事情,但在我的finder最近的项目中,我显示了同一个最近项目的多个重复项,并且每次我再次打开应用程序时似乎添加一个。我试图屏幕拍摄最近的项目但当然如果你试图点击shift-command-4它会将最近的项目更改为“在发现者中显示XXXX”,因为你已按下命令。收藏夹也从对话框中消失。在过去几年中,苹果公司的开发和QA部门正在进行什么?
Timed Screen
功能。
作为一种解决方法,使用TinkerTool来设置您喜欢的“最近的项目”。
到目前为止它似乎表现得像预期的那样......
转到“系统偏好”>“常规”>“最近的项目”el capitan将其重置为零由于某种原因将其设置为您喜欢的任何列表长度,它将再次开始工作