Dar*_*ook 11 power-management suspend
我的笔记本挂起时遇到问题,但是当我不希望它醒来时(立即或稍后在包中时 - 我可能有两个问题需要解决)。但目前这个问题是关于故障排除的:是否有我可以运行的命令来告诉我最后一个resume
操作的触发器是什么?例如,是否按下了某个键,或电源按钮,是否是网络唤醒信号,是否从交流电源切换到电池,等等。
看来,在 Windows 上,您可以键入powercfg -lastwake
以找到这一点。所以我正在寻找与该命令等效的 Linux。
如果没有这样的命令,我需要寻找什么,在哪个日志文件中?
(Mint 16, xfce, Lenova Thinkpad, kernel 3.11.0-12-generic)
Zol*_*tan 10
为了完整起见,这个答案中提到了另一个类似问题的解决方案。
通过电源按钮唤醒:
$ sudo dmidecode | grep Wake-up
Wake-up Type: Power Switch
Run Code Online (Sandbox Code Playgroud)
由RTC时钟唤醒:
$ sudo dmidecode | grep Wake-up
Wake-up Type: APM Timer
Run Code Online (Sandbox Code Playgroud)
通过键盘唤醒:
$ sudo dmidecode | grep Wake-up
Wake-up Type: PCI PME#
Run Code Online (Sandbox Code Playgroud)
在使用的系统上,systemd
您可以使用journalctl
命令查看 systemd 的日志。
在这里,例如我的系统从盖子关闭时进入睡眠状态,然后当我打开它时,您会看到与此相关的事件,如下所示:
$ journalctl | less
...
May 19 09:04:47 greeneggs.bubba.net kernel: PM: Syncing filesystems ... done.
May 19 09:04:47 greeneggs.bubba.net kernel: PM: Preparing system for mem sleep
May 19 09:33:42 greeneggs.bubba.net kernel: Freezing user space processes ... (elapsed 0.002 seconds) done.
May 19 09:33:42 greeneggs.bubba.net systemd[1]: Time has been changed
May 19 09:33:42 greeneggs.bubba.net systemd-logind[772]: Lid opened.
...
Run Code Online (Sandbox Code Playgroud)
对于不使用的系统,systemd
您有很多地方可以查看。您可以首先查看dmesg
日志。您还可以查找/var/log/syslog
与电源管理或 ACPI 相关事件相关的消息。
我将首先查看/var/log/pm_suspend.log
,假设它存在。尤其是在 Linux Mint 等发行版上,您可能会在那里找到这样的消息:
Thu Feb 21 21:21:50 GMT 2013: Running hooks for hibernate.
Running hook /usr/lib/pm-utils/sleep.d/000kernel-change hibernate hibernate:
/usr/lib/pm-utils/sleep.d/000kernel-change hibernate hibernate: success.
Running hook /usr/lib/pm-utils/sleep.d/00logging hibernate hibernate:
...
Run Code Online (Sandbox Code Playgroud)
既然你已经有了ThinkPad,除了其他建议(初步提示systemd
)之外,如果你正在使用thinkpad_acpi
驱动程序,你可能还想看看/sys/devices/platform/thinkpad_acpi/wakeup_reason
. 该文件包含一个数字,告诉您嵌入式控制器是否由于以下原因唤醒了您的笔记本电脑低电量(至少我认为是这样),码头移除请求等。
正如Documentation/laptops/thinkpad-acpi.txt
所述:
wakeup_reason:
Set to 1 if the system is waking up because the user
requested a bay ejection. Set to 2 if the system is
waking up because the user requested the system to
undock. Set to zero for normal wake-ups or wake-ups
due to unknown reasons.
Run Code Online (Sandbox Code Playgroud)