经过几天尝试修复笔记本电脑的挂起问题后,我想摆脱 Ubuntu 挂起系统并将其完全替换为“S2RAM”。
所以基本上当我按下电源按钮、睡眠按钮、合上盖子时:我只希望我的笔记本电脑调用“S2RAM”应用程序,仅此而已。
S2RAM 是我笔记本电脑中唯一运行良好的东西。如果我sudo S2RAM
在播放视频时打字,我的笔记本电脑不到 1 秒就关机了,电源指示灯和键盘立即关闭,然后我等待几分钟,按下电源按钮,一切都恢复正常。
到目前为止我尝试过这个但没有成功:
sudo systemctl edit systemd-suspend.service
并添加以下内容:
[Service]
Type=oneshot
ExecStart=/usr/sbin/s2ram
我还尝试了以下替代方法(有时会更改路径):
[Service]
ExecStart=
ExecStartPre=-/usr/bin/run-parts -v -a pre /usr/lib/systemd/system-sleep
ExecStart=/usr/sbin/s2ram
ExecStartPost=-/usr/bin/run-parts -v --reverse -a post /usr/sbin/s2ramlib/systemd/system-sleep
其次是
systemctl daemon-reload
这些选项似乎都不起作用。因为如果我输入systemctl suspend
:
- 它不像跑步那样是即时的
sudo S2RAM
- 有时系统会挂起(就像往常一样)
- 有时会关闭屏幕并且不再回来
所以对我来说,S2RAM 根本没有接管 Ubuntu 的“暂停”方法。
还有其他方法可以实现这一点吗?我认为这将是让我的戴尔笔记本电脑在 Ubuntu 中进入睡眠状态的唯一解决方案。我尝试了 30 多种解决方案,除了 S2RAM 应用程序外,没有一种有效。我只需要知道如何将其设为默认
答案1
在桌面屏幕上,按F1
,然后Ctrl + L
输入man:systemd-suspend.service.8
。
重复上述步骤man:systemd-sleep.conf.5
。
正如问题所表明的那样,您在这个问题上比我更有经验,但我相信这可能会有所帮助。
答案2
我在 Ubuntu 20.04 上遇到了同样的情况,在 Gnome 中选择“暂停”按钮时出现了与 OP 相同的症状。
systemctl suspend
不起作用,但echo mem | sudo tee /sys/power/state
确实起作用了(S2RAM 也在这么做)。根据“systemd-suspend.service”的手册页,它的作用是一样的systemctl suspend
。那么有什么区别呢?
Systemd 正在处理其他依赖项,这些依赖项必须在执行“echo mem”之前返回成功。因此,我检查了目录中的依赖项/etc/systemd/system/systemd-suspend.service.requires
,发现 2 个指向 nvidia-driver-suspend 内容的链接。我通过重命名目录禁用了它们,如下所示 - 可能有更好的方法来做到这一点。
cd /etc/systemd/system
sudo mv systemd-suspend.service.requires unused-systemd-supend.service.requires
sudo systemctl daemon-reload
systemctl suspend
现在可以正常工作,并且Suspend
也可以通过 Gnome Suspend 按钮在全球范围内工作 - 这是我最初的问题。