Como muchos de vosotros ya sabréis las extensiones que hasta ahora estábamos utilizando en Gnome-Shell 3.0, no son compatibles con la nueva versión 3.2. Afortunadamente muchas de estas extensiones serán portadas a la nueva versión, pudiéndolas encontrar en los repositorios oficiales de Oneiric, via PPA y en diversas webs.

Vamos a ver un poco por encima, en que han consistido estos cambios y adaptaciones, por si al final disponemos de algunas extensiones que no han sufrido esta portabilidad y con un poco de suerte realizar nosotros mismos estas modificaciones, permitiendo de esta manera, su funcionamiento en la 3.2.


Todo surge a través de Jasper St. Pierre, que daba las directrices principales para realizar estos cambios, su funcionamiento y beneficios que obtendríamos, también adjuntaba algún que otro ejemplo para nuestra mejor compresión.

Sus puntos principales son los siguientes:

Para el fichero metadata.json, cambiar la linea correspondiente a la anterior versión por la nueva e insertar una nueva linea:

metadata.json (3.0)
“shell-version”: ["3.0.2"]

metadata.json (3.2)
“shell-version”: ["3.2.0", "3.2"]
“localedir”: “/usr/share/locale”

Para el programa en javascript extension.js, cambiar:

La función “funtion main()” por “funtion init()” y añadir dos nuevas funciones “funtion enable()” y “funtion disable()“.

Veamos todo esto un poco más al detalle, pasando una extensión de la 3.0 a la 3.2, para ello voy a tomar como punto de referencia una pequeña extensión, cuyo cometido consistía en apagar el equipo.

En un principio descomprimimos el archivo en ./local/share/gnome-shell/extensions y posteriormente abrimos Advanced Setting (gnome-tweak-tool), podremos observar dos cosas o no aparece esta extensión o bien aparece con un icono de aviso indicándonos que hay algún problema con dicha extensión y que no es posible su activación.


Si procedemos con los cambios mencionados con anterioridad sería, para el fichero:

metadata.json (3.0)

metadata.json (3.2)

extension.js (3.0)

extension.js (3.2)

Tras salvar los ficheros, inicializamos Gnome-shell ( ALT + F2 introducimos r ), volvemos a Advanced Setting y si todo ha ido bien, observaremos que ha desaparecido el aviso y ya esta todo listo para activar dicha extensión.

Procedemos con la activación y comprobamos su funcionamiento.

La lógica del programa y ejecución ha pasado por la siguientes fases:

  • Cuando entramos en el escritorio o reiniciamos Gnome-shell, todas nuestras extensiones ejecutarán function init().
  • Cuando activamos dicha extensión se ejecutara function enable(), en el ejemplo se añadirá su icono en el panel.
  • Cuando desactivamos dicha extensión se ejecutara function disable(), en el ejemplo borrara su icono del panel.

Ahora ya en la 3.2, ya no es necesario reiniciar Gnome-shell, ni en la activación ni en la desactivación, observamos su inmediata ejecución.

Os dejo la descarga del archivo comprimido de la extensión con los cambios ya realizados, totalmente compatible con la 3.2.

Gracias a Juan por el aporte, y esperamos que su nuevo proyecto de zapatos sea todo un éxito, como todo lo que hace.

Comments (4) »