
Tengo dos imágenes de Linux en volúmenes diferentes y una partición /boot separada de ambas. Quiero que mis usuarios puedan hibernar su 'sistema operativo Linux de escritorio' por la noche, reiniciando en el 'sistema operativo Linux de la granja de renderizado'.
Por la mañana, el 'sistema operativo de la granja de procesamiento' se apagará y reiniciará el sistema nuevamente en la sesión de Linux de escritorio hibernada.
Supongo que puedo habilitar esto con un script que modifica la configuración de grub2 y luego ejecuta systemctl hibernate
, lo que me lleva hasta allí, pero realmente necesito que el sistema no solo hiberne el sistema operativo en ejecución; Lo necesito para hibernar el sistema operativo en ejecución y luego reiniciar.
no hayparecerdebe haber alguna disposición para que systemctl hiberne y luego reinicie. Puede hacer lo uno o lo otro.
¿Cómo puedo hacer que esto funcione?
Respuesta1
Puede reconfigurar el modo de 'hibernación' existente para reiniciar en lugar de apagarlo en /etc/systemd/sleep.conf
:
[Sleep]
HibernateMode=reboot
O puede hacer lo mismo con el modo 'suspensión híbrida' (que es hibernar + suspender):
[Sleep]
HybridSleepMode=reboot
El valor corresponde directamente al texto en el que escribirá systemd /sys/power/disk
.
Antecedentes: systemd en realidad no realiza la hibernación, simplemente le dice al kernel que lo haga:
- systemd escribe el modo de post-hibernación deseado ("plataforma" para apagar S4, "suspender" para suspensión híbrida o "reiniciar" para su personalización) en el archivo
/sys/power/disk
. - systemd escribe el comando de hibernación "disco" en el archivo
/sys/power/state
. - El kernel hace el resto y no regresa a systemd hasta que la computadora se haya despertado.