AVISO IMPORTANTE: Las distintas distribuciones de GNU/Linux han quitado la opción de hibernar, porque genera muchos problemas. tanto de incompatibilidad con mucho ordenadores, como fallos puntuales. Nosotros hemos probado y ahora mismo funciona, pero no sabemos si después de una actualización de tu distribución Linux, mañana por ejemplo, dejará de funcionar. Es por ello que deberás asegurarte cuando hibernes, que el ordenador está completamente apagado, antes de meterlo en un maletín y que se sobre-caliente. |
Para poder activar la hibernación en tu portátil, lo primero que debes saber es que has de tener en la bios desactivado el Secure Boot, y has de haber instalado así el sistema operativo, no se puede cambiar a las bravas. Y lo segundo que has de saber es que vas a perder un trozo de disco duro, ya que has de reservar el espacio. Aunque desde Ubuntu 18 ya no hay partición swap, si no un fichero pequeño y dinámico, ahora has de fijarle un tamaño, concretamente el tamaño de tu memoria RAM (o algo más por precaución).
Puedes mirar gráficamente cuanta RAM tiene tu ordenador, o puedes comprobarlo via terminal con:
free |
Del comando de arriba quedarte con el primer valor de memoria, o si quieres usa este otro comando:
vmstat -s | awk '{print int(($1 / 1024 / 1024)+0.51)}' | head -1 |
Si tuvieras la swap ya activa, primero hemos de detenerla, para poder luego redimensionarla. Detenla con este comando:
sudo swapoff -a |
Crea el fichero de swap con el tamaño de tu ram, yo pongo en mi ejemplo 16 GB, pero cambia el número por tu RAM o un poco más:
sudo fallocate -l 16g /swapfile |
Dale permisos y añádelo al fichero fstab con:
sudo chmod 600 /swapfile sudo mkswap /swapfile sudo swapon /swapfile |
Mira si ya tienes el el fichero /etc/fstab una linea que empiece por /swapfile, si no la tienes añádela con esto:
echo '/swapfile swap swap defaults 0 0' | sudo tee -a /etc/fstab |
Montamos y verificamos:
sudo findmnt -no SOURCE,UUID -T /swapfile |
Nos mostrará algo como esto: /dev/sda1 0c233fbb-f72e-470f-8460-4f2521bf3569
La segunda parte después de sda1 (o nvme0n1p1 o tu lvm) es el UUID de la partición y tienes que apuntártela, o copiarla.
Ahora instalamos y configuramos uswsusp:
sudo apt install uswsusp sudo dpkg-reconfigure -pmedium uswsusp |
Te preguntará si quieres continuar sin validar swap, respondes "Sí".
Luego te dirá que selecciones la partición, y NO has de elegir /swapfile, y SÍ el UUID que has apuntado antes.
En cifrar la partición hibernada diremos NO para que no nos pide una contraseña adicional para desbloquearlo, con cerrar sesión que lo hace, es suficiente.
Por si acaso ahora:
sudo update-initramfs -u |
Es hora de probar si la hibernación funciona con este comando (espera un minuto):
sudo s2disk |
Estos pasos son solo para Linux Mint:
Si no ha vuelto a tu sesión después de hibernar, haz estos pasos, pero si ha ido bien, no lo hagas:
sudo nano /etc/default/grub |
y añadir en la linea GRUB_CMDLINE_LINUX_DEFAULT="quiet splash", antes de cerrar las comillas resume=UUID= con el identificador de tu partición que hemos copiado antes, o sea en nuestro caso quedaría así:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash resume=UUID=0c233fbb-f72e-470f-8460-4f2521bf3569" |
sudo update-grub |
reboot |
Fin de los pasos para Linux Mint
Ahora tenemos que editar el servicio de hibernación para que utilice el nuevo método:
sudo systemctl edit systemd-hibernate.service |
Y dentro pegamos:
[Service] ExecStart= ExecStart=/usr/sbin/s2disk ExecStartPost=/bin/run-parts -a post /lib/systemd/system-sleep |
Volvemos a probar la hibernación, pero ahora con el servicio:
systemctl hibernate |
Si no funciona puedes ver el estado y ver los errores que muestra:
systemctl status systemd-hibernate.service |
Ahora que todo funciona correctamente, sólo tenemos que al apagar el ordenador, aparezca la opción de hibernar junto a la de reiniciar o suspender.
Vamos a crear un fichero nuevo con:
sudo nano /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla |
y dentro pagamos a pegar esto y guardar:
[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 |
Ahora reiniciamos el ordenador y ya estará listo :)
Adicionalmente en Gnome Shell existen extensiones como esta para que el botón esté más accesible.