Ubuntu 20.04 | 有什么办法可以摆脱“systemctl suspend”并开始全局使用“s2ram”?

Ubuntu 20.04 | 有什么办法可以摆脱“systemctl suspend”并开始全局使用“s2ram”?

经过几天尝试修复笔记本电脑的挂起问题后,我想摆脱 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

  1. 它不像跑步那样是即时的sudo S2RAM
  2. 有时系统会挂起(就像往常一样)
  3. 有时会关闭屏幕并且不再回来

所以对我来说,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 按钮在全球范围内工作 - 这是我最初的问题。

相关内容