¿Cómo habilitar la hibernación?

424

En Ubuntu 12.04 y versiones posteriores, la hibernación se ha deshabilitado de forma predeterminada en el kit de políticas . ¿Cómo puedo habilitar esto de nuevo?

Dima
fuente
11
¿Por qué lo deshabilitaron en primer lugar? ¿Tiene algo que ver con perder audio?
Ali
2
para 13.10 ver askubuntu.com/questions/361734/…
rogerdpack
44
Para responder a la pregunta de Ali, se desactivó porque muchas personas tuvieron problemas de hibernación debido a problemas con sus particiones de intercambio. Sin embargo, en Ubuntu 14.10 Utopic Unicorn, hay planes para que la hibernación funcione para siempre, con un botón y todo.
John Scott
1
Para 15.04, es posible que necesite esta pregunta askubuntu.com/q/614662/178596
Wilf
Hibernate podría no funcionar cuando btrfsse usa la partición. Vea aquí askubuntu.com/questions/768136/…
Anwar

Respuestas:

334

Si esta respuesta no funciona en Ubuntu 13.10, vea aquí una respuesta alternativa


Puedes seguir la documentación oficial aquí . La hibernación se deshabilitó en 12.04 para máquinas que no están certificadas con Ubuntu.

Para habilitar la hibernación, debe probar si funciona correctamente ejecutándose sudo pm-hibernateen un terminal. El sistema intentará hibernar. Si puede iniciar el sistema nuevamente, entonces es más o menos seguro agregar una anulación.

Para hacerlo, comience a editar:

sudo nano /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla

Llénalo con esto:

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

O en 14.04 y posterior:

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

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

Guarde presionando Ctrl- Oluego entery luego salga de nano presionando Ctrl- X.

¡Reinicio e hibernación ha vuelto!

O ejecutar killall unity-panel-servicepara simplemente restablecer el menú.

Algunos usuarios deberán ejecutar sudo update-grubpara que la opción de hibernación esté disponible en el menú de encendido. Es posible que algunos usuarios también tengan que cerrar la sesión y luego iniciar sesión para que aparezca en el menú de encendido (superior derecho).

Dima
fuente
1
Esta solución también funciona en GNOME shell 3.4 con la extensión "Menú de estado alternativo".
Robert Wohlfarth
1
@ cuda.geek sí, ya no voy a molestarme con todo el gui, escribir este pequeño comando es más rápido (incluso más rápido con alias ...) :)
Aditya MP
15
De Verdad? ¿Es esta la versión más amigable para el usuario de cambiar una configuración tan simple? Cada día se pone más feo ...
Esteban
1
Gran tutorial! ¡Cambié de Windows a Ubuntu, y me encantó! ustedes son
geniales
8
No creo que ese fuera el punto de Esteban. No debería requerir magia arcana para habilitar la hibernación. Piense en algo en el directorio / etc / default donde cambia una línea de enable_hibernate = "false" a enable_hibernate = "true". Piense en tener un diálogo de sistema-> configuración que simplemente le permite encenderlo con una advertencia "esto puede no funcionar, es posible que su máquina no se active correctamente".
Scott Marlowe
47

Primero debe probar que su máquina admite hibernación. Pruébelo con el comando:

 sudo pm-hibernate
 # or for newer Ubuntus like 17.04
 sudo systemctl hibernate

Ubuntu 16.04 y superior

Para habilitar la interfaz, deberá ejecutar sudo nano /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pklay completar con:

[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

Ubuntu 14.04 y 15.04

Para habilitar la interfaz, deberá ejecutar sudo nano /etc/polkit-1/localauthority.conf.d/52-enable-hibernation.confUbuntu 14.04 y 15.04 y completar con:

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

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

Tiene varias estrofas, ya que puede tener múltiples usuarios (por lo que no depende de múltiples usuarios o upower como administrador en lugar de iniciar sesión1)

ps: última documentación oficial https://help.ubuntu.com/stable/ubuntu-help/power-hibernate.html

Morhook
fuente
1
Funcionó para mí en Ubuntu 15.04 , mientras que la respuesta original aceptada no.
Mike B.
@MikeB. Esto funcionó porque desde Ubuntu 15.04, el sistema central de Ubuntu comienza a usar systemd, un reemplazo más nuevo para el antiguo sistema de arranque. La última sección en el código anterior que tiene "logind" es para sistemas basados ​​en systemd. Espero que esto arroje algo de luz a su situación. : D
x__x
Trabajó para mí en Ubuntu 16.04 . El único problema fue el error de permiso denegado que resolví usando sudo.
Sandeep
El primer paso sudo pm-hibernateda como resultado command not found. También lo intenté sudo apt install sudo pm-hibernate, que tampoco está disponible. Esta es la versión Ubuntu 16.04.
LD James
Su respuesta debería aparecer en la parte superior de la lista, aunque tiene menos votos, es más significativo para los visitantes que usan el software actual.
WinEunuuchs2Unix
32

Además, para aquellos que desean desactivar el botón de suspensión (por varias razones), proceda de manera análoga ...

Elija cualquier nombre de archivo, pero este es detallado / convención:

sudoedit /etc/polkit-1/localauthority/50-local.d/com.ubuntu.disable-suspend.pkla

Llénalo con esto:

[Disable suspend by default]
Identity=unix-user:*
Action=org.freedesktop.upower.suspend
ResultActive=no

Ctrl+ O, Enter, Ctrl+X

No es necesario reiniciar, debería desaparecer tan pronto como ingrese al menú de apagado.

nacs
fuente
Quieres decir:ResultActive=yes
1
No, esto debería ser ResultActive=no. La respuesta especifica que esto para desactivar la suspensión.
Michael Mior
14

Una cosa más:

Cuando desee agregar la opción de hibernación al panel de XFCE , debe hacer clic con el botón derecho en su nombre (hacia arriba) y seleccionar properties.

Después de eso aparece una pantalla:

ingrese la descripción de la imagen aquí

Asegúrate de marcar Hibernate como lo hice yo.

mreq
fuente
14

Primero, le recomiendo que pruebe si su computadora portátil admite la hibernación, porque la razón por la cual la hibernación está desactivada de manera predeterminada es porque a veces tiene resultados fatales en algunas máquinas. Prueba tu máquina por

Ctrl+ Alt+ Ty luegosudo pm-hibernate

Su máquina debería hibernar. Despierte su máquina después de la hibernación y observe si se comporta mal o si actúa normalmente. Si experimenta alguna anormalidad después de la hibernación, le aconsejo que no continúe con el siguiente procedimiento. Sin embargo, si funciona bien, continúe activando la hibernación

sudo gedit /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla

Edite el archivo abierto y agregue estas líneas:

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

Después de esto, reinicie su máquina y, al iniciar sesión, debería ver una opción de hibernación en la esquina superior derecha de la configuración.

kelvinelove
fuente
¿Por qué la reversión?
fue un retroceso equivocado
kelvinelove
6

Si la respuesta con /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pklano funciona como en mi caso, no olvides eliminar el archivo:

sudo rm /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla

E intente usar TuxOnIce .


Primero asegúrese de tener suficiente intercambio. Debe ser del mismo tamaño o más grande que la cantidad de RAM. Usar comando

free

Intercambio de regla> Mem. Si este no es el caso, amplíe su tamaño de intercambio. Luego instale TuxOnIce por

sudo add-apt-repository ppa:tuxonice/ppa
sudo apt-get update
sudo apt-get install tuxonice-userui linux-generic-tuxonice linux-headers-generic-tuxonice

Entonces puede intentar hacer una prueba de hibernación ejecutada por:

sudo pm-hibernate

No olvides guardar tu trabajo antes de hacerlo.

Si todo salió bien, su computadora se apagará. Después de encenderlo, obtendrá su escritorio en el estado que dejó antes de la hibernación.

Dee
fuente
¡tuxonice también funciona para mí, mientras que la hibernación nativa de Ubuntu 14.04 falla por alguna razón!
Leszek
5

Habilitación de la hibernación con un script

He traducido las respuestas anteriores a los bashguiones. Esto hace que la instalación en múltiples máquinas sea menos tediosa.

Guión enable-hibernate:

#!/bin/bash
#http://askubuntu.com/a/94963/164341
cat << '_EOF_' |sudo tee /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla
[Enable Hibernate]
Identity=unix-user:*
Action=org.freedesktop.upower.hibernate
ResultActive=yes
_EOF_
clear
echo
echo 'Hibernate enabled.'
echo

Guión disable-suspend:

#!/bin/bash
#http://askubuntu.com/a/154821/164341
cat << '_EOF_' |sudo tee /etc/polkit-1/localauthority/50-local.d/com.ubuntu.disable-suspend.pkla
[Disable suspend by default]
Identity=unix-user:*
Action=org.freedesktop.upower.suspend
ResultActive=no
_EOF_
clear
echo
echo 'Suspend disabled.'
echo

Nota: No se olvide de chmod +xambos scripts para hacerlos ejecutables.

Serge Stroobandt
fuente
4

Un comando simple que hace exactamente lo mismo que la respuesta aceptada, excepto de forma no interactiva:

cat <<EOF | sudo tee /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla
[Re-enable hibernate by default]
Identity=unix-user:*
Action=org.freedesktop.upower.hibernate
ResultActive=yes
EOF
kiri
fuente
2

En 12.04, habilité con éxito la opción de hibernación en el menú indicador para hibernar. Pero aún así no pude reanudar con éxito la hibernación. Seguí estos pasos para solucionar este problema:

Habilitar Hibernate en 12.04

Para habilitar Hibernate, seguí esta respuesta de Dima.

Después de habilitar la hibernación, podría hibernar. Pero el problema es que no puedo reanudar con éxito la hibernación. Cada vez que inicio mi PC desde hibernación, arranca como un arranque normal. Entonces, tuve que hacer estas cosas para poder reanudar la hibernación.

Las soluciones para poder reanudar desde hibernar

Hay dos formas de arreglar esto.

1. Editando el /etc/initramfs-tools/conf.d/resumearchivo

  1. Primero obtenga el UUID de la partición de intercambio.

     sudo blkid | grep swap
    

    Esto generará una línea similar a esta:

    /dev/sda12: UUID="a14f3380-810e-49a7-b42e-72169e66c432" TYPE="swap"
    

    La línea real no coincidirá con esto. Copie el valor de UUID entre "..."comillas dobles.

  2. Abre el archivo de currículum

    gksudo gedit /etc/initramfs-tools/conf.d/resume
    

    Y en ese archivo, agregue una línea como esta

    RESUME=UUID=a14f3380-810e-49a7-b42e-72169e66c432
    

    No olvide reemplazar el valor de UUID real que obtiene del paso 1. Guarde el archivo y salga de gedit

  3. Luego, en la terminal, ejecute este comando

    sudo update-initramfs -u
    

Ahora podrá reanudar la hibernación.

2. Edición del /etc/default/grubarchivo.

  1. Abra una terminal y ejecute el siguiente comando para abrirla.

    gksudo gedit / etc / default / grub

  2. Habrá una línea como GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" . Edite la línea para insertar RESUME=UUID=<your-uuid-value-here>después de la palabra splash.

    Por ejemplo, en mi caso, la línea se ve así después de editar

     GRUB_CMDLINE_LINUX_DEFAULT="quiet splash resume=UUID=a14f3380-810e-49a7-b42e-72169e66c432" 
    

    Asegúrese de utilizar el valor de UUID que obtiene del sudo blkid | grep swapcomando.

  3. Entonces haz este comando

     sudo update-grub
    

Esto también le permite reanudar con éxito la hibernación.


Probado en dos instalaciones de Ubuntu, ambas funcionaron

Anwar
fuente
presente esto como una pregunta y respuesta separadas. Como las personas pueden buscar "no reanudar desde suspender" y no encontrar su excelente redacción.
Dima
Después de su sugerencia, creé esta pregunta con respuesta propia askubuntu.com/questions/196364/…
Anwar
0

Tengo Ubuntu Gnome 17.04 amd64 en mi computadora portátil. Hice lo siguiente para habilitar la hibernación:

$ sudo apt-get install hibernate( fuente )

Esta instalado también libx86-1uswsuspvbetool

Entonces podría hibernar con éxito sudo systemctl hibernate. No hay pm-hibernateejecutable en mi camino.

PS sudo nano /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla

Insertado: ( fuente )

[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.handle-hibernate-key;org.freedesktop.login1;org.freedesktop.login1.hibernate-multiple-sessions;org.freedesktop.login1.hibernate-ignore-inhibit
ResultActive=yes

Https://extensions.gnome.org/extension/755/hibernate-status-button/ instalado

ominug
fuente