Construyendo GNOME Shell desde la fuente
(Última actualización de contenido: 11 de febrero de 2011, según la guía oficial , no dude en editar).
0. Advertencias / errores durante la compilación
GNOME Shell está bajo un fuerte desarrollo y las fuentes a menudo se actualizan un par de veces al día. Si bien las instrucciones a continuación generalmente deberían funcionar, puede suceder que una compilación exitosa necesite algunos hacks o no sea posible en absoluto.
Si encuentra algún problema, verifique:
Problemas actuales:
Es necesario eliminar un par de archivos en los directorios de la biblioteca, de lo contrario la compilación fallará. Al hacer las actualizaciones del sistema, esos archivos podrían volver: lea esto para obtener una explicación de por qué es necesario eliminar esos archivos y cómo evitar actualizaciones para volver a instalarlos.
sudo rm -rf /usr/lib*/*.la
(No se preocupe, ¡esto no dañará su sistema!)
Antes de poder ejecutar GNOME Shell, debe eliminar un archivo después del proceso de compilación:
rm ~/gnome-shell/install/lib*/gtk-3.0/modules/libcanberra-gtk-module.so
1. Construyendo GNOME Shell
(Probado en Ubuntu 10.10 de 32 bits y la versión de desarrollo de Ubuntu 11.04 de 64 bits).
Lo siguiente descargará, compilará e instalará GNOME Shell de una manera similar a un sandbox, lo que significa que no tocará el resto de su sistema.
Instalar dependencias:
sudo apt-get install curl dpkg-dev autopoint libedataserverui1.2-dev \
libecal1.2-dev evolution-data-server-dev libcups2-dev libupower-glib-dev \
libgnome-keyring-dev libxklavier-dev libvorbis-dev libltdl-dev \
libgstreamer0.10-dev libcroco3-dev xserver-xephyr xulrunner-dev \
python-dev libpam0g-dev mesa-utils mesa-common-dev libxml2-dev \
libreadline5-dev libpulse-dev liborbit2-dev libgl1-mesa-dev libwnck-dev \
libtiff4-dev libstartup-notification0-dev libpng12-dev libjpeg62-dev \
libjasper-dev libgtop2-dev libgnome-desktop-dev libgnome-menu-dev \
libffi-dev libexpat1-dev libdbus-glib-1-dev icon-naming-utils \
gtk-doc-tools gnome-common git-core gettext flex bison automake cvs
Obtenga el script de configuración de GNOME Shell:
curl -O https://git.gnome.org/browse/gnome-shell/plain/tools/build/gnome-shell-build-setup.sh
Compile la herramienta de compilación jhbuild
y descargue los archivos de configuración:
/bin/bash gnome-shell-build-setup.sh
Esto se instalará jhbuild
en ~/bin
, que debe agregar a su PATH
variable:
. ~/.profile
[Opcional] : puede cambiar varias jhbuild
opciones, como la ruta para descargar fuentes, etc. mediante la edición del archivo ~/.jhbuildrc-custom
.
Comience el proceso de compilación:
jhbuild build
Esto (actualmente) compilará 33 módulos. Tome una taza de café, tome una siesta -> tomará algún tiempo.
Una vez que veas que *** success *** [33/33]
has terminado. ¡Felicitaciones, acaba de compilar GNOME Shell!
2. Ejecutando GNOME Shell
Si está ejecutando Compiz, primero debe detenerlo (iniciando Metacity) o de lo contrario GNOME Shell no se iniciará:
metacity --replace &
Finalmente, ejecuta:
cd ~/gnome-shell/source/gnome-shell/src
./gnome-shell --replace
Eso es todo, con suerte ahora deberías estar ejecutando GNOME Shell.
3. Convertir GNOME Shell en el administrador de ventanas predeterminado
En Ubuntu 10.10, simplemente puede reemplazar el administrador de ventanas de la sesión de GNOME cambiando una clave GConf:
Cree un iniciador de .desktop local para GNOME Shell:
ln -s ~/gnome-shell/install/share/applications/gnome-shell.desktop ~/.local/share/applications/gnome-shell.desktop
Luego cambie el administrador de ventanas de la sesión para que sea GNOME Shell:
gconftool-2 -s /desktop/gnome/session/required_components/windowmanager "gnome-shell" -t string
Para revertir el cambio, ejecute:
gconftool-2 -s /desktop/gnome/session/required_components/windowmanager "gnome-wm" -t string
En Ubuntu 11.04, cambiar la clave del administrador de ventanas no parece funcionar. En su lugar, puede agregar un nuevo elemento de sesión que puede seleccionar en la pantalla de inicio de sesión de GDM. Por lo tanto, debe crear el archivo .desktop local como el anterior y luego crear dos archivos:
Un archivo de sesión /usr/share/gnome-sessions/sessions/gnome-shell.session
::
[GNOME Session]
Name=gnome-shell
Required=windowmanager;
Required-windowmanager=gnome-shell
DefaultApps=gnome-settings-daemon;
El elemento de sesión que apunta al archivo de sesión /usr/share/xsessions/gnome-shell.desktop
::
[Desktop Entry]
Name=GNOME Shell
Comment=This session logs you into Ubuntu
Exec=gnome-session --session=gnome-shell
TryExec=gnome-session
Icon=
Type=Application
X-Ubuntu-Gettext-Domain=gnome-session-2.0
Cierre sesión y debería poder elegir GNOME Shell como sesión.
4. Actualización de GNOME Shell
Corriendo
jhbuild build
debería actualizar las fuentes y reconstruir lo que sea necesario.
Si falla para un módulo, por ejemplo, obtienes algo como esto:
fatal: git-write-tree: error building trees
Cannot save the current index state
*** Error during phase checkout of gdk-pixbuf: ########## Error running git stash save jhbuild-stash *** [7/33]
entonces puede intentar borrar el directorio del módulo actual y comenzar con fuentes limpias seleccionando la opción 6:
[6] Go to phase "wipe directory and start over"
Si eso no ayuda, puede comenzar desde cero ejecutando:
jhbuild build -afc
¿Aún no compila? Luego verifique los lugares mencionados en 0.