Gnome 3.8 on Ubuntu 12.04.2 lts [duplicate]

Solution 1:

Installing from the Software Center (11.10 and newer)

Open the software center search for "gnome shell" and install it, or just click this button:

Install via the software center

enter image description here

After it installs, log out.

  • For 11.10

    at the login screen click the little gear icon and select "GNOME" from the menu.

    Screenshot credited to datengrund.de/wp-content/uploads/2012/03/1.png

  • For 12.04 and 12.10

    At the login screen click the icon show and select "GNOME" from the menu.

    enter image description here

    Screenshot credited to 3.bp.blogspot.com/-2Z6BaRDokKs/T5pFnOu92sI/AAAAAAAADtg/bD8BAJuEh5M/s320/Gnome-Shell-session-menu.png

After that just put in your password and login:

The login manager will remember the last session you went into so you only need to select GNOME once, after that you can just login normally.

Customizing it further

You can also use the fallback mode if you prefer an old-school experience:

  • How to revert to GNOME Classic Desktop?

And if you use auto logins you might need to tell lightdm to always use shell:

  • How can I use gnome shell by default instead of unity?

Other Goodies to install with it

  • gnome-documents Install gnome-documents
  • gnome-boxes Install gnome-boxes

Command Line Instructions:

 sudo apt-get install gnome-shell


Where to report problems:

  • Discussion about GNOME3 packaging (Mailing list link on the bottom left): https://launchpad.net/~gnome3-team
    • Most problems and issues with this set of packages can go on this list, it should be the first place you report problems and issues.
  • Bug reports that are NOT packaging related: https://bugzilla.gnome.org/
    • If GNOME3 isn't working well it could be packaging related, so please don't just randomly report bugs to GNOME unless you are confident that it's an upstream GNOME problem.
    • If you're not sure if you should report the bug upstream then ask someone either on IRC or on the mailing list above if you need help determining if something should be reported to GNOME.

Solution 2:

Building GNOME Shell from source

(Last content update: 11. Feb. 2011, based on the official guide, feel free to edit.)

0. Warnings/errors during compilation

GNOME Shell is under heavy development and sources are often updated a couple of times a day. While below instructions generally should work, it can happen that successful compilation needs some hacks or is not possible at all.

If you encounter any problems, check:

  • the GNOME Shell thread on ubuntuforums.org
  • the IRC channel #gnome-shell on irc.gnome.org (keep an eye on the channel's topic!)
  • the GNOME Shell mailing list
  • there's also a list of common problems

Current problems:

  • It's necessary to remove a couple of files in the library directories, else compilation will fail. When doing system updates, those files could return: read this for an explanation why it's necessary to remove those files and how to prevent upgrades to re-install them.

    sudo rm -rf /usr/lib*/*.la
    

    (No worries, this won't harm your system!)

  • Before being able to run GNOME Shell, you need to remove a file after the build process:

    rm ~/gnome-shell/install/lib*/gtk-3.0/modules/libcanberra-gtk-module.so
    


1. Building GNOME Shell

(Tested on Ubuntu 10.10 32-bit and the development version of Ubuntu 11.04 64-bit.)

The following will download, compile, and install GNOME Shell in a sandbox-like way - meaning, it won't touch the rest of your system!

  • Install dependencies:

    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
    
  • Get GNOME Shell's setup script:

    curl -O https://git.gnome.org/browse/gnome-shell/plain/tools/build/gnome-shell-build-setup.sh
    
  • Build the build tool jhbuild and download configuration files:

    /bin/bash gnome-shell-build-setup.sh
    
  • This will install jhbuild to ~/bin, which you need to add to your PATH-variable:

    . ~/.profile
    
  • [Optional]: You can change several jhbuild options like the path for downloading sources, etc. via editing the file ~/.jhbuildrc-custom.

  • Start the build process:

    jhbuild build
    

This will (currently) compile 33 modules. Get a cup of coffee, take a nap -> it will take some time.

Once you see *** success *** [33/33] you are done. Congratulations, you've just compiled GNOME Shell!

2. Running GNOME Shell

  • If you're running Compiz, you first need to stop it (by starting Metacity) or else GNOME Shell won't start:

    metacity --replace &
    
  • Finally, run:

    cd ~/gnome-shell/source/gnome-shell/src
    ./gnome-shell --replace
    

That's it, you hopefully should now be running GNOME Shell.

3. Making GNOME Shell the default window manager

In Ubuntu 10.10, you can simply replace the GNOME session's window manager via changing a GConf key:

  • Create a local .desktop launcher for GNOME Shell:

    ln -s ~/gnome-shell/install/share/applications/gnome-shell.desktop ~/.local/share/applications/gnome-shell.desktop
    
  • Then change the session's window manager to be GNOME Shell:

    gconftool-2 -s /desktop/gnome/session/required_components/windowmanager "gnome-shell" -t string
    
  • To revert the change, run:

    gconftool-2 -s /desktop/gnome/session/required_components/windowmanager "gnome-wm" -t string
    

In Ubuntu 11.04, changing the windowmanager key doesn't seem to work. Instead you can add a new session item that you can select at the GDM login screen. Therefor you need to create the local .desktop file like above and then create two files:

  1. A session file: /usr/share/gnome-sessions/sessions/gnome-shell.session:

    [GNOME Session]
    Name=gnome-shell
    Required=windowmanager;
    Required-windowmanager=gnome-shell
    DefaultApps=gnome-settings-daemon;
    
  2. The session item pointing to the session file: /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
    

Log out, and you should be able to choose GNOME Shell as session.

4. Updating GNOME Shell

  • Running

    jhbuild build
    

    should update the sources and rebuild what's necessary.

  • If it fails for a module, e.g. you get something like this:

    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]
    

    then you can try to wipe the current module directory and start with clean sources by choosing option 6:

    [6] Go to phase "wipe directory and start over"
    
  • If that doesn't help, you can start from scratch by running:

    jhbuild build -afc
    

Still not compiling? Then check the places mentioned in 0.