![直接回答你的问题:](https://linux22.com/image/1127017/%E7%9B%B4%E6%8E%A5%E5%9B%9E%E7%AD%94%E4%BD%A0%E7%9A%84%E9%97%AE%E9%A2%98%EF%BC%9A.png)
经过漫长的反复试验,我终于发现 crashplan 服务是导致我的笔记本电脑在合上盖子后无法挂起的原因。我有两台不同的 Ubuntu 笔记本电脑,都存在这个问题……
我相信影响崩溃计划来改变这种行为会很困难,但我想知道是否可以添加一个操作来在盖子关闭时停止崩溃计划并在重新打开时重新启动它。
有什么想法吗?谢谢!
答案1
直接回答你的问题:
您可以使用盖子开关触发停止 Crashplan 服务的脚本。请参阅笔记本电脑盖和底座脚本在帮助 Wiki 上。
另请参阅评论和答案捕捉盖子关闭和打开事件。
还有大量针对人们想要通过盖子开关触发的不同类型的事件编写的脚本示例在 Ubuntu 论坛中——有点混乱,但是这些例子可能会对你写的文章有帮助。
然而,问题实际上可能不是出在 Crashplan 上。
如果您的交换驱动器已加密,那么这实际上可能会干扰休眠模式。(在某种程度上,Crashplan 可能间接导致了这一问题 - 我会进一步解释...)您可能没有故意设置加密的交换驱动器;当您在安装 Ubuntu 9.10 及更高版本期间选择加密您的主目录时,这种情况会自动发生。
此外,您可能从未注意到您的交换分区已加密,因为如果您的 fstab 通过 UUID 识别您的交换空间,您仍然可以休眠。
这只会在交换驱动器填满时才会成为问题(这很可能是在你运行 Crashplan 时发生的,因为它的许多过程(如文件还原)都很耗时且占用大量资源/内存)。当已满时,有关加密交换的所有内容(包括 UUID)都将被覆盖,因此在尝试从休眠状态唤醒时,您的系统将不知道在哪里找到您的交换驱动器 - 它将搜索不再存在的 UUID。
因此,您可能根本不需要编写由盖子开关激活的“停止服务”脚本。您可能只需要处理交换。
有两种可能性:
修改您的设置,以便您的交换驱动器通过
/dev/sdXX
UUID 而不是 UUID 来识别,并且系统在需要时会获得随机生成的密钥(/dev/urandom
)。请参阅这个答案了解明确说明。它涉及编辑 crypttab 和 fstab,在更改之前您应该备份它们。选择未加密的交换分区。显然,后者不是一个推荐的解决方案,但我个人认为对于普通用户来说,拥有未加密的交换分区并不是什么大问题。您可以阅读更多相关信息并自行决定。请参阅这里了解如何操作的说明。
另请参阅Ubuntu 帮助维基关于加密主页的注意事项以及休眠模式会受到怎样的影响。
注意:这个问题已经两年了,所以尽管最好在回答之前获取更多信息,但我认为 OP 不太可能回复,所以我继续发布了答案。