GNU/Linux >> Tutoriales Linux >  >> Ubuntu

¿Hibernación en 18.04?

Esta pregunta ya tiene respuestas aquí :¿Cómo depurar la suspensión?

(3 respuestas)
Cerrado hace 2 años.

Hibernación en mi Ubuntu 18.04 no funcionó de fábrica (me refiero a sudo systemctl hibernate ). Así que hice varios intentos de arreglar eso hace algún tiempo y lamentablemente no puedo recordar exactamente lo que hice.

Pero ahora:

sudo hibernate

hiberna con éxito el sistema y en el próximo arranque el estado del sistema se restaura con éxito, excepto que no aparece la pantalla de inicio de sesión, lo cual no es bueno. Y si tengo muchas aplicaciones ejecutándose, después de una reanudación de este tipo, el sistema puede congelarse hasta por 20 minutos (veo las ventanas de las aplicaciones, puedo mover el puntero del mouse, pero el sistema no responde a los clics), pero luego funciona normalmente.

sudo systemctl hibernate

hace algo, apaga el sistema, pero en el siguiente arranque veo varios mensajes eliminar nodo huérfano y finalmente arranque limpio, como si no hubiera hibernación.

Por favor, ayúdame a aclararlo y habilitar la hibernación en la interfaz gráfica de usuario.

Al mismo tiempo, suspender en la memoria y reanudar desde la memoria funciona bien sin problemas, incluida la pantalla de inicio de sesión en la reanudación .

La pregunta principal que tengo es:¿Cuál de los dos mecanismos hibernate o systemctl hibernate debo usar con 18.04?

Detalles

El sistema tiene una partición de intercambio

$ lsblk | grep SWAP
└─sda5   8:5    0  16,8G  0 part [SWAP]
$ free -m
              total        used        free      shared  buff/cache   available
Mem:          15894        3386        9945        1311        2561       11848
Swap:         17163        2150       15013

y en /etc/default/grub tiene

GRUB_CMDLINE_LINUX_DEFAULT=”quit splash resume=/dev/sda5″
GRUB_CMDLINE_LINUX=””

y

$ cat /sys/power/state
freeze mem disk
$ cat /sys/power/disk
[platform] shutdown reboot suspend test_resume

[SOLUCIONADO] 🙂

Finalmente logré llevar la hibernación al trabajo. Mientras no tenga un conocimiento profundo del tema, prefiero describir lo que hice. Entonces

  1. Eliminó por completo pm-utils y uswsusp , luego sudo update-initramfs -c -k all y reboot

Después de este intento de hibernación, terminó en un inicio limpio en lugar de reanudar. Entonces

  1. Reinstalado systemd luego cambió los nombres de los dispositivos a UUID para

en /etc/default/grub

GRUB_CMDLINE_LINUX_DEFAULT=”resumen de inicio silencioso=UUID=2c8ec945-6967-4538-93ef-49eb4df6f2a1″

en /etc/initramfs-tools/conf.d/resume

RESUME=UUID=2c8ec945-6967-4538-93ef-49eb4df6f2a1

entonces

$ sudo update-initramfs -c -k all
$ sudo update-grub
$ reboot

Después de esto sudo systemctl hibernate y la reanudación tuvo éxito pero sin la pantalla de inicio de sesión, por lo que

  1. En Configuración (gui) para la acción del botón de encendido asigné "Hibernar"

Ahora, cuando presiono el botón de encendido, el sistema hiberna y luego se restaura a través de la pantalla de inicio de sesión.

Muchas gracias a todos los involucrados

UPD:ahora encontré una solución aún mejor:use el archivo de intercambio

Verifiqué esto en una nueva instalación de escritorio de Ubuntu 18.10 y supongo que también funciona con una nueva instalación de escritorio 18.04, ya que ambos usan el archivo de intercambio. de forma predeterminada, es decir, no asignan la partición de intercambio por defecto. Pero el archivo de intercambio predeterminado es de 2 Gb, independientemente del tamaño de la memoria del sistema, por lo que debe aumentarse.

La descripción completa está, por ejemplo, aquí.

Mejor respuesta

Hay dos excelentes respuestas a las preguntas sobre la hibernación con un poco más de detalle aquí:

Pequeño Kami del Bosque Antiguo La respuesta a:Ubuntu 18.04 no se puede reanudar después de hibernar

Relacionado:¿Deja-dup sigue pidiendo contraseña?

Zana La respuesta de:¿Cómo puedo hibernar en Ubuntu 16.04?

Normalmente no uso Hibernate, pero intenté usarlo recientemente mientras buscaba un error y me di cuenta de que para trabajar en 18.04 necesita agregar una línea a /etc/default/grub para indicarle dónde continuar.

El 16.04 no fue necesario que agregara el parámetro 'resume=' a grub, así que creo que el cambio ocurrió hace relativamente poco tiempo.

Probablemente sea mejor usar el UUID (Universally Unique Identifier) ​​y puede usar el programa 'Disks' para averiguar el UUID de su partición de intercambio y simplemente copiarlo y pegarlo desde allí.

Usa sudo nano /etc/default/grub para agregar a la línea

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

para que tenga el parámetro adicional del núcleo resume=UUID=theUUIDofyourswappartition entre comillas.

El tuyo será diferente, pero en mi caso la línea es:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash resume=UUID=549816d3-0ed8-44fa-a7e4-968db519a141"

(salir de nano usando Ctrl +x , presione y para hacer los cambios y ingresar para aceptar el nombre del archivo)

Debes ejecutar sudo update-grub para que sus cambios sean efectivos, pero la próxima vez que reinicie debería poder hibernar sin problemas.

Hasta donde yo sé, la funcionalidad de hibernación es reanudar donde lo dejó, por lo que no está diseñado para ir a la pantalla de inicio de sesión y solicitar su contraseña.

No sé si puede cambiarlo para que le pida su contraseña, pero podría valer la pena hacer una pregunta por separado para ver si alguien más sabe qué hacer.

Archivo de intercambio

Si tiene un archivo de intercambio en lugar de una partición de intercambio separada, también debe agregar el resume_offset= adicional parámetro.

Arch Linux Wiki tiene una gran sección sobre esto, pero básicamente su archivo de intercambio debe estar en la partición principal en la que tiene instalado Ubuntu.

Para averiguar el desplazamiento a poner en resume_offset= puedes abrir una terminal y escribir

sudo filefrag -v /swapfile

obtendrás algo parecido a esto:

ext:     logical_offset:        physical_offset: length:   expected: flags:
   0:        0..   32767:      34816..     67583:  32768:            
   1:    32768..   63487:      67584..     98303:  30720:            
   2:    63488..   96255:     100352..    133119:  32768:      98304:
   3:    96256..  126975:     133120..    163839:  30720:   
etc...

y quiere el primer número, en la primera línea que está debajo de physical_offset (en este caso 34816 )

Entonces, solo como ejemplo, usando el UUID y el desplazamiento físico de mi máquina con un archivo de intercambio, cambié el GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" línea para ser

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash resume=UUID=09e601cd-5bac-491a-9115-fda1b2eb4664 resume_offset=34816"

No olvides ejecutar sudo update-grub y reinicie, pero después de eso, la hibernación debería funcionar correctamente.


Ubuntu
  1. ¿Cómo degradar a Subversion 1.6?

  2. N ¿Alternativa a Gnome-terminal?

  3. ¿Sin red después de la actualización a 16.04?

  4. ¿Cómo instalar Graphviz 2.29 en 12.04?

  5. Bucle de inicio de sesión de Ubuntu 14.04?

Cómo crear un usuario Sudo en Debian

Cómo instalar Tomcat 9 en CentOS 7

Instalación de Ubuntu 20.04 Tomcat

Comando Sudo en Linux

Cómo Hibernar Ubuntu 20.04 LTS fosa focal

sudo agradable o sudo agradable?