17 mar. 2013

Como hibernar en Ubuntu 13.04 Gnome-shell


Desde que adquirí mi portátil he intentado activar la opción de hibernar, puesto que supone un ahorro de energía comparado con la acción de suspender.
Desde Ubuntu 12.04 ya habían deshabilitado la opción de hibernar por problemas en algunos hardware. Está opción es algo más lenta a la hora de arranque del sistema, si lo comparamos con suspenderlo, pero lo compensa con creces al no consumir energía y por consiguiente podemos dejarlo en ese estado por tiempo indefinido para aprovechar su durabilidad, más con los problemas que suele haber en la mayoría de portátiles.
Pero aquí viene la madre el cordero ¿Cómo?. Pues "fácil".
A continuación voy a detallar lo mejor posible como lo he realizado en un Lenovo G580 con Ubuntu 13.04 y Gnome como única shell.

El primer paso es comprobar si en tú portátil funciona la hibernación con el siguiente comando desde una terminal Crtl+Alt+T:
sudo pm-hibernate
Si todo ha ido bien, puedes continuar con el resto del tutorial.

-Importante tener una partición swap de igual tamaño a la memoria RAM del portátil o un mínimo de 2GB, ya que es ahí donde se guardarán todos los procesos.
Seguimos con la terminal para abrir como root y/o crear el siguiente archivo en la ruta determinada:
gksu gedit / etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla
En este caso he utilizado Gedit pero se puede realizar con nano o el que tengáis como predeterminado.
Dentro añadimos las siguientes líneas:
[Enable Hibernate]
Identity=unix-user:*
Action=org.freedesktop.upower.hibernate
ResultActive=yes
Guardamos y salimos.
Podemos reiniciar la shell con la combinación ALt+F2+r Y ya podemos seleccionar en las opciones de la configuración de energía, hibernar:


Con esto en principio ya tendríamos habilitada la hibernación al cerrar la tapa del portátil cuando estamos con batería. Pero si queremos tenerla en modo gráfico podemos recurrir a una extensión como:
Alternative Status Menu
que es la que he elegido yo. Pero por algún error, (puede ser debido a las diversas versiones de Gnome-shell), una vez activada no aparece la opción de hibernar.
Seguimos en una terminal, esa cosa tan rara, y copiamos lo siguiente para posicionarnos en los siguientes archivos, uno por uno y damos Enter:
cd ~/.local/share/gnome-shell/extensions/
cd ./alternative-status-menu@gnome-shell-extensions.gcampax.github.com/
cd ./schemas/
Abrimos el archivo de configuración:
gksudo gedit ./org.gnome.shell.extensions.alternative-status-menu.gschema.xml
Y dentro del archivo buscamos lo siguiente:
< key type="b" name="allow-hibernate" >
< default >false< /default >
< summary>Enable hibernating< /summary >
< description >Control the visibility of the Hibernate menu item< /description >
< /key >
Cambiamos "false" por "true". Guardamos y cerramos.
Y ahora compilamos, no todo iba a ser un camino de rosas, estamos en GNU/Linux :D Siempre dentro del último archivo:
glib-compile-schemas ./
Damos Enter y reiniciamos la shell con Alt+F2+r y ya debería de aparecer la opción de hibernar en el menú de estado:


A veces desaparece la opción de hibernar en el menú de estado y se soluciona con un simple reinicio de la shell, ya sabes:
Alt+F2+r
Es un trabajo que he realizado buscando y probando de varios tutoriales que he encontrado por la red, pero que eran para otras versiones de Ubuntu, solo coinciden en que sirven para Gnome-shell.
Testeado y funciona 100% en Ubuntu 13.04 Gnome-shell versión 3.6 con un Lenovo G580.

8 comentarios:

  1. Muy bueno Manu, lo explicas muy sencillo y claro. ;)

    ResponderEliminar
  2. Hola Tiro.

    Muchas gracias :D pero aun tengo que hacer otro sobre como aumentar la memoria swap en un archivo, para los que no tengan memoria de intercambio o solo hayan dejado los justito y a la hora de hibernar no les funcione. Como me ha pasado a mi, ya que dispongo de 8GB de RAM y le asigne solo 1GB de swap. Ahora ya dispongo de algo más y funciona muy bien, eso si algo más lento que la suspensión.

    Un cordial saludo...

    ResponderEliminar
  3. Todo lo hago, pero al final solo en el menú aparece la opción de hibernar, en control de energía están inactivos, al presionarlo no hace nada o solo me manda a suspensión de la máquina!!!
    mendozaht_15@hotmail.com

    ResponderEliminar
    Respuestas
    1. por cierto en los comandos siguientes solo me dice el sistema que no existen los archivos o directorios solicitados

      cd ~/.local/share/gnome-shell/extensions/

      cd ./alternative-status-menu@gnome-shell-extensions.gcampax.github.com/

      cd ./schemas/

      mi maquina es una Lenovo G485, AMD C-60 APU with Radeon(tm) HD Graphics × 2, 4 Gb Ram, SO 64x UbuntuKylin 13.04

      Eliminar
    2. ¿Descargaste la extensión Alternative Status Menu? Pero vaya depende de la versión de Gnome-shell
      Descargarte esta extensión:

      https://extensions.gnome.org/extension/5/alternative-status-menu/

      A ver si te funciona en la 13.04

      Eliminar
    3. manu@Lenovo:~$ gnome-shell --version
      GNOME Shell 3.8.3

      Eliminar
  4. Depende de la versión que tengas de Gnome-shell ya que algunas extensiones no se actualizan a la misma velocidad que las de Gnome. Las extensiones las realizan desarrolladores de forma altruista y no reciben nada más que las gracias o el reconocimiento de quién las utilice, si quiere, claro.

    ResponderEliminar
  5. Gracias! Funciona para la version 13.04 del Ubuntu con gdm instalado por apt.

    ResponderEliminar

Puedes comentar sin registrarte, si pones tu nick o nombre mejor..