Cómo habilitar hibernación en Ubuntu 18.04
|Yo trabajo muy seguido con las mismas herramientas y el mismo proyecto durante mucho tiempo a lo largo de un desarrollo de software, por lo que tener que estar abriendo todas mis herramientas cada vez que enciendo la computadora es molesto, pera esto nos ayuda la hibernación.
Al hibernar nuestra, nuestra sesión se guarda al área de intercambio swap de nuestra sistema operativo la cual se vuelve a restaurar cuando encendemos la computadora, la diferencia de esta con la suspensión es que en la última la sesión permanece en memoria ram por lo que la computadora no se "apaga" por completo sino que mantiene en un muy bajo consumo de energía donde aparenta estar apagada.
Este tutorial puede servir para utilizar una partición o un archivo swap, el procedimiento es el mismo, solo haré la indicación donde esta la diferencia.
Primero vemos el contenido de fstab con el siguiente comando:
1 |
cat /etc/fstab |
El mío luce así:
1 2 3 4 5 6 7 8 |
... # / was on /dev/sdb3 during installation UUID=1f0a0dff-8216-4549-90ac-03a944d8c740 / ext4 errors=remount-ro 0 1 # /boot/efi was on /dev/sda2 during installation UUID=240D-7DD1 /boot/efi vfat umask=0077 0 1 # swap was on /dev/sdb2 during installation UUID=69efcf19-cf6d-4cc4-9940-22ae172d60ca none swap sw 0 0 /miswap none swap sw 0 0 |
Para los que van a utilizar una partición swap deben identificar el UUID de la partición swap, tengan a la mano ese UUID que lo van a usar.
1 2 |
# swap was on /dev/sdb2 during installation UUID=69efcf19-cf6d-4cc4-9940-22ae172d60ca none swap sw 0 0 |
Para los que vamos a utilizar el archivo swap tendremos a la mano el UUID donde se encuentra la raíz del sistema, para mi caso es esta:
1 2 |
# / was on /dev/sdb3 during installation UUID=1f0a0dff-8216-4549-90ac-03a944d8c740 / ext4 errors=remount-ro 0 1 |
Si el UUID no estuviera a la vista podemos hacer esto. Primero identificamos cual es la partición donde se encuentra la raíz de nuestros archivos:
1 |
mount | grep " / " |
Me indica que la mía es la /dev/sdb3, ahora tengo que identificar el UUID con este comando:
1 |
sudo blkid |
Y obtenemos el código.
Bien, ahora es necesario obtener el offset de nuestro archivo swap, para los que vamos a usar este método:
1 |
sudo filefrag -v /miswap |
En la primera fila copiaremos el primer parámetro "physical_offset" y lo tendremos a la mano, en mi caso es: 8034304
Ahora debemos editar como administrador el archivo /etc/default/grub:
1 |
kate /etc/default/grub |
En archivo debemos identificar esta línea:
1 |
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" |
y la modificaremos así:
PARA LOS QUE USAN UNA PARTICIÓN SWAP
Deben poner el UUID de su particion swap.
1 |
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash resume=UUID=69efcf19-cf6d-4cc4-9940-22ae172d60ca" |
PARA LOS QUE USAN UN ARCHIVO SWAP
Deben poder el UUID de la partición donde de encuentra la raíz de archivos y el physical_offset del archivo swap:
1 |
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash resume=UUID=1f0a0dff-8216-4549-90ac-03a944d8c740 resume_offset=8034304" |
Guardamos y cerramos el archivo.
Debemos actualizar el grub con este comando:
1 |
sudo update-grub |
Reiniciamos una vez la computadora y luego ejecutamos el siguiente comando para hibernar:
1 |
sudo systemctl hibernate |
A este momento la hibernación ya debe estar funcionando con éxito, si para alguno no es así podemos instalar el siguiente paquete y volver a intentar:
1 |
sudo apt-get install hibernate |
Ahora que esta funcionando sería bueno poder agregar una opción en el menú, esto lo hacemos creando el siguiente archivo con permisos de administrador:
1 |
kate /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla |
Y pegamos el siguiente contenido
1 2 3 4 5 6 7 8 9 |
[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 |
Guardamos y cerramos el archivo, ahora debemos reiniciar la computadora.
Al menos en KDE luego de esto ya aparece la opción.