I’ve read in Jono‘s blog that the development of GNOME Shell (which in turn may become a component of GNOME 3.0) has already started and wanted to try it out (and contribute :)). As this process wasn’t as trivial as I’d have liked (although I had awesome assistance from Colin Walters, Owen Taylor and some other people in #gnome-shell@irc.gnome.org), I’ve decided to write down the instructions on how to build it so that others have it easier.
Initial build of GNOME Shell
1. Download gnome-shell-build-setup.sh (wget http://git.gnome.org/cgit/gnome-shell/plain/tools/build/gnome-shell-build-setup.sh) and run it (bash gnome-shell-build-setup.sh). This will download jhbuild into ~/Source and build it (the executables will end up in ~/bin).
2. Install the necessary build dependencies for gnome-shell (and its bundled dependencies): sudo apt-get install build-essential automake gnome-common flex bison curl git-core subversion gtk-doc-tools mesa-common-dev xulrunner-1.9-dev libdbus-glib-1-dev libffi-dev libgconf2-dev libgtk2.0-dev libgl1-mesa-dev libgstreamer-plugins-base0.10-dev python2.5-dev.
3. Download and build gnome-shell (and its bundled dependencies) by running ~/bin/jhbuild build. All files are placed into ~/gnome-shell.
Running it
1. Run ~/bin/jhbuild shell to enter a subshell, and then follow the remaining steps inside it.
2. Go into the appropriate directory, with: cd ~/gnome-shell/source/gnome-shell/scripts. [Update: now ~/gnome-shell/source/gnome-shell/src]
3. Start gnome-shell, either inside a window by using Xephyr: ./start-in-Xephyr (you’ll need to have xserver-xephyr installed for this to work, or replacing gnome-panel and metacity in your “real” desktop: ./start-replace. [Update: now this is «./gnome-shell» and «./gnome-shell --replace»]
Updating it
Execute ~/bin/jhbuild build –force –clean. The two arguments, “–force” and “–clean”, are used to rebuild everything, even if it didn’t change. You can usually omit them, but in some cases not doing this may lead to GNOME Shell failing to start.
You can also rebuild only a certain element (with this I mean either gnome-shell or one of its bundled dependencies, namely clutter, gjs, gobject-introspection, gir-repository or metacity-clutter) by using ~/bin/jhbuild buildone <name> –clean.
Problem: My computer hangs if I run it
Like the new Compiz version in Intrepid, gnome-shell uses GL_EXT_texture_to_pixmap, which is broken for some old Intel cards and causes the computer to hang if start-replace is used. You can easily disable this, though, by setting the GNOME_SHELL_DISABLE_TFP environment variable (the name of this variable may change in the future).
So, just run “export GNOME_SHELL_DISABLE_TFP=1” before you run start-replace as described in section “Running it” (or add that line to ~/.bashrc, but then remember to remove it again once the driver issue is fixed). With this, gnome-shell should be able to run so that you can try it out, but don’t expect its performance to be perfect (here I have serious issues with redrawing).
Related posts:
- Another GNOME Shell post: what do you think about the window list?
It’s already a few months since my two posts on gnome-shell, so here is another... - Call for feedback: Removing the Run dialog with GNOME Shell
I was about to do some work for GNOME Shell’s “Run Dialog” when Colin Walters...







Merci RainCT!
Quan tingui una mica de temps ho provaré :P
[...] això serà el gnome 3.0, aleshores us puc assegurar que és una [...]
Great! Thanks for sharing. I’ve been wanting to check it out ever since I heard that work had begun.
//MadsRH
Thanks for this good post.I will try it in my ubuntu
Yeah this works great on my ubuntu. I’d recommend to anyone else. Thanks for the information.
On Ubuntu 8.10 I get:
$ ~/bin/jhbuild shell
I: unknown keys defined in configuration file: libdir
Any ideas?
I got the same problem (Ubuntu 8.10)
Greg, Gert: Does it still work, though? That message shouldn’t be a problem.
Ah! Second time round I didn’t even get the error, and it worked. Thanks.
No, it doesn’t.
The error show up when I try “jhbuild shell”
If I launch gnome-shell with Xephyr all it’s ok (slow, horrible but running in the Xephyr window), if I use –replace the pc hangs and I need an hard reboot. Using ubuntu 8.10 and re-built with jhbuild build –clean –force just an hour ago.
Amazing. Thanks for sharing. I’ll try this.
Hello,
Thanks for the tutorial, but I encountered a problem in step 4/7 of the ~/bin/jhbuild build command :
git fetch
git stash save jhbuild-build
fatal: bad revision ‘HEAD’
fatal: bad revision ‘HEAD’
fatal: Needed a single revision
You do not have the initial commit yet
*** error during stage checkout of gconf: ########## Error running git stash save jhbuild-build *** [4/7]
I verified that the folder ~/gnome-shell/source/gconf is indeed empty.
Does anyone have an idea about what might the problem be ?
P.S : I am using ubuntu 9.04 with all deps installed.
@ Kais:
Try deleting that directory and running “jhbuild build” again. If it still fails, maybe ask on IRC (#gnome-shell at irc.gimp.net), that’s where the developers hang around.
Thank you RainCT for the quick reply. Deleting that folder did solve the problem.
I also needed the following packages due to missing dependencies (you should probably add them to the list):
python2.6-dev
libgnome-desktop-dev
libgnome-menu-dev
now everything works. I am really impressed by the new interface !!