Este team de especialistas luego de algunos días de investigación y de juntar de información, dieron con los datos necesarios, queremos que te sea útil en tu proyecto.
Solución:
Sueño híbrido indirecto
Este es el método más antiguo: primero suspenda y luego despierte para hibernar después de un retraso (15 minutos por defecto). Úselo con un kernel de Linux anterior a 3.6, o si lo desea, ya no usa energía después de 15 minutos.
Agregar el archivo /etc/pm/config.d/00-use-suspend-hybrid
:
# Always use suspend_hybrid instead of suspend
if [ "$METHOD" = "suspend" ]; then
METHOD=suspend_hybrid
fi
# The delay after which hibernation gets triggered (default: 900 seconds, 15 minutes):
PM_HIBERNATE_DELAY=900
Es posible que desee asegurarse de que el método híbrido sea compatible con su sistema a través del siguiente código. Si dice “0”, debería funcionar:
sudo pm-is-supported --suspend-hybrid && echo $?
Suspensión híbrida real con Linux 3.6+
Si tiene un kernel de Linux 3.6, puede usar lo siguiente, que se suspenderá tanto en el disco como en la RAM desde el principio.
Agregar el archivo /etc/pm/config.d/00-use-suspend-hybrid
:
# WORKAROUND: always set the default hibernate mode first (normal mode)
# (not required if you have the patch mentioned by Rohan below (http://askubuntu.com/a/344879/169))
HIBERNATE_MODE=platform
# Always use hibernate instead of suspend, but with "suspend to both"
if [ "$METHOD" = "suspend" ]; then
METHOD=hibernate
HIBERNATE_MODE=suspend
fi
# Make sure to use the kernel's method, in case uswsusp is installed etc.
SLEEP_MODULE=kernel
Esto siempre escribirá la imagen en el disco y luego la suspenderá en la RAM, teniendo las ventajas de que la reanudación siempre será rápida (siempre que no se agote la batería) y que la máquina no se reactivará por poco tiempo (después de PM_HIBERNATE_DELAY) hibernar de verdad.
El inconveniente es que el proceso lleva más tiempo (porque siempre hiberna en el disco) y que la batería puede agotarse a largo plazo (por ejemplo, después de 12 horas).
- Publicación de blog correspondiente (no actualizada)
Ubuntu 18.04 una opción programada
En Ubuntu 18.04 tiene una nueva opción temporizada. En systemd
está disponible un nuevo modo suspend-then-hibernate
. Esto comenzará con el modo de suspensión y luego pasará al modo de hibernación después de un tiempo fijo.
En el hybrid-sleep
modo, la parte de hibernación se hace efectiva solo cuando la batería está críticamente baja y el sistema se apaga.
Para comenzar a usar esta función, debe crear un archivo /etc/systemd/sleep.conf
con el siguiente contenido:
[Sleep]
HibernateDelaySec=3600
Esto pasará de dormir a hibernar después de 1 hora de sueño. Puedes editar HibernateDelaySec
para cambiar la demora para hibernar.
Primero, pruebe si suspender-luego-hibernar funciona usando systemd
Abra una terminal presionando control+Alt+T e ingrese:
sudo systemctl suspend-then-hibernate
Si funciona, hágalo permanente.
- Los siguientes trabajos cuando cierro la tapa.
Abre el archivo /etc/systemd/logind.conf
usando su editor preferido. Deberá invocar su poder administrativo sudo
, gksudo
o pkexec
para editar este archivo.
Encuentra las dos líneas:
#HandleSuspendKey=suspend
#HandleLidSwitch=suspend
Tenga en cuenta que estas líneas están comentadas con #
en frente de ellos. los suspend
es la acción predeterminada. Eliminar el #
y cambio suspend
para suspend-then-hibernate
en estas dos líneas para que se vean así:
HandleSuspendKey=suspend-then-hibernate
HandleLidSwitch=suspend-then-hibernate
Guarda el archivo. Cerrar sesión y volver a iniciar sesión o reiniciar logind
servicio por el comando:
systemctl restart systemd-logind.service
¡advertencia! su sesión de usuario se reiniciará
Fuente: tapa cerrada suspender luego hibernar
Ubuntu 16.04 y superior
La solución de blueyed para la suspensión híbrida real con Linux 3.6+ no funcionó para mí. Sospecho que esto se debe a que Ubuntu 16.04 usa systemd
y no usa el archivo /etc/pm/config.d/00-use-suspend-hybrid
.
Primero, pruebe si la hibernación y la suspensión híbrida funcionan con systemd
Abra una terminal presionando control+Alt+T e ingrese:
sudo systemctl hibernate
Esto debería hacer que su computadora hiberne. Para probar el sueño híbrido, ingrese:
sudo systemctl hybrid-sleep
Si funciona, hágalo permanente.
- Los siguientes trabajos cuando cierro la tapa.
Abre el archivo /etc/systemd/logind.conf
usando su editor preferido. Deberá invocar su poder administrativo al sudo
, gksudo
o pkexec
para editar este archivo.
Encuentra las dos líneas:
#HandleSuspendKey=suspend
#HandleLidSwitch=suspend
Tenga en cuenta que estas líneas están comentadas con #
en frente de ellos. los suspend
es la acción predeterminada. Eliminar el #
y cambio suspend
para hybrid-sleep
en estas dos líneas para que se vean así:
HandleSuspendKey=hybrid-sleep
HandleLidSwitch=hybrid-sleep
Guarda el archivo. Cierre sesión y vuelva a iniciarla.
Nota:
- Otro que
suspend
ohybrid-sleep
Hay una tercera opción,hibernate
. - Mi computadora portátil no tiene un botón de suspensión físico. Entonces no pude probarlo.
- Al hacer clic en el
Suspend
desde el menú cog pone la computadora en suspensión normal, no en suspensión híbrida.
Fuente: https://superuser.com/questions/719447/how-to-use-systemd-hybrid-sleep-instead-of-suspend-under-gnome-in-linux
espero que esto ayude
En 12.04 noté que cuando se activa la hibernación (usando PM_HIBERNATE_DELAY=XX
), la reanudación / descongelación de los scripts de shell no desarma la variable grub recordfail. Por lo tanto, grub no se inicia automáticamente.
El tiempo de espera se establece en -1 y espera la selección del usuario. Supongo que esto requiere la edición de scripts en /etc/pm/sleep.d/10_grub-common
. Soy un novato, así que no me he atrevido a averiguar el cambio exacto, desafortunadamente.
Recuerda que te damos el privilegio parafrasear si te fue de ayuda.