我有两个 Linux 映像,位于不同的卷上,还有一个与它们分开的 /boot 分区。我希望我的用户能够在晚上休眠他们的“桌面 Linux 操作系统”,然后重新启动进入“渲染农场 Linux 操作系统”。
早上,“渲染农场操作系统”将关闭并将系统重新启动到休眠的桌面 Linux 会话。
我想我可以使用修改 grub2 配置然后运行的脚本来启用此功能systemctl hibernate
,这使我能够完成大部分工作,但实际上我需要系统不仅仅是休眠正在运行的操作系统;我需要它休眠正在运行的操作系统然后重新启动。
没有似乎是否为 systemctl 提供休眠和重启功能。它可以执行其中一项或另一项。
我怎样才能让它工作?
答案1
您可以重新配置现有的“休眠”模式以重新启动而不是关闭电源/etc/systemd/sleep.conf
:
[Sleep]
HibernateMode=reboot
或者您可以对“混合睡眠”模式(即休眠+挂起)执行相同的操作:
[Sleep]
HybridSleepMode=reboot
该值直接对应于 systemd 将写入的文本/sys/power/disk
。
背景:systemd 实际上并不执行休眠,它只是告诉内核这样做:
- systemd 将所需的休眠后模式(S4 关机的“平台”、混合睡眠的“挂起”或自定义的“重启”)写入文件
/sys/power/disk
。 - systemd 将休眠命令“disk”写入文件
/sys/power/state
。 - 内核完成其余工作,直到计算机唤醒后才返回 systemd。