Construyendo GNOME Shell desde el origen
(Última actualización de contenido: 11. Feb. de 2011, basada en la guía oficial , siéntase libre de editarla).
0. Advertencias / errores durante la compilación
GNOME Shell está muy desarrollado 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 la 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 actualizaciones del sistema, esos archivos podrían regresar: lea this para obtener una explicación de por qué es necesario eliminar esos archivos y cómo prevenirlos. 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 el shell de GNOME
(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 forma 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
-
Obtener la secuencia de comandos de instalación de GNOME Shell:
curl -O https://git.gnome.org/browse/gnome-shell/plain/tools/build/gnome-shell-build-setup.sh
-
Cree la herramienta de compilación jhbuild
y descargue los archivos de configuración:
/bin/bash gnome-shell-build-setup.sh
-
Esto instalará jhbuild
a ~/bin
, que debe agregar a su PATH
-variable:
. ~/.profile
-
[Opcional] : puede cambiar varias opciones jhbuild
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. Obtener una taza de café, tomar una siesta - & gt; tomará algo de tiempo.
Una vez que ves *** success *** [33/33]
has terminado. ¡Felicidades, acabas de compilar GNOME Shell!
2. Ejecutando el shell de GNOME
-
Si está ejecutando Compiz, primero debe detenerlo (iniciando Metacity) o de lo contrario el shell de GNOME no se iniciará:
metacity --replace &
-
Finalmente, ejecuta:
cd ~/gnome-shell/source/gnome-shell/src
./gnome-shell --replace
Eso es todo, esperemos que ahora ejecute GNOME Shell.
3. Haciendo que GNOME Shell sea el administrador de ventanas predeterminado
En Ubuntu 10.10, simplemente puede reemplazar el administrador de ventanas de la sesión GNOME cambiando una clave GConf:
-
Cree un lanzador 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 el Shell de GNOME:
gconftool-2 -s /desktop/gnome/session/required_components/windowmanager "gnome-shell" -t string
-
Para revertir el cambio, ejecuta:
gconftool-2 -s /desktop/gnome/session/required_components/windowmanager "gnome-wm" -t string
En Ubuntu 11.04, cambiar la clave windowmanager 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 se indica arriba 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
Cerrar sesión, y debería poder elegir GNOME Shell como sesión.
4. Actualización de GNOME Shell
-
Ejecutando
jhbuild build
debería actualizar las fuentes y reconstruir lo que sea necesario.
-
Si falla para un módulo, p. 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]
luego puede intentar borrar el directorio del módulo actual y comenzar con las fuentes limpias eligiendo 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 verifica los lugares mencionados en 0.