我曾经使用过带有休眠功能的 21.04,可通过一个扩展来调用,该扩展显然与 22.04 上的新 GNOME 不再兼容。
显然扩展站点上没有替代方案。你知道什么可以使用而不是在终端中输入命令吗?
我正在运行 Ubuntu Focal,我有 15gigs 的 Ram 和 20G 的交换空间。
Partition: ID-1: / size: 437.52 GiB used: 47.14 GiB (10.8%) fs: ext4 dev: /dev/sda5
ID-2: swap-1 size: 19.53 GiB used: 0 KiB (0.0%) fs: swap dev: /dev/sda6
我尝试将 acpi=noirq 添加到我的 grub 启动选项中,但它不起作用,最终禁用了我的键盘。
当我输入 sudo pm-hibernate 并重新打开计算机时,它会正常启动。
还有什么我可以尝试的吗?
在 Ubuntu 20.04 中,我有这个配置。在 /etc/sudoers 中:
...
%sudo ALL=(ALL:ALL) ALL
...
我以这种方式改变了它:
...
%sudo ALL=(ALL:ALL) ALL
david ALL=(ALL) NOPASSWD: /usr/bin/systemctl hibernate
...
david
是我的用户名。我尝试了很多变体并搜索了互联网。每当我这样做时,我都需要输入密码:
sudo systemctl hibernate
对于 CentOS 和其他 Linux 变体,它可以正常工作。
更新 1:
sudo -ll
Matching Defaults entries for david on hp:
env_reset, mail_badpass,
secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin
User david may run the following commands:
Sudoers entry:
RunAsUsers: ALL
RunAsGroups: ALL
Commands:
ALL
Sudoers entry:
RunAsUsers: ALL
Options: !authenticate
Commands:
/bin/systemctl hibernate
Sudoers entry:
RunAsUsers: ALL
Commands:
ALL
工作的其他系统的输出NOPASSWD:
是等效的。
我在网上搜索过,但找到的所有文章都已过时。我应该怎么做才能在 GNOME 中启用休眠?
我正在运行带有 NVIDIA GeForce GTX 760 和 AMD Ryzen 7 CPU 的 Xubuntu 20.04。
Nvidia 驱动版本是450.66,内核是5.4.0-47-generic
在没有先前休眠的情况下启动工作正常,没有过多的 CPU 负载。调用休眠可以正常工作,没有任何错误条目,恢复速度很快并且没有任何问题(检查了 dmesg 和 journalctl)。从 lightdm 登录后top
显示 Xorg 的 CPU 负载为 100%。高 CPU 负载最多持续 5 分钟,主要是在一个内核上。
我已经阅读了一些类似的线程(例如 XModmap 错误),检查了 xfce4 配置文件中的空值,但一无所获。因此,任何想法在哪里看都会受到赞赏。
编辑 似乎是 XFCE 中的一个错误
我禁用了桌面上的电源按钮(按下它什么也没做,没有关机,没有休眠/睡眠,因为我的孩子喜欢按下它)
在我将我的 ubuntu 从 18LTS 升级到 20LTS 后,禁用的电源按钮行为不再起作用。当它被按下时,它使 PC 进入休眠状态。
这是我当前的设置gsettings list-recursively org.gnome.settings-daemon.plugins.power
org.gnome.settings-daemon.plugins.power lid-close-ac-action 'suspend'
org.gnome.settings-daemon.plugins.power time-critical 300
org.gnome.settings-daemon.plugins.power power-button-action 'nothing'
org.gnome.settings-daemon.plugins.power lid-close-suspend-with-external-monitor false
org.gnome.settings-daemon.plugins.power button-hibernate 'nothing'
org.gnome.settings-daemon.plugins.power idle-dim true
org.gnome.settings-daemon.plugins.power button-power 'nothing'
org.gnome.settings-daemon.plugins.power lid-close-battery-action 'suspend'
org.gnome.settings-daemon.plugins.power priority 0
org.gnome.settings-daemon.plugins.power idle-brightness 30
org.gnome.settings-daemon.plugins.power active true
org.gnome.settings-daemon.plugins.power critical-battery-action 'suspend'
org.gnome.settings-daemon.plugins.power button-suspend 'nothing'
org.gnome.settings-daemon.plugins.power button-sleep 'nothing'
org.gnome.settings-daemon.plugins.power percentage-critical 3
org.gnome.settings-daemon.plugins.power sleep-inactive-ac-timeout 3600
org.gnome.settings-daemon.plugins.power sleep-inactive-ac-type 'nothing'
org.gnome.settings-daemon.plugins.power ambient-enabled true
org.gnome.settings-daemon.plugins.power notify-perhaps-recall true
org.gnome.settings-daemon.plugins.power percentage-low 10
org.gnome.settings-daemon.plugins.power percentage-action 2
org.gnome.settings-daemon.plugins.power sleep-inactive-battery-type 'suspend'
org.gnome.settings-daemon.plugins.power time-low 1200
org.gnome.settings-daemon.plugins.power sleep-inactive-battery-timeout 1200
org.gnome.settings-daemon.plugins.power time-action 120
org.gnome.settings-daemon.plugins.power use-time-for-policy true
cat /etc/systemd/logind.conf
[Login]
#NAutoVTs=6
#ReserveVT=6
#KillUserProcesses=no
#KillOnlyUsers=
#KillExcludeUsers=root
#InhibitDelayMaxSec=5
HandlePowerKey=ignore
HandleSuspendKey=ignore
HandleHibernateKey=ignore
#HandleLidSwitch=suspend
#HandleLidSwitchDocked=ignore
#PowerKeyIgnoreInhibited=no
#SuspendKeyIgnoreInhibited=no
#HibernateKeyIgnoreInhibited=no
#LidSwitchIgnoreInhibited=yes
#HoldoffTimeoutSec=30s
#IdleAction=ignore
#IdleActionSec=30min
#RuntimeDirectorySize=10%
#RemoveIPC=yes
#InhibitorsMax=8192
#SessionsMax=8192
#UserTasksMax=33%
你有什么想法可能是错的吗?
谢谢您的帮助。
我最近在 Razer Blade Pro 17 上安装了 Ubuntu 20.04,但我遇到的问题是笔记本电脑在我首先进入睡眠状态后不断进入睡眠状态。
我可以启动进入 Ubuntu,并且操作系统正常工作。我可以让它睡觉/合上盖子,一切都还好。但是,当我再次唤醒它时,它会工作大约 15 秒,然后再次进入睡眠状态。
我尝试过设置设置,甚至关闭设置中的自动暂停选项,但没有运气。
更新:
挖掘日志后,我发现 ACPI 在系统进入睡眠状态时抛出此错误:
ACPI Error: AE_NOT_EXIST, While executing method \_WAK (20190816/hwesleep-47)
我犯了一个错误,在我的高效工作桌面上以双启动配置安装了带有加密 ZFS / OpenZFSroot
分区的 Ubuntu 20.04 LTS (请参阅下面的分区表)。但是我没有对我正在关注的教程给予适当的关注,现在似乎我有一个 4G 的交换分区,虽然我有 32G 的 RAM(编辑: 我发现了我如何能够增加交换但我仍然不能进入休眠状态——见下文)。因此我不能让这台机器进入休眠状态。
解决此问题的最佳方法是什么,以便我可以让这台机器进入休眠状态?
$ sudo fdisk -l /dev/nvme0n1
Disk /dev/nvme0n1: 1.88 TiB, 2048408248320 bytes, 4000797360 sectors
Disk model: KXG60PNV2T04 NVMe KIOXIA 2048GB
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 1FCA11ED-9263-4C06-A8DF-594C0DE84AFA
Device Start End Sectors Size Type
/dev/nvme0n1p1 2048 1085439 1083392 529M Windows recovery environment
/dev/nvme0n1p2 1085440 1290239 204800 100M EFI System
/dev/nvme0n1p3 1290240 1323007 32768 16M Microsoft reserved
/dev/nvme0n1p4 1323008 409420488 408097481 194.6G Microsoft basic data
/dev/nvme0n1p5 409421824 410920959 1499136 732M Windows recovery environment
/dev/nvme0n1p6 410923008 415117311 4194304 2G Linux filesystem
/dev/nvme0n1p7 415117312 4000797326 3585680015 1.7T Linux filesystem
$ sudo swapon --show --output all
NAME TYPE SIZE USED PRIO UUID LABEL
/dev/zd0 partition 4G 0B -2 1e1fb013-69d9-4878-b358-6b8ee53d5b09
$ sudo zpool list -v
NAME SIZE ALLOC FREE CKPOINT EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT
Root 1.66T 535G 1.13T - - 2% 31% 1.00x ONLINE -
nvme0n1p7 1.66T 535G 1.13T - - 2% 31.5% - ONLINE
$ sudo zpool status -v
pool: Root
state: ONLINE
scan: none requested
config:
NAME STATE READ WRITE CKSUM
Root ONLINE 0 0 0
nvme0n1p7 ONLINE 0 0 0
errors: No known data errors
$ sudo zfs list
NAME USED AVAIL REFER MOUNTPOINT
Root 539G 1.08T 192K none
Root/root 534G 1.08T 530G /
Root/root/00a891589b00cebc55cb6767e266ca38ac201daf3a6048c1f33d7d55c0710533 544K 1.08T 143M legacy
[…] # many other legacy mount points
Root/root/ffe52d35c873e6a417ee12c7025d848dac1f269b8078266f00a8d8088fd34384 396K 1.08T 607M legacy
Root/swap 4.25G 1.08T 172M -
$ sudo zfs get all Root/swap
NAME PROPERTY VALUE SOURCE
Root/swap type volume -
Root/swap creation So Aug 2 15:36 2020 -
Root/swap used 4.25G -
Root/swap available 1.08T -
Root/swap referenced 172M -
Root/swap compressratio 1.00x -
Root/swap reservation none default
Root/swap volsize 4G local
Root/swap volblocksize 4K -
Root/swap checksum on default
Root/swap compression off local
Root/swap readonly off default
Root/swap createtxg 3746 -
Root/swap copies 1 default
Root/swap refreservation 4.25G local
Root/swap guid 12379969387189982956 -
Root/swap primarycache metadata local
Root/swap secondarycache none local
Root/swap usedbysnapshots 0B -
Root/swap usedbydataset 172M -
Root/swap usedbychildren 0B -
Root/swap usedbyrefreservation 4.08G -
Root/swap logbias throughput local
Root/swap objsetid 278 -
Root/swap dedup off default
Root/swap mlslabel none default
Root/swap sync always local
Root/swap refcompressratio 1.00x -
Root/swap written 172M -
Root/swap logicalused 169M -
Root/swap logicalreferenced 169M -
Root/swap volmode default default
Root/swap snapshot_limit none default
Root/swap snapshot_count none default
Root/swap snapdev hidden default
Root/swap context none default
Root/swap fscontext none default
Root/swap defcontext none default
Root/swap rootcontext none default
Root/swap redundant_metadata all default
Root/swap encryption aes-256-gcm -
Root/swap keylocation none default
Root/swap keyformat passphrase -
Root/swap pbkdf2iters 342K -
Root/swap encryptionroot Root -
Root/swap keystatus available -
我认为交换文件可能很容易解决,但我显然错了:
$ sudo dd if=/dev/zero of=/swapfile bs=1MiB count=$((32*1024))
32768+0 records in
32768+0 records out
34359738368 bytes (34 GB, 32 GiB) copied, 14.5783 s, 2.4 GB/s
$ sudo chmod 600 /swapfile
$ sudo swapon /swapfile
swapon: /swapfile: skipping - it appears to have holes.
所以我想我应该增加交换分区。我也不清楚为什么swapon
声称交换分区有,4G
尽管zfs get all Root/swap
说它1.08T
是可用的。
GParted 不会识别太多。这可能与os-prober
(GParted 问题 14、Debian 错误 888114、os-prober 问题 1848496、openzfs 问题9801和9069)中的错误有关
创建命令的灵感来自GitHub 上的评论,但请记住不要使用-o sync=always
.
$ sudo zfs create -V 32G -b $(getconf PAGESIZE) -o logbias=throughput -o primarycache=metadata -o secondarycache=none -o com.sun:auto-snapshot=false -o compression=zle Root/swap_two
$ sudo zfs rename Root/swap Root/swap_bak
$ sudo zfs rename Root/swap_two Root/swap
$ sudo mkswap -f /dev/zvol/Root/swap
$ sudo swapon /dev/zvol/Root/swap
确保此条目位于/etc/fstab
:
/dev/zvol/Root/swap none swap discard 0 0
然后重新启动并删除微小的旧交换:
$ sudo zfs destroy Root/swap_bak
虽然这似乎有效,但我仍然无法休眠:
$ sudo systemctl hibernate
Failed to hibernate system via logind: Sleep verb "hibernate" not supported
因此,我仍然愿意接受任何建议。也许它需要一个专用resume
参数GRUB_CMDLINE_LINUX_DEFAULT
?