我需要能够记录 Ubuntu 10.04 桌面系统暂停和恢复的时间。
我可以通过 DBus 信号 (org.freedesktop.UPower.Resuming()) 检测到系统何时恢复,但从未触发相应的“org.freedesktop.UPower.Sleeping()”信号。理想情况下,我想使用 DBus,但鉴于我没有取得成功,我会对任何可以从命令行调用的解决方案感到满意。
我发现了一种方法:
尾 -f /var/log/pm-suspend.log | grep "执行暂停"
这只是在 pm 日志之一上侦听挂起日志。虽然这可行,但它可能相当脆弱。由于日志语句的更改,我发现过去依赖日志解析是相当有问题的。
理想情况下,我想要一个更强大的机制。调用它的服务将以 root 身份运行。
尝试将以下内容放入
/etc/pm/sleep.d
. 这应该与您的机器使用 APM 还是 ACPI 无关。其他一些可能适用于更现代系统的选项是:
cat /var/log/syslog | grep 'systemd-sleep'
这将显示系统暂停和恢复时间戳。或者
journalctl | grep suspend
它还将显示带有时间戳的暂停和恢复。这里的暂停看起来像PM: suspend entry (s2idle)
,简历看起来像suspend exit
。您可以在/etc/apm/suspend.d中放置一个脚本。每次机器挂起时都应该执行它。
您还可以以类似的方式使用/etc/apm/resume.d在脚本唤醒时运行它。