如何完全禁用Mac OS X Lion中的自动保存和版本?


51

我讨厌Mac OS X Lion中的自动保存和版本控制。

有没有办法完全关闭它?

(在此之前已经有人问过这个问题,但是答案和链接的文章完全错了,所以我想我会再试一次。)

Answers:


37

我故意要寻找隐藏的默认值1,并且偶然地偶然发现了一个defaults禁用自动保存,版本和恢复的设置。

如果您对可能发生的破坏(笑话)有一定的容忍度,请尝试以下“终端”命令(在此示例中为“预览”):

defaults write -app 'preview' ApplePersistence -bool no

替换preview为您希望对其执行操作的任何应用程序的名称。

或者,您可以使用以下命令在全局范围内进行配置(但请注意,这会导致缓慢的登录,因此不建议这样做):

defaults write -g ApplePersistence -bool no

我可以确认它适用于TextEdit,Preview,Automator和Safari(用于禁用Resume),但它也应适用于其他Apple应用程序,例如iWork,Xcode,iPhoto等。它也适用于某些(但不是全部)第三方应用程序。我的机器并没有发火(再次开玩笑),但是只要您有一个好的备份系统,这些设置就可以稳定地更改和测试。

对于TextEdit,您必须另外运行以下命令,以避免沙箱错误:

defaults write -app textedit AutosavingDelay -int 0

[这有效地完全禁用了老式的狮子之前的自动保存功能,因此沙箱将不再抱怨TextEdit试图在没有您“同意”的情况下自动保存内容。]

另一个选择是称为“ TextEdit +”的TextEdit分支,值得庆幸的是,它没有被沙箱化(令人惊讶的是,TextEdit实际上是开源的)。可以在这里下载。

禁用ApplePersistence还可以恢复大多数应用程序中的“另存为”,但预览,iWork以及其他一些应用程序除外。在这种情况下,您可以改用Export…菜单项。这与“另存为”几乎相同,除了必须在保存后手动打开文档。只需在这些应用程序中将Command-Shift-S 分配给Export…,您还将获得与“另存为”非常相似的东西。

要恢复正常行为,请运行:

defaults delete -app 'preview' ApplePersistence

defaults delete -g ApplePersistence

defaults delete -app textedit AutosavingDelay

1感谢Lri出色的一线发现隐藏defaults设置的能力。


1
就是这个。我刚刚在Preview中进行了测试,它对我来说很好用,无需添加前缀/Library/Preferences/和sudo即可defaults write com.apple.Preview ApplePersistence -bool no。如果这将是Mountain Lion中的官方选项,那就更好了!
houbysoft

1
它似乎确实适用于某些第三方应用程序,或者至少适用于WriteRoom和Byword。defaults write -g ApplePersistence -bool false也可以。
Lri 2012年

1
我不建议全局设置此设置。一方面,TextEdit无法正常运行,并且可能产生其他不利影响。另外,当我尝试登录时,登录花费了更长的时间/似乎挂了一段时间。

1
我认为这不适用于优胜美地。例如,如果我在“预览”中裁剪图像,它将立即更新磁盘上的版本。:-(
艾萨克(Isaac)

1
请注意,从macOS 10.12开始,Sierra禁用ApplePersistence for Preview导致“另存为...”从“文件”菜单中完全消失。El Capitan并未发生这种情况,可能是一个错误。
David P.

7

只有OS X 10.8 Mountain Lion中才引入了一种简单得多的方法。

根据这篇文章,您只需要启用系统偏好设置>常规>关闭文档时要求保留更改

禁用自动保存


嗨,Xehaust,尽管此链接可以回答问题,但最好在此处包括答案的基本部分,并提供链接以供参考。如果链接的页面发生更改,仅链接的答案可能会失效。请在这里看看:为什么以及如何删除一些答案?
bummi

当@houbysoft在2011年提出有关OS X Lion(10.7)的问题时,“系统偏好设置”中还没有提供这种“更简单的方法”。

6

我同意,Apple方面的太多假设是用户需要什么,尤其是可以由用户控制的东西→提示:双/多显示器设置上的新全屏应用程序(失败)

对于Versions,它非常相似,用户无法控制:(

到目前为止,我发现的唯一一件事是检查Versions文件夹的大小,/.DocumentRevisions-V100如果我认为它占用太多空间,则将其删除。

注意:这是一个非常糟糕的主意!它将删除所有以前的文件/文件版本

sudo rm -rf /.DocumentRevisions-V100

然后,您可以通过以下方式阻止重新创建该目录:

sudo touch /.DocumentRevisions-V100

但这会造成混乱,使您无法在具有“版本和自动保存”功能的应用程序中重新保存文档

不是令人满意的解决方案。我真的希望有人能找到一种方法来关闭它,或者希望下一个OS X更新为用户提供更多控制权。

黑客行为:5个非常好的Lion调整提到,该开关NSDocumentAutosaveOldDocumentDayThreshold可用于调整自动保存,但我找不到有关其功能的任何详细信息。

看来,守护进程 /System/Library/PrivateFrameworks/GenerationalStorage.framework/Versions/A/Support/revisiond负责创建版本-如果重命名或移动它并重新启动,“版本”将不再起作用,但这又不是一个好主意,因为依赖于该守护进程的所有进程都会遇到严重麻烦。

有更好的主意吗?


3

我找到了一种以(希望)无损可逆方式禁用版本(不是自动保存)的方法:(重新)移动版本使用的SQLite数据库

小心,这绝对没有保修,可能会损坏您的系统!

sudo mv /.DocumentRevisions-V100/db-V1 /.DocumentRevisions-V100/db-V1_off; sudo touch /.DocumentRevisions-V100/db-V1; sudo killall revisiond

如果它有效,当您关闭文档时,您会在Textedit中收到通知:

在此处输入图片说明

这(可能)意味着您的文档仍将按一定的间隔自动保存,但是一旦关闭它(或程序),您只能检索最新版本(以及Time Machine备份,如果有)。

更改可以撤消 sudo rm /.DocumentRevisions-V100/db-V1; sudo mv /.DocumentRevisions-V100/db-V1_off /.DocumentRevisions-V100/db-V1; sudo killall revisiond


编辑2012-04-04:

版本(尤其是Autosave的版本)仍可能最终~/Library/Containers该答案中所描述的那样。


您能说出您在答案中使用的来源吗?
gentmatt 2012年

我自己烹饪了这一切,这是受到Ars Technica上
iolsmit 2012年

0

幸运的是,我不必求助于此。我研究了所有其他安全措施,并尝试了一些干净的磁盘应用程序之后,OnyX进行了工作。它清除了所有修订版文件夹,而无需我运行上述脚本或手动执行。它在10分钟内释放了75GB的空间。我仍在使用优胜美地,但它们也为其他系统提供。而且是免费的。我不得不发表评论以帮助其他人,在过去的大约一天时间里,我一直坚持不懈地分解7条。- https://www.titanium-software.fr/en/index.html

怎么做:安装OnyX /关闭所有正在运行的应用程序/打开Onyx-要求运行磁盘检查,按ok /它看起来好像已经冻结了,但是还没有,/然后选择选项卡清洗/然后选择选项卡杂项。/然后检查选项:自动保存的文档版本/按Enter / Tada!

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.