Ubuntu 16.04 no se cierra después de suspender o hibernar

14

En realidad, mi pregunta puede parecer idéntica a esta en este foro (y también esta en otro lugar ); de hecho, la pregunta es la misma, pero la hago de todos modos porque puedo dar más información y porque probé alguna solución encontrada en la web (posiblemente empeorando las cosas).

Solía ​​hibernar Ubuntu 15.10 (cerrando la tapa). Ahora que lo actualicé a 16.04 (pensé que era algo bueno, ya que esta versión es LTS, a diferencia de la 15.10), ya no puedo usar la hibernación (¡ni la suspensión!): Si trato de usarla, Ubuntu no ' t se apaga, solo la pantalla se apaga, el LED de encendido está encendido y no puedo hacer nada más que apagarlo manualmente (presionar prolongadamente el botón de encendido). Cuando lo enciendo de nuevo, veo las siguientes líneas

ingrese la descripción de la imagen aquí

entonces Ubuntu arranca.

Desde aquí lo intenté con

sudo -s
echo shutdown > /sys/power/disk
echo disk > /sys/power/state

y

sudo -s
echo platform > /sys/power/disk
echo disk > /sys/power/state

Solo el primero funcionó parcialmente y solo una vez: por parcialmente quiero decir que después del brutal cierre la sesión se recuperó.

Entonces traté de seguir esta sugerencia . No entendí los comentarios escritos después de los comandos, así que literalmente ingresé los comandos tal como están (pensando que habría ocurrido un error como "este comando / carpeta no existe" si hubiera algo que sustituir en los comandos ):

EDITAR

cat /proc/meminfo
sudo swapoff -a
sudo dd if=/dev/zero of=/swapfile bs=1024 count=8M
sudo chmod 600 /swapfile && sudo mkswap /swapfile && sudo swapon /swapfile
sudo -b gedit /etc/fstab
free -m
swapon

mount | grep " / "
sudo blkid -g
sudo blkid
sudo filefrag -v /swapfile | grep "First block:"
sudo filefrag -v /swapfile
echo "resume=UUID=cdXX--X18 resume_offset=66050" | sudo tee /etc/initramfs-tools/conf.d/resume
sudo -b gedit /boot/grub/menu.lst
sudo -b gedit /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="... resume=UUID=cdXX--X18 resume_offset=66050"
sudo update-grub -y
sudo update-initramfs -u

Tal vez esta ha sido una idea terrible, ya que ahora entiendo esto.

IMG:

Al final encontré la pregunta vinculada anteriormente y fui aquí , pero no sé qué hacer.

EDITAR 2 Por el momento si entro

...$ sudo swapon -s

No obtengo absolutamente nada

...$
Enrico Maria De Angelis
fuente
Tal vez sea por el BIOS. En mi BIOS, voy a Administración de energía y debería haber una opción sobre qué hacer al suspender. Normalmente el mío es S1 pero S3 es la cosa.
dat tutbrus
Apuñala en la oscuridad aquí, pero debes investigar la configuración de tu BIOS y revisarla. Saca tu manual y revísalo. He tenido innumerables problemas en el pasado que han tenido un interruptor de BIOS como la solución.
Jonathan
1
Deshacer la muy mala idea. Esta fue una prueba de concepto de cómo hacer que Ubuntu use el espacio de intercambio para la hibernación. Como root con sudo, elimine la última línea agregada /etc/initramfs-tools/conf.d/resumey las dos estrofas de reanudación agregadas etc/default/grub, ejecute las dos últimas líneas para actualizar grub y el initrd. Eliminar / intercambiar archivos. Ejecutar sudo systemctl unmask sleep.target suspend.target hibernate.target hybrid-sleep.target. Pruebe cualquiera de estos objetivos con sudo systemctl suspend. ¿Lo que pasa?
emk2203
Al final decidí reinstalar ubuntu 15.10. Ahora la hibernación funciona de nuevo. Tal vez instalaré 16.04 en otra partición. Cuando lo haga, me referiré a esta pregunta y respuestas.
Enrico Maria De Angelis

Respuestas:

6

Obligación de hibernar para apagar la máquina:

Después de buscar por mucho tiempo una respuesta a esto que realmente abordara el problema (no relacionadas), encontré un consejo aquí que hizo el trabajo por mí:

Cree un archivo en el pmdirectorio de configuración:

sudo vim /etc/pm/config.d/hibernate_mode

que establece la variable HIBERNATE_MODEasí:

HIBERNATE_MODE="shutdown"

Después de hacer esto, hibernate apagó la máquina al finalizar como se esperaba. Una explicación de lo que HIBERNATE_MODEhace la configuración está en el manual de pm-hibernate :

Método predeterminado para apagar el sistema cuando hiberna. Si no se establece, el sistema usará el valor predeterminado del núcleo como valor predeterminado. Verifique / sys / power / disk para ver los valores válidos. El valor predeterminado estará rodeado de [corchetes].

Mi valor predeterminado en ese archivo era platform. Establecer la variable anterior para shutdownanular esto y obtener lo que queremos que suceda.

Información y consejos relacionados para que la hibernación funcione correctamente:

En cuanto a esos "problemas relacionados", todo el mundo parece tener problemas de hibernación y depuración rápida:

  1. Verifique que el comando sudo pm-hibernaterealmente haga algo. Si no, ninguno de estos otros consejos hará alguna diferencia. Si no funciona, asegúrese de que 1) el tamaño de su partición de intercambio sea mayor que el de su RAM y 2) el arranque seguro esté deshabilitado en su BIOS.

  2. Solo una vez que ese comando funcione, considere integrar la hibernación en su sistema como desee. Un par de comunes:

    • Agregue hibernación al menú de Ubuntu: esta parece ser la mejor respuesta para mí. La documentación oficial también tiene una versión ligeramente diferente.
      Nota: una vez que se agrega hibernación al menú de Ubuntu, es posible que también deba corregir la llamada alternativa a sudo systemctl hibernate. Aparentemente, (al menos para Ubuntu 16.04) la opción de menú de Ubuntu llama en sudo systemctl hibernatelugar de sudo pm-hibernate. systemctl hibernatefue arreglado para mí agregando el siguiente contenido al archivo /etc/systemd/sleep.conf:

      [Suspender]
      HibernateMode = apagado

      Si el archivo aún no existe, puede crearlo. Más información aquí .

    • Cambie el comportamiento del botón de encendido (de forma predeterminada se muestra en el menú interactivo): para cambiarlo a hibernación directa o apagado, debe modificar la entrada de configuración asociada . Muchas otras respuestas pasan por el camino de la GUI si eso flota su bote. Para ver las opciones disponibles usegsettings range org.gnome.settings-daemon.plugins.power button-power

BT
fuente
2

Al ver su última imagen y EDITAR 2 , puedo entender que Ubuntu no puede encontrar una Partición de intercambio en su sistema. Por lo tanto, le sugiero que cree una partición Swap igual o mayor que el tamaño de su RAM e intente nuevamente ejecutando

sudo pm-hibernate

Puedes crear una partición de intercambio usando GParted, ejecuta esto para instalarlo

sudo apt-get install gparted
DigiGoon
fuente
2

Tuve el mismo problema después de actualizar de 15.10 a 16.04:

  • Cerrar la tapa no hizo nada
  • La suspensión manual con el elemento del menú en la bandeja del sistema resultó en un estado medio suspendido con la única salida para reiniciar el sistema.

Resolví estos problemas por

  1. actualizar el kernel a 4.4.8 (después de que esta suspensión del menú funcionó para mí)
  2. Agregar la línea HandleLidSwitchDocked=suspenda /etc/systemd/logind.conf (que hizo que la tapa volviera a funcionar).

Creo que ambos problemas son errores que deben corregirse ( https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1574120 ).

pingüino
fuente
¿Resolvió esto el problema solo para la suspensión o también para la hibernación?
Enrico Maria De Angelis
0

Hibernate ha sido deshabilitado por defecto.

Prueba esto

sudo pm-hibernate

Si la prueba de hibernación funciona, puede continuar usando el comando sudo pm-hibernate cuando quiera hibernar.

También puede habilitar la opción de hibernación en los menús. Para hacerlo, use su editor de texto favorito para crear /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla. Agregue lo siguiente al archivo y guarde:

[Re-enable hibernate by default in upower]
Identity=unix-user:*
Action=org.freedesktop.upower.hibernate
ResultActive=yes

[Re-enable hibernate by default in logind]
Identity=unix-user:*
Action=org.freedesktop.login1.hibernate;org.freedesktop.login1.hibernate-multiple-sessions
ResultActive=yes

Lea más sobre Hibernation 16.04 desde este enlace

Para desconectar

sudo shutdown -h now

Para reiniciar

sudo shutdown -r now
Jarvis
fuente
Como escribí, sudo pm-hibernate solía funcionar muy bien antes de actualizar el formulario 15.10 a 16.04LTS. Entonces, el problema debería referirse a la versión 16.04LTS. Además, tal vez hice algo muy incorrecto siguiendo las instrucciones sin entenderlas. ¿Podrías ayudarme a corregir estos problemas?
Enrico Maria De Angelis