(
首先,我不太确定官方条款是什么。
我思考它是“挂起”/“恢复”,
“睡眠”/“唤醒”是同义词
(我不确定是否还有其他常见的同义词)。
还有其他相关但不同的东西,即“休眠”,
它很少使用,因为对它的硬件支持比较棘手,而且通常不值得尝试搞乱(我相信?)。
(还有“挂起到内存”。我不太清楚这是否是普通“挂起”或“休眠”或其他什么的同义词。)
然而,我在这里只对“睡眠”/“唤醒”感兴趣。
)
因此,我想回顾一下系统日志,看看将系统从睡眠状态唤醒后发生了什么。
(我有一个 USB 键盘,在我拔下并重新插入它之前,它似乎无法正常恢复,并且我思考这是一个软件问题,我正在尝试解决它。)
然而,我不确定我是否能始终在系统日志中找到正确的位置。
有人告诉我手动运行
(睡眠前):(
su root -c 'echo "Sleep started" > /dev/kmsg'
睡眠后):
su root -c 'echo "Sleep ended" > /dev/kmsg'
这对我来说似乎很奇怪,
因为我会认为某物默认情况下已经记录到日志会标记睡眠/唤醒吗?
如果是这样,那又怎样?
如果没有,如何应该我添加一些东西自动地记录睡眠/醒来时间?
一般来说,
我应该如何围绕睡眠/唤醒编写脚本?
例如,如果我做过想要让
su root -c 'echo "Sleep started" > /dev/kmsg'
它们
su root -c 'echo "Sleep ended" > /dev/kmsg'
分别在睡眠之前和之后自动运行
(尽可能接近睡眠之前/之后的最后/第一件事)?
我找到了这个文件:
/etc/systemd/sleep.conf
我应该使用它吗?
(
就像,我想我正在寻找相当于初始化脚本的东西,
但是用于唤醒/睡眠而不仅仅是启动/关闭。...
虽然
在睡眠的情况下,我注意到可以只有一个脚本运行,
并使用命令在脚本中间休眠,
然后,无需执行任何其他操作,
脚本的其余部分将在您唤醒计算机后继续运行。
不确定这是否是正确的做事的方式,但原则上肯定是可能的。
)
journalctl
另外,说实话,我一周前才开始使用。
在此之前,我只是dmesg
偶尔使用(使用--ctime
/-T
标志)
——每当我想检查最近是否有 OOM 或段错误或其他什么情况时。
然而,dmesg --ctime
有一个长期存在的错误
,它只计算启动后的秒数,
然后天真地将其转换为“人类可读”时间戳,
但完全忽略睡眠/唤醒,
因此时间戳实际上越来越远离同步。实际的实时 计算机运行的时间越长,
如果您每晚都睡觉但不睡觉重新启动。
那么时间戳是否journalctl
仍然存在该错误,
或者是否已修复?