Kubuntu 20.04 en Macbook Air se suspende bien pero tarda demasiado en activarse cada vez, unos 20 segundos.
Parece ser un caso de suspensión/suspensión normal, no de hibernación, dado que systemctl suspend
desencadena el mismo comportamiento.
corriendo eso, despertando y luego corriendo
journalctl -b --since "1min ago"
yo obtengoeste(en Pastebin). allí no se menciona ninguna hibernación.
En cuanto a memoria y swap, creo que hay suficiente RAM:
~$ free -h
total used free shared buff/cache available
Mem: 3,8Gi 703Mi 1,7Gi 162Mi 1,4Gi 2,7Gi
Swap: 2,0Gi 440Mi 1,6Gi
Respuesta1
Respuesta corta:
En 22.04:
echo deep | sudo tee -a /sys/power/mem_sleep
Si lo anterior no funciona en 22.04 o si esto sucede en 22.10, 23.04 o posterior:
echo s2idle | sudo tee -a /sys/power/mem_sleep
La solución puede dejar de funcionar después de las actualizaciones del kernel e incluso después de reiniciar, por lo quese puede ejecutar un script con el comando necesario al reiniciar.
La primera parte es un poco contradictoria, porque deep
siempre debería desencadenar el despertar largo y s2idle
el corto, como se dijo.aquí. Probablemente había algo con errores en mi 22.04, donde al menos aparentemente a veces ocurría lo contrario.
Respuesta larga:
Muy poco después de haber publicado esta pregunta, me topé con una solución que parecía funcionar: en ubuntuforumsaquí, con más consejos en respuesta a eso,aquí.
Realmente no entiendo cómo funcionó esto, podría haber un error involucrado. Esa publicación dice que la solución es cambiar /sys/power/mem_sleep
de s2idle
a deep
. Eso no me quedó claro porque al buscar ese archivo contenía esta única línea:
s2idle [deep]
Lo que significa quedeep
ya fue seleccionado(!!) — sin mencionar que, como se dijo anteriormente, era de esperar el comportamiento opuesto. —
He entendido lo que hace el comando después de preguntar al respecto.aquí.
Como se indica en los comentarios iniciales de ubuntuforums, no he intentado cambiar ese archivo como tal, pero he usado el comando (basado también en el segundo comentario):
echo deep | sudo tee -a /sys/power/mem_sleep
Sin embargo, mirando de nuevo ese archivo, parecía sin cambios. Incluso después del reinicio estaba quieto s2idle [deep]
, pero en ese momento elel despertar de la suspensión fue instantáneo! (Lo cual, hasta donde yo sé en retrospectiva, fue, como dije, lo contrario de lo que se esperaba: ¡ deep
debería significar un largo despertar!)
Parece que el archivo no fue modificado por ese comando, peroalgofue cambiado - relacionado con ese archivo o no.
Cambiando eso [s2idle] deep
con un comando correspondiente echo s2idle | sudo tee -a /sys/power/mem_sleep
(para investigar esto un poco, como se discutió en los comentarios relacionados con la pregunta vinculada), el problema de despertar de 20 segundos de duración nonoreaparecer.
Tal vez estuvo en juego algún error que no puedo rastrear.
Después de algunas actualizaciones del kernel, el problema inicial volvió a aparecer y se solucionó de la misma manera. (De hecho, el archivo /sys/power/mem_sleep
ya estaba en la forma en que se supone que activa el comando, pero este último es necesario de todos modos).
Actualización (24 de octubre de 2022):
Después de una nueva actualización, la solución anterior ya no funcionó, pero sí la solución opuesta: echo s2idle | sudo tee -a /sys/power/mem_sleep
, lo que equivale a hacer lo mismocontrarioa lo que mis fuentes me impulsaron a hacer.
Eso me pareció extraño en ese momento, pero ahora entiendo que, de hecho, este era el comportamiento esperado desde el principio: lo que sucedió antes fue extraño y tenía errores, y la nueva actualización lo había solucionado; s2idle
Se supone que debe demostrar el rápido despertar.
Después de actualizar a la versión 22.10 "normal", el problema pareció solucionado por un tiempo, mientras que el archivo /sys/power/mem_sleep
parecía restablecido a deep
. Pero el problema del retardo de activación de 20 segundos volvió a aparecer y se solucionó como se dijo anteriormente en la Actualización 2. Se confirmó nuevamente después de una instalación limpia de Kubuntu 22.10: después de tolerar el problema durante un mes (solo para ver si se podía solucionar). de lo contrario), el primer comando no ayudó, el segundo sí (febrero de 2023).
Debido a que este problema continúa (por ejemplo, en 23.04, y reaparece con bastante frecuencia entre actualizaciones), he configurado un procedimiento más rápido para ejecutar ese comando desde el Lanzador de aplicaciones creando un archivo de script fix_suspend
con el formato:
#!/bin/sh
echo s2idle | sudo tee -a /sys/power/mem_sleep
y un archivo ~/.local/share/applications/Fix suspend.desktop
que contiene la línea (adaptado para Plasma):
Exec=pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY KDE_SESSION_VERSION=5 KDE_FULL_SESSION=true /path/to/fix_suspend
Después de un tiempo, la solución dejó de funcionar después del reinicio, por lo que tuve que ejecutar el script al reiniciar como se indica en la respuesta breve al principio.