22.04 菜单中的 Hibernate 条目

And*_*oro 9 hibernate 22.04

我以前使用的 21.04 具有可通过扩展调用的休眠功能,该扩展显然不再与 22.04 上的新 GNOME 兼容。

显然,扩展站点上没有替代方案。您知道除了在终端中输入命令之外还可以使用什么吗?

kan*_*ili 6

有一个扩展可以显示您的休眠按钮。这并不一定意味着它会起作用。因此必须采取以下几个步骤:

  1. 检查休眠是否工作:打开终端并执行systemctl hibernate. 如果这不起作用,您必须查看Ubuntu 手册以了解如何定义交换分区/文件

  2. 以 root 身份输入终端(sudo 不起作用)。使用以下命令打开(或创建)文件: nano /var/lib/polkit-1/localauthority/10-vendor.d/com.ubuntu.desktop.pkla

在文件末尾添加以下文本:

##NEW entry since Ubuntu 18:
[Re-enable hibernate by default in upower]
Identity=unix-user:*
Action=org.freedesktop.upower.hibernate
ResultActive=yes

##NEW entry since Ubuntu 18:
[Re-enable hibernate by default in logind]
Identity=unix-user:*
Action=org.freedesktop.login1.hibernate;org.freedesktop.login1.handle-hibernate-key;org.freedesktop.login1;org.freedesktop.login1.hibernate-multiple-sessions;org.freedesktop.login1.hibernate-ignore-inhibit
ResultActive=yes
Run Code Online (Sandbox Code Playgroud)
  1. 清理挂钩(错误 - 从休眠恢复后记录失败)。该错误发生在恢复后(Ubuntu 确实不希望你休眠):

sudo nano /etc/systemd/system/use-10_grub_common.service 进入:

[Unit]
Description=Execute the /etc/pm/sleep.d/10_grub_common script after hibernation.
After=hibernate.target

[Service]
Type=oneshot
ExecStart=/etc/pm/sleep.d/10_grub-common thaw

[Install]
WantedBy=hibernate.target
Run Code Online (Sandbox Code Playgroud)

该脚本将从 grub 中删除错误标志,防止下次引导时显示错误。由于它是一项服务,您需要启用它:

sudo systemctl enable use-10_grub_common

我没有介绍的是交换区(分区或文件)的定义 - 请参阅第 1 点的链接。有两个地方必须定义“Resume”:Grub: Resume=UUID=xxxx(当您有交换分区,xxx 是该分区的 uid)以及/etc/initramfs-tools/conf.d/resume(Resume=UUID=xxxx)中的条目

由于我不知道您的配置并且从未尝试过使用交换文件休眠,因此我不会详细说明(现在)