休眠/挂起不起作用

休眠/挂起不起作用

我在 14.04 版中遇到了电源模式问题。当我使用:

sudo pm-hibernate

我的笔记本电脑和显示器屏幕变黑了。一两秒后,笔记本电脑和显示器又恢复了之前显示的内容。所以它没有进入休眠状态。

同样的事情还有:

sudo pm-suspend

尽管我之前安装过 14.04,但我从来没有遇到过这样的问题。

有解决方案吗?希望不会重复 :)(我有一张 Nvidia Optimus 显卡,我不想安装任何驱动程序,因为它总是导致我的系统崩溃,所以我不得不重新安装 :/)

/var/log/pm-suspend.log非常大所以我只在这里发布错误:

Failed to connect to non-global ctrl_ifname: (null)  error: No such file or dir$

Running hook /usr/lib/pm-utils/sleep.d/95anacron suspend suspend:
stop: Unknown instance:
/usr/lib/pm-utils/sleep.d/95anacron suspend suspend: success.

Fri Nov 28 21:38:14 CET 2014: performing suspend
sh: echo: I/O error
Fri Nov 28 21:38:19 CET 2014: Awake.

Running hook /usr/lib/pm-utils/sleep.d/95led resume suspend:
/usr/lib/pm-utils/sleep.d/95led resume suspend: not applicable.

这里是整个文件。

也许,有另一个软件可以使用待机模式。也许是另一个正在运行的软件包……

编辑:

我发现,问题出在 nouveau 驱动程序和最新内核的组合上。这是描述的错误这里。所以也许我可以通过安装较旧的驱动程序来解决问题。或者有其他替代驱动程序吗(我试过 NVIDIA 驱动程序,但它们不起作用,因为我有 Optimus 显卡)?

答案1

有相同的 I/O 错误,这是由英特尔网络适配器引起的。dmesg | less按照建议运行S 伊姆普黑德此主题然后搜索“pm_suspend”,我发现了这个:

pci_pm_suspend(): e1000_suspend+0x0/0x20 [e1000e] returns -2
[287908.829615] dpm_run_callback(): pci_pm_suspend+0x0/0x150 returns -2
[287908.829617] PM: Device 0000:00:19.0 failed to suspend async: error -2
[287908.829689] PM: Some devices failed to suspend, or early wake event detected

这让我此主题作为回报。修复方法是使用 卸载内核模块 e1000e sudo rmmod e1000e。作者还编写了一个脚本来捕获错误并自动卸载模块,但我没有尝试过。

奇怪(但好)的是,即使模块在卸载后立即再次加载,错误也会消失。所以每当我遇到问题时,我只需执行这行代码

sudo rmmod e1000e; sudo modprobe e1000e; sudo pm-suspend

答案2

对于 16.04 及以上版本:

首先,你需要确保在合上盖子时启用了挂起模式。你可以在“设置”-“电源”中看到它 在此处输入图片描述

确定这一点后,您需要输入一些命令。

sudo apt install pm-utils
sudo cp /etc/systemd/logind.conf  /etc/systemd/logind.conf.back
sudo nano /etc/systemd/logind.conf

在这里,您可以下载一个处理某些挂起和休眠操作的工具。之后,您可以为 logind.conf 文件创建备份以防万一。

最后,您将编辑 logind.conf 文件进行一些更改。打开后,您将看到所有命令都带有“#“标志。我们将删除一些”#“ 来自这些行。

HandleSuspendKey=suspend
HandleLidSwitch=suspend
HandleLidSwitchDocked=suspend

从这些行中删除 # 符号并保存。重新启动计算机并查看是否有效。

该解决方案适用于我装有 Ubuntu 18.04 的 MacBook Air 2015。

相关内容