Install GNOME Shell in Ubuntu 10.10 Maverick

19

GNOME Shell is a component of GNOME 3.0 which is the next generation of the GNOME Desktop Environment scheduled for release in April 2011. With the release fast approaching you may be eager to give it a try on your current Ubuntu 10.10 installation.

There are currently two ways to install GNOME Shell. The easiest method is to install the gnome-shell package in the Ubuntu repository. Unfortunately the latest version supported in Ubuntu 10.10 is 2.32 which will give you a good taste of what to expect, but is outdated compared with the latest development releases (2.91.x series will become the official 3.0 stable release). The second method is to build from source. This will give you the latest version but is slightly more complex. If you are comfortable with the command line it shouldn’t be too much of a hassle.

Method 1: Install Old (2.32) Version from the Repository

GNOME Shell is in the Ubuntu repositories by default, simply install it with apt-get. Unfortunately this will give you the outdated 2.32 version.
$ sudo apt-get install gnome-shell

Alternatively you can install the gnome-shell package from the Ubuntu Software Center.

Method 2: Build Latest (3.X) Version from Source

The following steps will give you the latest bleeding edge version of GNOME 3. This will NOT break your current GNOME 2 installation, but simply install GNOME 3 and its dependencies along side your current packages. You will be free to switch between GNOME 2 and 3 at will.

1) Install Dependencies

Run this command to install the GNOME Shell dependencies.
$ sudo apt-get install curl libtiff4-dev libgstreamer0.10-dev libcroco3-dev xulrunner-dev mesa-utils mesa-common-dev libreadline5-dev libgl1-mesa-dev libwnck-dev librsvg2-dev libgnome-desktop-dev libgnome-menu-dev libffi-dev libgtk2.0-dev libgconf2-dev libdbus-glib-1-dev gtk-doc-tools gnome-common git-core flex bison automake build-essential icon-naming-utils autopoint libvorbis-dev libpam-dev libgcrypt-dev libtasn1-dev libtasn1-3-bin libgnome-keyring-dev libupower-glib-dev libxklavier16 libxklavier-dev xserver-xephyr python-dev libpulse-dev libjasper-dev jhbuild libgtop2-dev libsqlite3-dev libproxy-dev libdb-dev libproxy-dev libcups2-dev libusb-1.0-0-dev

2) Download the Source

Get the script to setup your jhbuild environment.
$ wget http://git.gnome.org/browse/gnome-shell/plain/tools/build/gnome-shell-build-setup.sh

Make the script executable.
$ chmod +x gnome-shell-build-setup.sh

Execute the script. This will install jhbuild.
$ ./gnome-shell-build-setup.sh

3) Build GNOME 3

This command will download the latest source code and build GNOME 3. GNOME Shell includes 40+ packages that need to be downloaded and built. This can take a significant amount of time to complete so be patient.
$ jhbuild build

4) Keep GNOME 3 Up to Date

You are running the bleeding edge version of GNOME 3 and because of this the code in the git repositories will be constantly changing. To test the latest changes after your initial insallation simply run the following command. This automatically update your local copy of the source code and rebuild if there are any changes to GNOME 3 package or its dependencies.

$ jhbuild build

Starting GNOME Shell

Alt+F2 and enter:
$ ~/gnome-shell/install/bin/gnome-shell –-replace

Stopping GNOME Shell

To exit and return to your default Gnome 2 hit Alt+F2 and enter:
debugexit

Troubleshooting

If you are using an NVIDIA graphics card and are having problems with speed.
Fix Slow Animations in GNOME Shell for NVIDIA Graphics Cards

This guide will walk you through the steps necessary to download the source code and build the GNOME 3 package. It is helpful if you run into any problems.
Build GNOME Shell

Share.
  • http://scmastering.com Ben Williams

    gnome-shell –replace

    should be:

    gnome-shell -–replace

    • Ryan

      Thanks, fixed.

  • Presian

    Is it normal that installation is lasting 2-3 hours ?

    • Ryan

      Yes, the process can take quite a while. There are 41 projects that need to be downloaded and built.

  • Stephen Cradock

    “jhbuild build” fails with the following message

    *** module gnome-shell not built due to non buildable gnome-bluetooth *** [38/41]
    *** module gnome-power-manager not built due to non buildable gnome-control-center *** [39/41]
    *** module gnome-shell-full not built due to non buildable gnome-shell *** [40/41]
    *** module gnome-shell-full not built due to non buildable gnome-power-manager *** [40/41]
    *** module gnome-shell-using-gir-repository not built due to non buildable gnome-shell-full *** [41/41]
    *** the following modules were not built *** [41/41]
    gnome-control-center gnome-bluetooth gnome-shell gnome-power-manager gnome-shell-full gnome-shell-using-gir-repository

    Any hints? This is maverick, fully updated as of April 16th 2011.

    • Ryan

      Since you are dealing with the latest code it is most likely that a build error has been introduced. If this is the case waiting a couple hours and then rebuilding the project might work for you.

      • Stephen Cradock

        Thanks for the suggestion. Today the build failed even earlier, with evolution-data-server failing first, and other modules refusing to build in turn. Doesn’t seem to work for me at the moment.

  • Pingback: GNOME 3 on Linux Mint 10 « Martin Webster, Esq.()

  • Ron Wyllys

    I’ve used your instructions to try to install GNOME Shell in 11.04. The “jhbuild build” instruction ends with

    *** success *** [41/41]

    But when I issue the command gnome-shell –replace, here is what I get:

    ron@ron-desktop-ubuntunatty:~$ gnome-shell –replace
    gnome-shell: command not found

    Any suggestions?

    • Ryan

      Your $PATH environment variable does not include the location of the gnome-shell binary. Try this:

      $ ~/gnome-shell/install/bin/gnome-shell --replace

      Or you can set your $PATH variable. Add the first line to your ~/.bashrc file to make this a permanent change to your environment.
      $ export PATH=$PATH:~/gnome-shell/install/bin
      $ gnome-shell --replace

  • Deep

    I get error on 17th package name data server:-
    make[3]: Nothing to be done for all-am'.
    make[3]: Leaving directory
    /root/gnome-shell/source/evolution-data-server/addressbook’
    make[2]: Leaving directory /root/gnome-shell/source/evolution-data-server/addressbook'
    Making all in calendar
    make[2]: Entering directory
    /root/gnome-shell/source/evolution-data-server/calendar’
    Making all in libegdbus
    make[3]: Entering directory /root/gnome-shell/source/evolution-data-server/calendar/libegdbus'
    make[3]: Leaving directory
    /root/gnome-shell/source/evolution-data-server/calendar/libegdbus’
    Making all in libecal
    make[3]: Entering directory /root/gnome-shell/source/evolution-data-server/calendar/libecal'
    make all-am
    make[4]: Entering directory
    /root/gnome-shell/source/evolution-data-server/calendar/libecal’
    GISCAN ECalendar-1.2.gir
    /root/gnome-shell/install/lib/libgio-2.0.so: undefined reference to g_source_get_time'
    /root/gnome-shell/install/lib/libgio-2.0.so: undefined reference to
    g_list_free_full’
    /root/gnome-shell/install/lib/libgio-2.0.so: undefined reference to g_time_zone_refresh_local'
    /root/gnome-shell/install/lib/libgio-2.0.so: undefined reference to
    g_signal_accumulator_first_wins’
    /root/gnome-shell/install/lib/libgio-2.0.so: undefined reference to g_get_environ'
    /root/gnome-shell/install/lib/libgio-2.0.so: undefined reference to
    g_source_set_dummy_callback’
    /root/gnome-shell/install/lib/libgio-2.0.so: undefined reference to g_main_context_invoke'
    /root/gnome-shell/install/lib/libgio-2.0.so: undefined reference to
    g_source_add_child_source’
    /root/gnome-shell/install/lib/libgio-2.0.so: undefined reference to g_get_monotonic_time'
    collect2: ld returned 1 exit status
    linking of temporary binary failed: Command '['/bin/bash', '../../libtool', '--mode=link', '--tag=CC', '--silent', 'gcc', '-o', '/root/gnome-shell/source/evolution-data-server/calendar/libecal/tmp-introspectEK3vqx/ECalendar-1.2', '-export-dynamic', '-L.', 'libecal-1.2.la', '../../calendar/libegdbus/libegdbus-cal.la', '../../libedataserver/libedataserver-1.2.la', '-pthread', '-L/root/gnome-shell/install/lib', '-lgio-2.0', '-lgobject-2.0', '-lgmodule-2.0', '-lgthread-2.0', '-lrt', '-lglib-2.0', '/root/gnome-shell/source/evolution-data-server/calendar/libecal/tmp-introspectEK3vqx/ECalendar-1.2.o']' returned non-zero exit status 1
    make[4]: *** [ECalendar-1.2.gir] Error 1
    make[4]: Leaving directory
    /root/gnome-shell/source/evolution-data-server/calendar/libecal’
    make[3]: *** [all] Error 2
    make[3]: Leaving directory /root/gnome-shell/source/evolution-data-server/calendar/libecal'
    make[2]: *** [all-recursive] Error 1
    make[2]: Leaving directory
    /root/gnome-shell/source/evolution-data-server/calendar’
    make[1]: *** [all-recursive] Error 1
    make[1]: Leaving directory `/root/gnome-shell/source/evolution-data-server’
    make: *** [all] Error 2

    Any help ?

  • Deep

    And this error too while building package 32 gnome setting daemon.

    /root/gnome-shell/install/lib/libgtk-3.so: undefined reference to g_source_get_time'
    /root/gnome-shell/install/lib/libgio-2.0.so: undefined reference to
    g_source_set_dummy_callback’
    /root/gnome-shell/install/lib/libgio-2.0.so: undefined reference to g_main_context_invoke'
    /root/gnome-shell/install/lib/libgio-2.0.so: undefined reference to
    g_source_add_child_source’
    /root/gnome-shell/install/lib/libgtk-3.so: undefined reference to g_list_free_full'
    /root/gnome-shell/install/lib/libgio-2.0.so: undefined reference to
    g_get_environ’
    /root/gnome-shell/install/lib/libgio-2.0.so: undefined reference to g_signal_accumulator_first_wins'
    /root/gnome-shell/install/lib/libgtk-3.so: undefined reference to
    g_get_monotonic_time’
    /root/gnome-shell/install/lib/libgio-2.0.so: undefined reference to g_time_zone_refresh_local'
    /root/gnome-shell/install/lib/libgtk-3.so: undefined reference to
    g_slist_free_full’
    collect2: ld returned 1 exit status
    make[5]: *** [test-media-keys] Error 1
    make[5]: Leaving directory /root/gnome-shell/source/gnome-settings-daemon/plugins/media-keys'
    make[4]: *** [all-recursive] Error 1
    make[4]: Leaving directory
    /root/gnome-shell/source/gnome-settings-daemon/plugins/media-keys’
    make[3]: *** [all] Error 2
    make[3]: Leaving directory /root/gnome-shell/source/gnome-settings-daemon/plugins/media-keys'
    make[2]: *** [all-recursive] Error 1
    make[2]: Leaving directory
    /root/gnome-shell/source/gnome-settings-daemon/plugins’
    make[1]: *** [all-recursive] Error 1
    make[1]: Leaving directory `/root/gnome-shell/source/gnome-settings-daemon’
    make: *** [all] Error 2
    *** Error during phase build of gnome-settings-daemon: ########## Error running make *** [32/41]

    is there any alternative to install latest gnome 3 ??

  • Aditya

    getting the following error

    *** Building evolution-data-server *** [17/41]
    make
    make all-recursive
    make[1]: Entering directory /root/gnome-shell/source/evolution-data-server'
    Making all in libedataserver
    make[2]: Entering directory
    /root/gnome-shell/source/evolution-data-server/libedataserver’
    GISCAN EDataServer-1.2.gir
    g-ir-scanner: EDataServer: warning: 57 warnings suppressed (use –warn-all to see them)
    cp libedataserver.pc libedataserver-1.2.pc
    GICOMP EDataServer-1.2.gir
    make[2]: Leaving directory /root/gnome-shell/source/evolution-data-server/libedataserver'
    Making all in libebackend
    make[2]: Entering directory
    /root/gnome-shell/source/evolution-data-server/libebackend’
    CCLD libebackend-1.2.la
    /bin/sed: can’t read /usr/lib/libxml2.la: No such file or directory
    libtool: link: /usr/lib/libxml2.la' is not a valid libtool archive
    make[2]: *** [libebackend-1.2.la] Error 1
    make[2]: Leaving directory
    /root/gnome-shell/source/evolution-data-server/libebackend’
    make[1]: *** [all-recursive] Error 1
    make[1]: Leaving directory `/root/gnome-shell/source/evolution-data-server’
    make: *** [all] Error 2
    *** Error during phase build of evolution-data-server: ########## Error running make *** [17/41]

    [1] Rerun phase build
    [2] Ignore error and continue to install
    [3] Give up on module
    [4] Start shell
    [5] Reload configuration
    [6] Go to phase “wipe directory and start over”
    [7] Go to phase “configure”
    [8] Go to phase “clean”
    [9] Go to phase “distclean”

    Please advise

  • Nickman

    I am getting the same error as the previous poster. Same error on object 17.

    • Nickman

      Alright apparently all you need to do at this is:
      sudo find /usr/lib*/ -name "*.la" -delete
      then
      rm -rf ~/gnome-shell/install
      followed by
      jhbuild build -afc
      Should get you through.

  • JackOfAll

    This is the worst package ever.

  • Zorin-Linux-Gnome3

    Hey “JackOfAllAsses” if you cant follow instructions go back to M$ Win95

    Linux is NOT for the faint of heart. If you don’t want choices stay with MS WineDoz, “it’s for everyone”

  • Joe

    Hello ,

    when i run sudo ./gnome-shell-build-setup.sh
    Updating jhbuild … done
    Installing jhbuild…
    Writing ~/.jhbuildrc … done

    It ask’s me to add the path below how do i do that ?
    PATH does not contain /home/carolyn/bin, it is recommended that you add that.

  • Pingback: How to Install GNOME Shell on Linux Mint()