22.04 版菜单中的休眠条目

22.04 版菜单中的休眠条目

我以前用的是 21.04,它有休眠功能,可以通过扩大这显然与 22.04 上的新 GNOME 不再兼容。

显然扩展站点上没有其他选择。除了在终端中输入命令之外,您知道还有什么其他方法吗?

答案1

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

  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
  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

此脚本将从 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)中的条目

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

答案2

我按照这个教程操作,它在 22.04 上完美运行:https://ubuntuhandbook.org/index.php/2021/08/enable-hibernate-ubuntu-21-10/

做就是了:

sudo gedit /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla

并插入以下行:

[Re-enable hibernate by default in upower]
Identity=unix-user:*
Action=org.freedesktop.upower.hibernate
ResultActive=yes

[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

然后安装 Hibernate 按钮扩展: https://extensions.gnome.org/extension/755/hibernate-status-button/

答案3

如果你在 ubuntu 23.10 上使用该扩展,请执行

sudo apt install polkitd-pkla

相关内容