GNOME 2.0 Release Notes
GNOME 2.0.2 is the newest version of the complete, free and easy-to-use GNOME desktop environment. In addition to basic desktop functionality, it includes a powerful application framework for software developers, with support for object embedding, internationalization and accessibility. GNOME is part of The GNU Project, and is free software.
The GNOME 2.0.2 Desktop and Developer platform includes a complete suite of libraries necessary to support GNOME applications. It also includes all the basic utilities for your day-to-day computing, from a simple weather monitor to a powerful file manager.
GNOME 2.0.2 is compatible with a number of platforms, including GNU/Linux, Solaris, HP-UX, Unix and BSD.
2. What's New in GNOME 2
The lengthy GNOME 2 development cycle allowed the introduction of a number of features that improve performance and usability. It also includes a powerful new framework that can be leveraged by developers.
2.1. Improved Fonts and Graphics
- Fonts can be antialiased (or not, or only antialiased at certain sizes, or whatever you like).
- No flicker in GTK apps
- Images are composited onto backgrounds with full alpha channel, accelerated via MMX and the RENDER extension.
- New enhanced icons.
Streamlining, consistency and coherence have been the primary foci for GNOME 2 Usability work. Above all we have tried to consider you, the user, as the focus of our design.
Streamlining: Rather than adding a great pile of new gadgets and preferences, GNOME 2 has been streamlined. Interface clutter had led to a GNOME where you could almost literally "do less with more". GNOME 2 removes many obscure or rarely used features (one or two of which may have been dear to you personally). In exchange you will find that most of the features you care about are much easier to access because they are not obscured by a million other items.
Consistency: Interfaces that behave according to consistent patterns are easier to learn, faster to use, and less prone to error. The GNOME Human Interface Guidelines have helped make the GNOME 2 interface more predictable, producing consistency between applications and promoting usable patterns within individual applications.
Coherence: The GNOME 2 desktop fits together well. From "Log In" to "Log Out", usability studies, countless brainstorming hours, and tireless hacking have produced a holistic desktop - more than a loose confederation of modules.
Specific user-visible improvements include:
2.2.1. Menus and Panel
- Windows can be dragged between workspaces with the Workspace Switcher applet
- Menus scroll when they get too big
- Smarter menus accommodate diagonal mouse movements
- File selector doesn't forget filenames when selecting a different directory
- Revamped color and font selectors
- New Run Program dialog with command completion
- Text fields include right-click menus for cutting, copying and pasting text
2.2.3. Icons and Themes
- New stock icons and color palette
- Support for theming of stock icons
- CD Player and login screens are now themeable
- A clean and attractive default appearance
- Redesigned and easier to use Search Tool
- Brand new lightweight help application, Yelp
- Control center applications for controlling GNOME 2 properties have been greatly simplified and reduced in number
- Increasing compliance with freedesktop.org standards
- Rewritten terminal application with tabs and profiles
- A brand new dynamic, centralized configuration system
- Many applications have been renamed to better suit their purpose
GNOME 2.0.2 exhibits notable performance improvements over its predecessors and some competitors, even on older, slower machines:
2.3.1. Bradley Shuttleworth
Just installed it smoothly on a P2-233 with 96 Mb RAM. Nautilus fires up a new window in under 5 seconds (which, given that Nautilus took longer than that in 1.4 on my Gigahertz laptop, is a pleasant change).
(And to brag, its faster than Windows XP on my laptop, too... XP takes a shine longer to fire up Explorer, and various other tasks are slightly faster.)
2.4. Keyboard Navigation
Thanks to the GNOME Accessibility Project, GNOME 2 has improved keyboard navigation, including mnemonics that are easier for developers to implement, improved keyboard navigation of the new tree widget and key bindings that are more consistent where standards already exist.
Keyboard navigation is a key part of accessibility support that will be useful to all users, but there are many other aspects to it.
The core of accessibility support is a set of hooks in GTK that allow an external program to query applications about their GUI. For example, an external program can ask what buttons and menu items there are, their state, what their labels contain, and so on. This can be used by a screen reader to tell a blind user what's on the screen, for example.
This would allow a high-level scripting feature with commands such as "activate themenu, choose , , " This kind of scripting would use high level user comprehensible GUI features and would not depend on special application support for scripting. It would just work automatically with any GTK app.
Internationalization has two major changes:
- GNOME 2 has moved to Unicode throughout, so you can mix multiple languages and scripts in the same document, and use funky symbols such as bullets and dingbats in a document.
- GNOME 2 handles “hard” languages such as right-to-left languages and languages that have ligatures and reordering.
GNOME 2 marks the first GNOME release to use libxml2, one of the most complete and standards-compliant free XML libraries available. It includes libxslt, a complete implementation of the XSLT specification.
3. Beyond the Desktop
While the GNOME 2 Desktop and Developer Platform was designed so that users could continue to user their GNOME 1.x applications, in many cases they will not have to wait long for GNOME 2 versions of their favorite software. A number of developers have already begun porting their applications to the new platform prior to its release in order to take advantage of its new features. Examples include:
Gnumeric, the spreadsheet. The 1.1.x series contains the GNOME 2 versions.
GNOME-DB, a database integration toolkit.
GIMP, the GNU Image Manipulation Program.
Xchat, an IRC client
MrProject project management software.
- File Roller
File Roller, an archive manager.
Bluefish HTML editor.
Gthumb, an image manager.
Eclipse development platform.
4.1. Build Order
The packages should be built in the following order:
It is possible to build all these packages in a different location from the default /usr/local (by passing the
4.2. Parallel Install
GNOME 2.0.2 may be installed in parallel with the GNOME 1.4.1 release libraries, allowing you to use GNOME 2.0.2's primary desktop functions - panels, Nautilus, etc. - while also running applications that have not yet been ported and therefore still require GNOME 1.4 libraries.
For some GNOME 1.x apps, you need the GNOME 1.x control-center (eg: gnome-pilot for use in Evolution).
GARNOME builds GNOME 2.0.2 from released tarballs. It is maintained by Jeff Waugh, the GNOME 2 release coordinator, and can be found here.
4.4. GNOME Installation Guide
Karsten Reincke has written a GNOME Installation Guide.
4.5. Upgrading from GNOME 1.4
After building and/or installing all of the packages successfully, there are a couple of things that need to be done start using the latest release.
Ensure that any existing GNOME 1.x sessions have been exited and check that GConfd has stopped (run ps ax | grep [g]conf). If gconf is still running, execute the command gconftool-1 --shutdown to stop it.
In order to have anti-aliased fonts in menus and applications, you will need to make sure that the environment variable GDK_USE_XFT is exported before running the appropriate applications, enabling rendering to use GNOME 2's new font architecture. For example, you might put the following in $HOME/.gnomerc:
export GDK_USE_XFT=1 exec gnome-session
With this set, fonts will then be rendered according to the configuration of /etc/X11/XftConfig (moving to /etc/fonts/fonts.conf in a future version, as we move to fontconfig instead of Xft1). Settings in XftConfig or fonts.conf determine how fonts are rendered, including whether to use hinting and antialiasing.
There have been cases of the initial login to GNOME 2 not going quite smoothly and a lot of errors about CORBA connections not being completed popping up in error boxes (and nothing else starting). This can be probably fixed by stopping the session (returning to the gdm screen or to the command prompt) and then (in a terminal) removing the /tmp/orbit-user directory (and all of its contents), where user is replaced with the appropriate user's login name.
The FreeBSD GNOME Project is providing ports.
Notes about building on Solaris.
The following packages above and beyond those found on a complete Solaris system are needed:
- gettext 0.10.40
- popt 1.6.2
- freetype >= 2.0.2
- libaudiofile >= 0.2.3
- sox >= 12.17.3
- jpeg v6b
- libpng 1.0.12
- tiff 3.55
- scrollkeeper 0.3.10
- ghostscript 6.53
In addition, you need a compiler, either gcc or Forte 6 update 2. Older versions of forte/Sunpro have been known to cause problems.
There are a number of patches recommended for building GNOME on Solaris, which can be obtained from http://sunsolve.Sun.COM/pub-cgi/show.pl?target=patches/patch-access:
* Solaris8/sparc: 108528-14 108827-20 108989-02 110934-07 111293-04 112396-02 108652-51 108987-09 110380-04 111111-03 111310-01 112438-01 * Solaris8/x86: 108529-14 108828-22 108990-02 110935-07 111294-03 111311-01 112439-01 108653-41 108988-09 110403-04 111112-03 111307-03 112397-02
If you are using the native iconv implementation on Solaris instead of libiconv, you'll need to make sure that you have the converters between locale encodings and UTF-8 installed. At a minimum you'll need the SUNWuiu8 package. You probably should also install the SUNWciu8, SUNWhiu8, SUNWjiu8, and SUNWkiu8 packages.
With the latest releases, the GTK family builds cleanly out of the box. More work is needed to get GNOME running, however. A gnome-darwin-list has been set up for those interested in working on issue.
Building GNOME 2.0.2 on GNU/Linux requires a number of standard packages included with most distributions. Below are listings of the packages as they are named in several of the most common distributions.
- libgdbmg1-dev (librep)
- libgmp3-dev (librep)
- texinfo (librep)
- libbz2-dev, zlib1g-dev (gnome-vfs, others)
- python2.2 + python2.2-xml (libglade)
- docbook-xml (Docbook DTD 4.1.2) + docbook-xsl (Docbook XSL Stylesheets)
220.127.116.11. Red Hat
All of the following packages are required for a full build. Most should be installed by default and all will be available from the distribution itself. Alternatively, www.rpmfind.net is a good place to find the appropriate packages. I have used the “official” Red Hat names for each one. This is taken from a Red Hat 7.3 box, so it should be the same names across all Red Hat 7.x boxes and there are possibly some small changes on the 6.x boxes (plus some version problems on those boxes, too).
Plus whatever XFree86 packages are required for the system to run.
This is the GNU multi-precision library, not libgpm, the mouse library.
- byacc or bison
python >= 2.0 with expat support
This means you need to be able to start python, it has to be version 2.0 or greater and “from xml.parsers import expat” must work from the Python prompt. In other words, running python2 -c "from xml.parsers import expat" from a shell prompt and having no error reported is sufficient.
GNOME 2 binary packages are available in Mandrake Cooker (Mandrake's experimental / unstable) distribution).
These packages haven't yet been customized to fully integrate in Mandrake Linux (all available applications are not show in menu, some features available in Mandrake version of GNOME 1.4 have not been ported yet to GNOME 2).
All of the following packages are required for a full Mandrake build. Most should be installed by default and all will be available from the distribution itself. Packages are from Mandrake Linux 8.2. (Hint : use urpmi my_package to install my_package)
- XFree86-devel (Plus whatever XFree86 packages are required for the system to run.)
- libgmp3-devel (This is the GNU multi-precision library, not libgpm, the mouse library.)
- byacc or bison
- python >= 2.0 with expat support. This means you need to be able to start python, it has to be version 2.0 or greater and “from xml.parsers import expat” must work from the Python prompt. In other words, running python2 -c "from xml.parsers import expat" from a shell prompt and having no error reported is sufficient.
4.7. System Requirements
As discussed Section 2.3 ― Performance, GNOME 2 requires less resources than GNOME 1.4. We recommend a P400 or equivalent with 128M RAM for using the desktop, but it has been known to work on a system with as little as a P166 with 64M RAM.
Themes - changing the look of your desktop - are a favorite preoccupation for many GNOME users. GNOME 2 offers abundant opportunities to play with themes, including gtk+, the window managers, GDM, Nautilus and more.
A GNOME themes web site, Sunshine in a Bag, has been established.
Things that may bite or surprise... or both!
6.1. Panel Menus Disappear
With the return of menu editing, old vfolder configurations and changes may affect your menus in the 2.0.2 release. You can remove past menu changes by deleting your ~/.gnome2/vfolders/ directory and restarting the panel.
6.2. Dialogue Buttons
Dialogue buttons are slightly different in GTK+ and GNOME 2.x, to fit in with our new Human Interface Guidelines. Whilst the new button order may simply look 'backwards', they do adhere to a consistent and elegant design. It is described in the Alert Buttons section of the HIG.
As a rule, preference dialogs are now auto-apply, so do not be surprised by the lack of anbutton.
6.4. Tearable menus
Tearable menus are gone by default. To reinstate them, use gconf-editor and change the value of /desktop/gnome/interface/menubar_detachable to TRUE.
Changing this GConf key does not instantly apply. To ensure that the change takes place, you must log out, kill any GNOME daemons still running (such as bonobo-activation), and log in again.
6.5. Cut and Paste
The clipboard is a common source of confusion. GTK has always done the right thing for the clipboard, and the version used in GNOME 2 is no different. See http://www.freedesktop.org/standards/clipboards.txt. If the clipboard doesn't work it's because some application is not following the spec correctly; please file bug reports for those applications.
Qt 2 does not follow the clipboard specs correctly, so correct applications do not interoperate with Qt 2. Qt 3 fixes this problem.
6.6. Nautilus default desktop selections have changed colors
In the process of fixing bug bug 82194, the way nautilus displays selected text on the desktop was changed; this makes all existing nautilus themes use the gtk selection color in this case. This may look like a bug but it is, in fact, a feature :) If the old behavior is still desired, the theme has to be fixed. For more on this, including how to fix themes to display the old behavior, see Federico's emails to nautilus list.
7. Known Issues
All software, when it is released, contains bugs the developers know about but have elected, for a variety of reasons, not to fix before releasing. Free software is no different in this regard from proprietary software, except that with free software, we tell users about them.
We also encourage our users to report bugs so that they can be fixed. The best way to report bugs found in GNOME 2.0.2 is to use the Simple Bug Guide. The Simple Bug Guide will take you through the necessary steps to file a quality bug report, and make sure that it is tagged appropriately. If you're too advanced for anything with the word 'simple' in it, there is also the traditional bug form. Please make sure to add the 'GNOME2' keyword to any bugs reported that way.
More details on bugs already reported can be found at our Bugzilla. Among the most prominent GNOME 2.0.2 bugs:
7.1. Internationalization of gnome-terminal is broken
Unfortunately, gnome-terminal is broken in many non-ASCII locales. A fix for this was proposed but caused many other problems and as a result, was withdrawn. The current progress can be tracked in bugzilla number bug 78007 or in the libzvt-i18n branch of the zvt module.
7.2. Some features formerly provided by viewports no longer available in Sawfish
In order to simplify sawfish code and user interface, viewports have been removed from Sawfish2. The current functionality replaces nearly all viewport functionality, except two-dimensional workspace navigation. This is bug number 82337.
The following has been reported as a workaround when added to .sawfishrc:
;; Get viewports back (setq customize-command-classes '(default viewport)) ;; (setq viewport-dimensions '(NUMBER_OF_COLS . NUMBER_OF_ROWS)) (setq viewport-dimensions '(6 . 1)) ;; example
8. Fixed in this Release
The GNOME 2.0.x Desktop releases are devoted to bugfixes, translations, user interface consistency, and general polish of our major 2.0 Desktop release. In GNOME 2.0.2, you'll see the results of continued performance and stability work, and plenty of bug fixes:
- 318 total GNOME2 bugs marked fixed
Major bugs mentioned in the previous release notes have now been fixed and are listed here:
8.1. Menu editing returns
Menu editing returns in GNOME 2.0.2! Because a number of bugs existed in the menu editing implementation, and the best fixes for some of them were not reverse compatible, we did not include menu editing in previous releases. Details on the menu architecture and tips for manual editing of menus can be found in our menu editing guide.
8.2. New mime type handlers not always visible in nautilus
When a new mime-type handler was installed, it did not show up correctly in Nautilus right-click menus. Was fixed in GNOME 2.0.2.
8.3. NFS-mounted $HOME directory
For people with NFS-mounted $HOME directories, it was not possible to drag files from the Nautilus view windows to the trashcan (it would generate an error about the trash file not being a directory). This was fixed in GNOME 2.0.1 and was bug 82644.
GNOME 2 uses $HOME/.gnome2 and $HOME/.gnome2_private as directories for storing stuff. However, you could not completely remove $HOME/.gnome, since gnome-vfs needs it and did not create it, so any modifications that gnome-vfs needs to save in the user's directory would not be saved. Thus, users needed to create a $HOME/.gnome directory before starting GNOME 2. This was fixed in 2.0.1 and was bug 84183.
8.5. Cannot drag and drop from Nautilus list view
It wasn't possible to drag and drop files from the list view as you can in the icon view. This was fixed in GNOME 2.0.1 and was bug 74974.
9. Getting Involved
The core of GNOME's success is its volunteers, both developers and users. As a user, your contribution can be as simple as filing good bug reports. GNOME's bugs are found at our Bugzilla. Bugmeister Luis Villa has set up a simple bug-filing interface to make it easier to file useful reports.
If you would like to take the next step, developers, documenters, web developers, documenters and bug handlers are always welcome. More information on getting involved can be found here.