systemctl 休眠并重启?

systemctl 休眠并重启?

我有两个 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 实际上并不执行休眠,它只是告诉内核这样做:

  1. systemd 将所需的休眠后模式(S4 关机的“平台”、混合睡眠的“挂起”或自定义的“重启”)写入文件/sys/power/disk
  2. systemd 将休眠命令“disk”写入文件/sys/power/state
  3. 内核完成其余工作,直到计算机唤醒后才返回 systemd。

相关内容