现在我成功地延长交换并启用休眠模式,我希望休眠模式可以从菜单中获得,并作为电源按钮下的操作。
我尝试通过 gsettings 分配休眠
$ gsettings set org.gnome.settings-daemon.plugins.power power-button-action hibernate
但它只会调出一个交互式关机菜单。
我也尝试寻找一个 GNOME 扩展,使休眠在菜单中可见。但是,唯一与我的 GNOME (42.2) 兼容的扩展是休眠状态按钮(作者:p91paul)似乎没有任何效果。
如何使用电源按钮和 Ubuntu 22.04 上的 GNOME 菜单启用休眠模式?
我可以成功休眠发出
sudo systemctl hibernate
所以这个机制是有效的。我只需要 UI 选项。
答案1
好的,我有了解决方案的前半部分。可以在菜单中显示休眠状态。
扩展很好,但是需要额外的步骤:
注意:Pop!OS 和 Ubuntu 需要 /etc/polkit-1/localauthority/10-vendor.d/com.ubuntu.desktop.pkla 文件
要创建此文件,请运行:
sudo nano /etc/polkit-1/localauthority/10-vendor.d/com.ubuntu.pkla
然后将这些内容复制到新创建的文件中:
[Enable hibernate in upower]
Identity=unix-user:*
Action=org.freedesktop.upower.hibernate
ResultActive=yes
[Enable hibernate 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
如何使电源按钮休眠的问题仍然存在。
答案2
我有两个解决方案,我都尝试了,其中至少有一个是有效的。
解决方案 1
您可以使用休眠状态按钮(作者:p91paul)。但你需要一个要求,只需polkitd-pkla
通过运行安装即可
sudo apt install polkitd-pkla
在终端上。(我从评论中发现)
解决方案 2
正如扩展中提到的GitHub 页面:
休眠按钮未显示,但 systemctl hibernate 有效
如果你正在运行 Ubuntu,请尝试输入
[Enable hibernate in upower] Identity=unix-user:* Action=org.freedesktop.upower.hibernate ResultActive=yes [Enable hibernate 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
进入 /etc/polkit-1/localauthority/10-vendor.d/com.ubuntu.desktop.pkla
所以你可以试试这个方法。打开终端并运行
sudo nano /etc/polkit-1/localauthority/10-vendor.d/com.ubuntu.desktop.pkla
并复制粘贴此内容:
[Enable hibernate in upower]
Identity=unix-user:*
Action=org.freedesktop.upower.hibernate
ResultActive=yes
[Enable hibernate 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