The user interface shell of the open source GNOME desktop environment was completely redesigned for GNOME 3.0, which was released last month. The update brought a multitude of significant changes to the environment's underlying technical infrastructure and the user-facing desktop experience. Fedora became the first major Linux distribution to ship the new GNOME environment with the official launch last week of Fedora 15.

Now that we have had the opportunity to spend some serious hands-on time with a well-packaged GNOME 3.0 configuration on a production desktop system, we can make some informed judgements about the user interface changes. The new GNOME shell has a ton of intelligent usability improvements and productivity-enhancing features, but it's still far from perfect. There are some design decisions that we don't understand, some that are highly debatable, and a very small handful that are just plain bad.

The good work that has been done to improve the user experience is undermined by some ill-conceived defaults. Matters are made worse by the environment's general lack of user-accessible configurability. Fortunately, the environment is quite flexible under the hood. There are a number of changes that users can make to mitigate the most serious deficiencies of GNOME 3.0.

In this article, we will look at some specific things that you can do to improve your GNOME 3.0 experience. The following instructions are intended for Fedora 15 users, but can likely be adapted to work on other distributions that ship with GNOME 3.0.

Puzzling power play

A lot of the complaints about GNOME 3.0 user interface changes revolve around matters of taste and familiarity. In some cases, however, the problem is genuinely bad design. The most irritating example in GNOME 3.0 is the deliberate decision to leave the reboot and shutdown options off of the system menu by default.

The developers argue that users should generally suspend their computers instead of shutting down. In order to encourage that pattern of behavior, they hid the shutdown and restart menu items. By default, shutdown will not be displayed and the restart option will only appear when you have system updates that need to be applied. Team GNOME apparently forgot that some people dual-boot or occasionally need to replace laptop batteries.

Users can override this behavior and get the shutdown menu option to show up by holding the alt key when they click the menu. The keyboard modifier is not even remotely discoverable and will leave many users feeling confused when they try to turn off their computer. I had no idea that it existed until I asked on Twitter. During my Fedora 15 testing, I had to shut down the computer by first logging out of GNOME 3.0 and then using the shutdown feature in the login greeter.

Fortunately, there is an easy fix. You simply have to install the gnome-shell-extensions-alternative-status-menu package from the Fedora repository. It will install a GNOME Shell extension that will make the reboot and shutdown menu items permanent, thus obviating the need for the keyboard modifier.

Desktop icons

In the quest to dispel desktop debris, the GNOME developers got rid of desktop-based file management. In the default configuration, users can no longer see files and folders on their desktop. The GNOME developers are experimenting with other file management paradigms and intend to offer a compelling alternative to desktop file management in future versions of the environment, but there is simply no equivalent functionality in the 3.0 release.

Fortunately, it's pretty easy to get back the traditional desktop behavior. There is a hidden setting in dconf that you can toggle to get the Nautilus file manager to render the desktop just like it did in previous versions of GNOME. You have to set the value of the org.gnome.desktop.background.show-desktop-icons key to the boolean "true" value.

The easiest way to change the setting is to use the dconf-editor graphics configuration management utility, which is available from the Fedora repositories. You could also change the setting from the command line with the dconf tool.

Once the setting has been enabled (you only need to do it once, and it should remember), you just have to start up the Nautilus file manager. You may notice a temporary rendering glitch that occurs when Nautilus starts drawing the desktop. To ensure that you always have icons, you might want to make the Nautilus process will start automatically at login. You can do that by adding it to the session with the gnome-session-properties utility.

Persistent dock

One of my biggest complaints about GNOME 3.0 when I reviewed the desktop last month was the lack of visual cues to indicate what applications are currently running. The dock that displays the running applications is in the Activities panel, which means that I have to activate it in order to see what is going on. I wanted to be able to put a persistent dock on the desktop so that I always have a clear view of what programs are running.

Fortunately, there is a shell extension that offers exactly that. All you have to do is install the gnome-shell-extensions-dock in Fedora 15 and it will give you a real task dock on the right-hand side of the screen that has the window properties of a panel and is fully visible at all times.

This dock is integrated with GNOME Shell and works well enough for standard task management, but it's a bit simplistic. If you want a more sophisticated desktop dock in GNOME 3.0, you can install one of the powerful third-party dock utilities such as Docky or Awn.

Bringing back the minimize and maximize buttons

One of the most controversial design decisions in GNOME 3.0 leading up to the desktop's launch was the removal of the minimize and maximize buttons from window titlebars. The lack of a persistent desktop dock in the default GNOME 3.0 configuration makes minimization unpractical because it's not immediately obvious to users how to get their windows back after they minimize them.

The developers say that it makes more sense for users to move temporarily unwanted windows to other workspaces—a user interaction pattern that works well with the shell's excellent new dynamic workspace feature. Those of us who use a lot of windows, however, still often find a need for minimization. The feature is still available from the window titlebar context menu, but it's no longer a one-click operation.

To get back the classic titlebar buttons, you have to adjust a hidden window manager setting. The relevant setting is still stored in gconf, the legacy GNOME configuration system. It's important to note that this is a completely separate system from dconf, which we used to bring back the desktop icons.

You have to assign the string value ":minimize,maximize,close" to the desktop.gnome.shell.windows key. The easiest way to do this is by installing gconf-editor (which is not the same as dconf-editor ). You can also optionally do it from the command line with the gconftool-2 utility.

Conclusion

If you compare GNOME Shell and Unity with the default settings, Unity ends up being a better environment due to its generally saner defaults and more predictable behavior. A handful of minor tweaks, however, can make GNOME Shell the better environment. GNOME Shell's superior application browser and elegant workspace manager are highly appealing and work really well during day-to-day use. Adding the persistent dock and restoring desktop icons go a long way towards filling in the gaps that hold back an otherwise excellent desktop.

There is an experimental utility called gnome-tweak-tool that provides access to a number of other settings, including font and theme preferences. It's available from the GNOME git repository.

The GNOME developers are still working on improvements and new features that will hopefully fill these gaps in a better way for future versions, avoiding the need for the user to get their hands dirty with under-the-hood configuration changes. For now, users who have a basic understanding of the desktop will be able to rely on these tweaks to get the kind of GNOME 3.0 experience that they want.