Sueño híbrido indirecto
Este es el método más antiguo: primero suspender y luego despertar para hibernar después de un retraso (15 minutos por defecto). Úselo con un kernel de Linux anterior a 3.6, o si le gusta, ya no usa energía después de 15 minutos.
Agrega 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 núcleo Linux 3.6, puede usar lo siguiente, que se suspenderá tanto en el disco como en la RAM desde el principio.
Agrega 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 se suspenderá en la RAM, con los beneficios de que la reanudación siempre será rápida (siempre que la batería no se agote) y que la máquina no se despierte por un corto 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).
resume
discusión/etc/default/grub.conf
. También como usuario de nvidia tuve que configurarnomodeset
. Por lo que resulta entrada de GRUB en mi caso es:GRUB_CMDLINE_LINUX_DEFAULT="nomodeset resume=UUID=uuidofswappartition"
. No se olvidegrub-update
. Y también algunos módulos deben descargarse para crear un archivo/etc/pm/config.d/00-unload_modules
con líneaSUSPEND_MODULES="ath5k r8169"
y solo para asegurarse de que también10-use-suspend-hybrid
Ubuntu 18.04 una opción cronometrada
En Ubuntu 18.04 tiene una nueva opción temporizada. En
systemd
está disponible un nuevo modosuspend-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á muy 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:Esto pasará del sueño a hibernar después de 1 hora de sueño. Puede editar
HibernateDelaySec
para cambiar el retraso para hibernar.Primero, pruebe si suspender-luego-hibernar funciona usando systemd
Abra una terminal presionando Ctrl+ Alt+ Te ingrese:
Si funciona hazlo permanente.
Abra el archivo
/etc/systemd/logind.conf
con su editor preferido. Usted tendrá que invocar el poder administrativo porsudo
,gksudo
opkexec
para editar este archivo.Encuentra las dos líneas:
Tenga en cuenta que estas líneas se comentan
#
delante de ellas. Lasuspend
es la acción predeterminada. Elimine#
y cambiesuspend
asuspend-then-hibernate
en estas dos líneas para que se vean así:Guarda el archivo. Cierre sesión y vuelva a iniciar sesión o reinicie el
logind
servicio con el comando:¡advertencia! tu sesión de usuario se reiniciará
Fuente: tapa cerrada, luego suspensión, hibernación
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 hibernate y hybrid-sleep funcionan usando systemd
Abra una terminal presionando Ctrl+ Alt+ Te ingrese:
Esto debería hacer que su computadora hiberne. Para probar el sueño híbrido, ingrese:
Si funciona hazlo permanente.
Abra el archivo
/etc/systemd/logind.conf
con su editor preferido. Usted tendrá que invocar el poder administrativo porsudo
,gksudo
opkexec
para editar este archivo.Encuentra las dos líneas:
Tenga en cuenta que estas líneas se comentan
#
delante de ellas. Lasuspend
es la acción predeterminada. Elimine#
y cambiesuspend
ahybrid-sleep
en estas dos líneas para que se vean así:Guarda el archivo. Cerrar sesión y volver a iniciar sesión.
Nota:
suspend
ohybrid-sleep
hay una tercera opción,hibernate
.Suspend
menú del engranaje, la computadora se pone 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
fuente
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 editar algunas secuencias de comandos
/etc/pm/sleep.d/10_grub-common
. Soy un novato, así que desafortunadamente no he podido averiguar el cambio exacto.fuente
Esta pregunta surge con suficiente frecuencia en Google que creo que vale la pena toparse. El método descrito aquí es (imo) no suspensión híbrida. Es "hibernar después de X minutos en suspensión". La suspensión híbrida verdadera escribe su RAM en el disco y luego pasa a un estado de baja potencia (modo de suspensión). Si bien lleva más tiempo, la reanudación es instantánea mientras la máquina tiene batería restante, de lo contrario se reanuda desde el disco duro. Este comportamiento es lo que la mayoría de la gente conoce como suspensión híbrida, y se usa por defecto en las computadoras portátiles más nuevas de Windows y Mac.
Aquí se explica cómo habilitar la suspensión híbrida real :
Este método funciona para mí en mi Sony Vaio SVS.
PD: Reproduciendo el parche aquí en caso de que el archivo se elimine en el futuro:
Fuentes:
fuente
Hay otra solución sin agregar ningún archivo en config.d, simplemente usando wakealarm en / sys / class / rtc / rtc0. Utilice el código obsoleto en las funciones pm (/ usr / lib / pm-utils) después de los comentarios # dado que el núcleo no admite directamente ..., (porque el núcleo actual (después de 3.6 algo) sí admite directamente). Revierta ese código y coloque la parte do_suspend () en lugar de do_suspend_hybrid (), y use el parche para las funciones pm (hasta que lo arreglen).
Código obsoleto (suspender e hibernar cuando se invoca suspend_hybrid):
Recomendado. Aún más fácil de usar uswsusp mientras que al mismo tiempo maximiza el beneficio de s2both, es decir, s2both cuando se suspende. Ponga el código revertido en do_suspend () parte del módulo uswsusp (/usr/lib/pm-utils/module.d).
Código revertido (suspend_hybrid cuando se llama a suspender):
Con uswsusp, podemos ver el progreso de la suspensión / hibernación y el proceso inverso que se muestra en el texto, incluso podemos abortarlo presionando la tecla de retroceso. Sin uswsusp, suspender / hibernar simplemente aparece-desaparece de manera molesta, especialmente cuando se activa wakealarm y ejecuta hibernate (s2disk en uswsusp). Establezca el período de sueño antes de hibernar en el lugar habitual en el archivo pm-functions.
Aquí está el mod uswsusp: (recuerde, este módulo se llama desde las funciones pm, por lo que las variables insertadas son las mismas)
fuente
La respuesta de user68186 para Ubuntu 16.04 no funcionó para mí. Sin embargo, la solución aquí sí.
Primero, asegúrese de que la hibernación funcione. Luego
En mi configuración de energía, estas opciones aparecen en blanco, pero funcionan según lo previsto.
fuente
En Ubuntu 18.04 es mucho más fácil. En systemd está disponible un nuevo modo suspender-luego-hibernar . Para comenzar a utilizar esta función, debe crear un archivo /etc/systemd/sleep.conf con el siguiente contenido:
Entonces puedes probarlo por comando:
(puede editar HibernateDelaySec para reducir el retraso para hibernar). Si todo funciona bien, puede cambiar la Acción de cierre de la tapa, para hacerlo debe editar el archivo /etc/systemd/logind.conf
Necesita encontrar la opción HandleLidSwitch = , descomentarla y cambiar a HandleLidSwitch = suspender-luego-hibernar . Luego debe reiniciar el servicio de inicio de sesión (¡wirning! Su sesión de usuario se reiniciará) mediante el siguiente comando:
¡Eso es todo! Ahora puedes usar esta bonita función.
fuente