Gnome Shell – Your Next Desktop Environment

Since the release of KDE4, a major overhaul of the KDE desktop, there’s been some grumbling among the Gnome community about if and when Gnome would have a major overhaul. Well with Gnome 3 we’ll have it in the form of Gnome Shell. It pretty much replaces the panel and window manager in a normal Gnome installation with a fully composited environment with some great new functionality.

Installation

It’s important to note right away that Gnome Shell is still in fairly early development. There is no stable release or package, we’ll be downloading and installing from source code using an auto build script. While I had no trouble at all with the installation, things could change at any moment so there’s certainly no guarantees that it will build, let alone run. That said, Gnome Shell has so far given me no trouble at all.

First, we’ll need jhbuild, a tool that’ll help with the installation. It’s probably in your distro’s repositories. Debian/Ubuntu users an fetch it with:

sudo apt-get install jhbuild

Next we download and run the installation script:

wget http://git.gnome.org/cgit/gnome-shell/plain/tools/build/gnome-shell-build-setup.sh
bash gnome-shell-build-setup.sh
jhbuild build

This will take a little while. It ran for about 10 minutes on my Core 2 Duo test machine. Fortunately, there were no errors during any part of it during my installation.

Running

BEFORE RUNNING GNOME SHELL, make sure to disable Compiz if you’ve got it running. Ubuntu users can do this by opening your normal Gnome panel to System -> Preferences -> Appearance and turning off desktop effects. Once you’re sure any desktop effects have been disabled, save any work you’re not willing to risk, and enter the following in your terminal:

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

If you find yourself liking Gnome Shell and running it often, I’d suggest making an alias in your .bashrc file for the command above.

Launching Applications

The main difference in working with the Gnome Shell desktop is that your panel on the top is not your normal panel, Once you click Activities, you’ll see a completely different interface from what you’re used to.

gnome-shell-single-desktop

You can also open the Activities screen by hitting the Super (aka Windows) key on your keyboard. On the left, you’ve got the equivalent of the old menu system. The top of that panel is the Find box, which operates like many of the desktop finder tools out there. You can type in the name of a program (like “firefox”) to run it, or you can specify a word in the program’s description, like below.

gnome-shell-finder

The other method of launching programs is to click the Browse button under Applications, if you prefer using menus.

Multiple Desktops

No Linux desktop environment would be complete if it wouldn’t run multiple desktop screens to manage all your apps. Gnome Shell is no different, and provides an interesting take on these often-used workspaces.

With the Activities screen up, you’ll see a small round “+” icon in the bottom right corner of your screen. Click that to add new workspaces to your desktop.

gnome-shell-multi-desktop

Even though Gnome Shell is still in pretty early stages, they’ve already included some great usability features. For example, with the Activities up, you can click an application icon to launch in your current workspace, or drag the launch icon onto the appropriate workspace. So in the screenshot above, for example, I could drag the Firefox icon onto the third desktop to make it open there directly. Once a window is open, you can easily drag it from one workspace to the next. This video demonstrates exactly what I mean.

Sidebar

This is a nice little feature that’s not much right now but my guess is that it could evolve into a great little tool. If you click your username in the top right corner of the screen, you can choose to enable the Sidebar. If enabled, it sits at the left edge of the screen and can be collapsed to a thin bar or expanded into a small box by clicking the arrows at the top.

gnome-shell-sidebar

Eye Candy

The most obvious comparison for a composited window manger like Gnome Shell would be to Compiz. They’ve both got window animation effects for things like minimizing and opening windows, as well as transparencies and everything else you’d expect from a composited setup. The difference, so far at least, seems to me to be the purpose of those effects. Compiz puts much more emphasis on pure decoration like rain drops and wobbly windows whereas the Gnome Shell effects are generally more practical. That’s not to say Compiz doesn’t have some handy features, and this could all change as Gnome Shell development goes on.

Conclusion

My overall impression of Gnome Shell is most certainly positive. There’s clearly been a lot of thought put into its design, and some equally impressive coding behind the implementation. The visual effects are pleasing but not overwhelming, and the interface is very intuitive and takes almost no effort to understand.

That said, there’s still plenty of room for development. So far I’ve found essentially no configuration options of any kind, so at the moment it seems you’re stuck with having the shell exactly the way it was installed, like it or not. Fortunately for me, I like it. I’m sure configuration options will improve as development continues and more tools and features are added, so that’s not so much a complaint as a suggestion to be patient. It looks like it’ll be worth the wait.