Estoy ejecutando 18.04 e intento que mi sistema use hibernate en lugar de pm-hibernate cuando se cierra la tapa de mi computadora portátil.
Tengo una partición de intercambio de 20 GB en 16 GB de RAM, un espacio tan amplio.
Cuando uso pm-hibernate, aparece un pequeño error de apci que aparece muy rápidamente cuando hiberna y restaura que no puedo leer. Si bien la hibernación funciona en el sentido de que parece volcar en el disco y restaurar desde el disco, parece ser un estado de suspensión en el sentido de que usa la batería a una velocidad normal, en lugar de apagarse por completo y dejar de usarla.
Sin embargo, cuando uso la hibernación instalada por:
sudo apt-get install hibernate
Y correr:
sudo hibernate
Y restaurando a partir de eso, noto que mi máquina se apaga, los LED dejan de latir, etc., y el uso de la batería se pone en cero. Este es el comportamiento que me gustaría ver cuando mi tapa se cierra, no el comportamiento de suspensión que usa la batería como si estuviera haciendo un uso activo de la computadora.
He seguido estas guías:
modificado
/etc/systemd/logind.conf
para incluir:
#HandleLidSwitch=suspend
HandlelidSwitch=hibernate
Y agregué mi cambio de partición de intercambio en:
/etc/default/grub
Para incluir el enlace resume = correcto, y solicitó s2disk específicamente con:
sudo cat /etc/pm/config.d/00sleep_module
SLEEP_MODULE="swsusp"
He leído los siguientes askubuntus relacionados:
- Hibernar en tapa cerrada
- Ubuntu 17.04 hibernate funciona pero pm-hibernate no
- La computadora portátil bloquea la pantalla en lugar de hibernar
- ¿Cómo hacer que Linux prefiera sudo pm-hibernate sobre systemctl hibernate por defecto?
- El modo de suspensión consume tanta batería como cuando se usa la computadora portátil
- Reemplazar el método de hibernación predeterminado por s2disk
También he leído estos enlaces en los foros de Lenovo y Arch:
- https://forums.lenovo.com/t5/Linux-Discussion/X1-Carbon-Gen-6-cannot-enter-deep-sleep-S3-state-aka-Suspend-to/td-p/3998182/page/ 4 4
- https://forums.lenovo.com/t5/Linux-Discussion/X1-Gen6-Massive-battery-drain-in-suspend-No-deep-sleep-support/mp/3997789
- https://wiki.archlinux.org/index.php/Lenovo_ThinkPad_X1_Carbon_(Gen_6)
- https://wiki.archlinux.org/index.php/Power_management/Suspend_and_hibernate
¿Cómo puedo asegurarme de que la hibernación llamada por lid-close sea hibernate no pm-hibernate?
Actualizar
Esto sigue siendo un problema y todavía hace que Carbon X1 6th gen sea básicamente inútil con ubuntu. Cualquier solución que pueda solucionar esto y tal vez agregar un mensaje de inicio de sesión adicional podría ser casi tan buena como una máquina Windows de hace 4 años ...;)
fuente
/var/log/pm-suspend.log
. Gracias./usr/sbin/pm-hibernate
a/usr/sbin/pm-hibernate.OLD
. Luego crea/usr/sbin/pm-hibernate
bash scxript que contiene elhibernate
comando. Usetype -a hibernate
para encontrar la ruta exacta para el comando. No existe en mi sistema porque no lo he instalado.Respuestas:
También odio tener que pasar una URL, así que copiaré y pegaré la información y adjuntaré la página web al final. No veo esto en tu enlace.
Mientras leía esto, noté que la hibernación puede no funcionar si formateó con el sistema de archivos btrfs. Entonces, ¿cómo se habilita permanentemente la hibernación en Ubuntu 16.04?
Para hacer que el proceso de hibernación de Ubuntu sea permanente, debe crear un nuevo archivo utilizando un editor de texto en la línea de comando:
El sistema requiere privilegios de root para habilitar la opción de hibernación, por lo tanto, se debe agregar el comando sudo. Puede usar otros editores de texto como vi, gedit, emacs, etc.
Ahora, copie y pegue el siguiente texto en un archivo (use el mouse; los atajos de teclado no funcionarán):
Presione CTRL+ Opara guardar y CTRL+ Xpara salir del editor nano.
Ahora, cierre sesión en su sistema y luego vuelva a iniciar sesión. Ahora verá una opción de hibernación, junto con las opciones Apagar y Suspender.
El enlace para su conveniencia es: https://fossbytes.com/enable-disable-hibernate-option-ubuntu-power-menu/
fuente
Dos opciones
La primera opción (la segunda lista) es revisar los
journalctl
posibles mensajes de error relacionados con la hibernación. Si la primera opción no produce resultados, la segunda opción es crear un script de envoltura que reemplacepm-hibernate
con `hibernate.Crear secuencia de comandos Wrapper
Crear un script de envoltura permite
hibernate
reemplazarpm-hibernate
.Los comandos de buscar directorios se encuentran en
Antes de crear un script de envoltura, necesita saber en qué directorios residen los comandos
hibernate
ypm-hibernate
. Use estos dos comandos:El script de contenedor que desea crear será
/usr/sbin/pm-hibernate
. No tengo elhibernate
paquete instalado, por lo que la primera búsqueda solo encuentra una utilidad de Windows. De acuerdo con la lista de archivos del paquete , debe revelar/usr/sbin/hibernate
junto con un par de otros archivos.Copia de seguridad del archivo original
Primero queremos hacer una copia de seguridad en línea del archivo original:
Luego borre el archivo original:
Crear script de envoltura
Nota: en lugar de un guión envoltorio muchos les resulta más fácil crear un enlace simbólico para
pm-hibernate
ahibernate
: Cómo crear un suave o enlace simbólico?Me gusta usar
gedit
para editar, pero puede reemplazarlo connano
o con elvim
editor que prefiera:Aparecerá un archivo vacío. Pegar en las siguientes líneas
Convierta script de envoltura a ejecutable
Actualmente, el script de envoltura es un archivo normal. Necesitamos convertirlo en un objeto ejecutable:
Ahora tenemos un script de contenedor operativo, por lo que cada vez
pm-hibernate
se llamahibernate
ejecuciones en su lugar. Sin embargo, como se menciona en la parte superior, debe revisarjournalctl
primero (descrito a continuación) antes de crear un script de envoltura.revisión
journalctl
Puede
grep
los mensajes de hibernación enjournalctl
busca de posibles problemas.No uso hibernate pero uso suspender. El siguiente comando me permite ver todos los mensajes relacionados con los
suspend
que reemplazaríahibernate
:fuente
sudo -H /usr/sbin/pm-hibernate
abre un editor? Estoy tratando de seguir las instrucciones, no quiero hacer suposicionessudo -H gedit /usr/sbin/pm-hibernate
como acabo de cambiar.