)
Omarchy 如何设置系统休眠omarchy hibernation setup【免费下载链接】omarchyBeautiful, Modern Opinionated Linux项目地址: https://gitcode.com/GitHub_Trending/om/omarchyOmarchy 默认启用的是挂起suspend而休眠hibernation需要通过omarchy hibernation setup从终端显式启用。这条命令会在启动盘上创建一个与物理内存等大的/swapBtrfs 子卷和 swapfile写入 resume 内核参数并重建 initramfs让机器在关机状态下把内存内容落盘、下次开机自动恢复。完成设置后Omarchy 菜单SystemSuper Esc下会出现 Hibernate 选项其动作是systemctl hibernate。本文覆盖环境要求、执行设置、验证生效和出问题时如何回退来源为 系统休眠文档 及 omarchy-hibernation-setup、omarchy-hibernation-remove、omarchy-hibernation-available 的实际实现。设置前确认环境要求omarchy hibernation setup需要 root 权限脚本标注omarchy:requires-sudotrue执行前文档和脚本给出了三条硬性前提磁盘空间swapfile 的大小等于物理内存分配量。文档原文是“On a 32GB machine, youll always need 32GB free for this volume”即 32GB 内存的机器启动盘上必须长期留有 32GB 以上空闲空间。默认 Limine 引导器脚本依赖limine-mkinitcpio重建 initramfs/UKI。如果系统里找不到该命令且没有传--no-rebuild脚本直接输出Skipping hibernation setup (requires Limine bootloader)并退出。内核支持脚本首先检查/sys/power/image_size不存在时输出Hibernation is not supported on your system并退出。此外注意 Omarchy 默认带有 zram 内存 swap配置见 90-omarchy.confzstd 压缩、swap-priority 100。休眠镜像写入的是优先级pri0的磁盘 swapfile与 zram 并行存在不会互相顶掉。执行 omarchy hibernation setup在终端运行omarchy hibernation setup不带参数时脚本会先用free --human显示内存总量并询问确认Use 内存总量 on boot drive to make hibernation available?按否直接取消、不做任何修改。确认后会依次执行创建/swapBtrfs 子卷已存在则跳过并加chattr C用btrfs filesystem mkswapfile在其中创建大小等于内存总量的/swap/swapfile已存在则跳过把 swapfile 追加进/etc/fstab先备份为/etc/fstab.时间戳.back条目为/swap/swapfile none swap defaults,pri0 0 0swapon -p 0启用该 swap安装键盘背光 system-sleep 钩子防止背光阻止睡眠写入/etc/mkinitcpio.conf.d/omarchy_resume.conf内容为HOOKS(resume)通过btrfs inspect-internal map-swapfile -r计算 swapfile 的偏移量写入内核参数 drop-in/etc/limine-entry-tool.d/resume.confresume设备 resume_offset偏移脚本注释说明缺少这些参数会导致 resume 发生在 GPU 驱动加载之后而失败如果/sys/power/mem_sleep显示[s2idle]额外写入/etc/limine-entry-tool.d/rtc-alarm.confrtc_cmos.use_acpi_alarm1为 suspend-then-hibernate 提供 RTC 唤醒运行limine-mkinitcpio重建全部内核的 initramfs/UKI 并更新/boot/limine.conf条目询问Reboot to enable hibernation?选是则执行omarchy-system-reboot。命令支持两个可选参数定义在脚本头部omarchy:args中--force跳过内存占用确认也跳过最后的重启询问--no-rebuild跳过脚本内部的limine-mkinitcpio重建由调用方自行负责 UKI 重建脚本注释说明这用于初次安装、limine-mkinitcpio-hook尚未装入的场景。两者都是运维场景下的开关日常单次启用不需要加。验证休眠已生效设置并重启后文档给出的判断方式是Hibernate 选项出现在System菜单Super Esc下然后实际用一次确认“works consistently on your system”。菜单项的显示条件在 omarchy-menu.jsonc 中有明确定义system.hibernate的when为omarchy-hibernation-available。这个检查脚本omarchy-hibernation-available同时满足两点才让菜单项出现非 zram 的 swap 总量大于/sys/power/image_size的值/etc/mkinitcpio.conf.d/omarchy_resume.conf存在。因此“System 菜单里出现了 Hibernate”本身就等价于这两项检查通过。若手动核对可在终端运行omarchy-hibernation-available退出码为 0 表示条件满足。不工作或需要回退时文档和脚本对两个已知故障点都有处理路径resume_offset 为空初次设置时如果btrfs map-swapfile失败/etc/limine-entry-tool.d/resume.conf里会留下空的resume_offset。此时直接重新运行omarchy hibernation setup脚本检测到“已设置”状态时会重算偏移量并写回该 drop-in同时重建 initramfs输出Fixing empty resume_offset (值)。休眠行为不一致文档给出的处理是移除后另作打算命令为omarchy hibernation remove。omarchy hibernation remove见 omarchy-hibernation-remove会依次swapoff停用 swapfile、删除/swap/swapfile、删除/swap子卷、从/etc/fstab移除条目同样先做时间戳备份、删除 resume hook 配置文件、最后再跑一次limine-mkinitcpio。整个过程有一个Remove hibernation setup?确认提示确认前不会动任何文件若从未设置过脚本输出Hibernation is not set up直接退出。边界说明休眠镜像占用的磁盘空间是固定的等于物理内存量不是可伸缩的设置前按“永久占用”评估启动盘余量。依赖 Limine 引导器是文档写明的前提非 Limine 环境脚本会直接跳过。本文只涉及 hibernation挂起的开关omarchy toggle suspend与电源模式omarchy powerprofiles是同一文档中的独立条目不属于本次设置链路。【免费下载链接】omarchyBeautiful, Modern Opinionated Linux项目地址: https://gitcode.com/GitHub_Trending/om/omarchy创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考