La hibernación en Gnu/Linux

Menú de Hibernación en Ubuntu.

Muchos de vosotros me diréis que la tecnología de la hibernación no es algo nuevo, pero si que está siendo el centro de muchos artículos y publicaciones debido a los recientes problemas que tanto sistemas privativos como distribuciones así como también usuarios están teniendo últimamente con la hibernación.

Aquí no hablaremos de los problemas que Windows 10 tiene con la hibernación, pero si que hablaremos de esta utilidad en las principales distribuciones Gnu/Linux, así como sus diferencias respecto a otras formas de apagar o suspender el equipo y saber así cuál es la mejor opción que tenemos para cada situación.

No haremos mención a todas las distribuciones que actualmente están disponibles para todos, pero si que hablaremos de la hibernación en las principales distribuciones Gnu/Linux que existen actualmente.

Primero hemos de saber que es hibernación y que no es. Hibernación es un proceso del sistema operativo en el cual se “congelan” todos los datos, servicios y configuraciones que estamos utilizando para poder apagar el equipo y volver a iniciarlo tal cual estaba.

Así, hibernación no supone dejar los documentos y archivos tal cual estaban cuando apagamos el ordenador para volver a usarlos ni tan poco significa suspender el equipo. Es algo más rápido que lo primero y menos costoso que lo último.

¿qué es la suspensión?

Suspender un equipo o entrar en modo de suspensión significa que el sistema operativo crea una imagen viva de todo el sistema (datos personales incluidos) y lo envía a la memoria ram o memoria volátil del equipo para así apagar el resto de los componentes, pero la memoria ram y la placa base siguen funcionando aunque a un menor ritmo.

Entrar en suspensión significa que el equipo sigue consumiendo energía, aunque menos que a pleno funcionamiento y se volverá a activar con una tecla o gesto de ratón o simplemente con levantar la tapa en el caso de los portátiles.

Este método es realmente útil en equipos que tienen más de 2 Gb de memoria ram y poco almacenamiento interno en el disco duro ( por ejemplo por ser un disco SSD).

¿qué es el reinicio con apertura de documentos?

Sistemas operativos como MacOS tiene una función híbrida que supone apagar el sistema operativo pero cuando se vuelve a encender, el sistema operativo abre las aplicaciones últimas que se han cerrado o determinados documentos.

Esto es práctico para muchos, por ello muchas distribuciones Gnu/Linux hacen lo mismo. Sin embargo esta opción no deja de ser un reinicio o un simple apagado del equipo, con la posterior carga inicial de procesos y configuraciones que se hace en cada inicio, algo que podemos hacer de manera manual pero que puede ralentizar el inicio del sistema operativo.

Entonces ¿qué es la hibernación?

La hibernación es un proceso en el cual se crea una imagen viva del sistema actual, pero no se guarda en la memoria ram sino en la memoria swap o memoria de intercambio del disco duro. Es decir, en el disco y por lo tanto se puede apagar sin borrar la información.

Esto significa que el equipo se puede apagar pues no tiene nada en la memoria ram, la memoria volátil pero la carga del sistema no es tan larga como en el inicio del sistema operativo, pues se utiliza la imagen.

Toda la información del sistema se vuelca en un sólo archivo que es el archivo que se carga, por lo tanto también necesitaremos tener un disco duro con gran capacidad para poder utilizar la hibernación sin ningún problema.

¿puedo tener la función de hibernación en Gnu/Linux?

Solo podemos tener esta función si realmente el kernel de Linux lo soporta. Esto es importante recordar pues si queremos utilizar un kernel compilado por nosotros hemos de tener activada esta función, de lo contrario nos quedaremos sin esta funcionalidad y no podremos activar la hibernación.

Ventana con el menú de hibernar, suspender y apagar el ordenador.

Sin embargo, lo más habitual es utilizar el kernel que ofrece la distribución, una versión en la que la función hibernación así como otras funciones y drivers están habilitadas. Así que lo normal es que la hibernación esté presente en nuestro ordenador con Gnu/Linux.

¿Cómo activo la hibernación en mi distribución Gnu/Linux?

Como hemos dicho, la hibernación está presente en todas las distribuciones Gnu/Linux (al menos en la mayoría). Esto significa que basta con ir al menú de apagado de nuestro escritorio y encontraremos la opción de hibernar, junto a la de apagar, reiniciar, suspender y cerrar sesión. Una vez que estamos en modo hibernación, sólo hemos de pulsar el botón de encendido para activar otras vez el sistema.

Si queremos utilizar esta función mediante un comando de terminal, primero hemos de tener instaladas las herramientas pm-utils, algo que seguramente ya estará. Pero si tenemos algún mensaje de error, posiblemente no tengamos instaladas estas herramientas que se encuentran en todos los repositorios oficiales de las distribuciones. Así, si tenemos estas herramientas, para entrar en modo hibernación hemos de usar el siguiente comando:

sudo pm-hibernate

Si tenemos una distribución que se basa en ArchLinux o derivada de ella, sólo hemos de escribir lo siguiente:

hibernate -F /etc/hibernate/ususpend-disk.conf

En el caso de utilizar OpenSUSE, hemos de utilizar el siguiente comando:

systemctl hibernate

Si somos más arriesgados y tenemos una distribución que se basa o es Gentoo, el comando es el siguiente:

pm-hibernate

Esto es la norma general, pero existe algunas excepciones como Ubuntu.

Cómo habilitar la hibernación en Ubuntu

A pesar de que Ubuntu permite en su kernel que el sistema pueda entrar en hibernación, esta opción no está habilitada por defecto en la distribución y hemos de activarlo nosotros mismos. Pero esto se puede solucionar de una manera muy fácil.

Primero hemos de crear un archivo de texto con gedit y escribir lo siguiente en él:

[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

Este archivo lo guardaremos con el siguiente nombre:

com.ubuntu.enable-hibernate.pkla

Ahora hemos de abrir nuestro gestor de archivos con permisos de administrador y pegar el archivo que hemos creado en la siguiente carpeta:

/etc/polkit-1/localauthority/50-local.d

Una vez que hemos pegado el archivo, cerramos todas las ventanas y reiniciamos el sistema operativo para que se apliquen los cambios oportunos. Y tras el reinicio del sistema, veremos como la opción de esta función ya está disponible en los menús del escritorio de nuestro Ubuntu y no sólo a través de la terminal.

Hibernación en ubuntu.

Conclusión sobre la hibernación

Por lo general la opción de hibernar es más ecológica que la suspensión, pero hay que tener en cuenta nuestras necesidades. Si necesitamos un inicio rápido, la suspensión es la opción más rápida de todas ellas.

Si por el contrario queremos ahorrar energía y recursos, el reinicio con apertura de documentos es la mejor opción. Pero si por el contrario no tenemos problemas con los recursos pero no queremos gastar energía, la hibernación es la mejor opción y por ello suele ser la que mejor se adecua a los equipos modernos donde no hay límites de espacio en el disco duro pero si hay problemas de batería.


3 comentarios

  1.   Gregorio Ros dijo

    Así de pronto me viene a la cabeza un artículo/discusión, no recuerdo donde lo leí, en el que se comentaba el que ya no es necesaria la swap si tenemos mas de 8GB de ram. Pero si tenemos en cuenta opciones como la hibernación por mucha ram que tengamos no hay mas narices que tener la partición de swap si o si, y ademas se ve la razon por la que se recomienda que su tamaño sea, por lo menos, el de la memoria ram.

  2.   Tralinux dijo

    Bien está el artículo, amplio y suficientemente explicado, pero -por favor- cuida las faltas de ortografía. Un escrito deja de ser útil si los “que” no sabes si son pregunta o conjunción, por ejemplo.

  3.   gallopelado dijo

    Buen artículo. Muchas gracias.

Escribe un comentario