Most people think of “Gnome” as a monolithic entity including the window manager (metacity), file manager (nautilus, also responsible for the icons on the desktop), and menu bar (gnome-panel, which also displays the task bar and serves as a dock). However, these are all separate components, tied together by the session manager (gnome-session), and each can be replaced (or turned off) individually.
I use fvwm as my window manager and, while I use gnome-panel (mainly for the notification area functionality), I don’t use nautilus. If you’ve been doing something similar with earlier versions of Gnome, you probably just used commands such as fvwm
--replace to replace the window manager and used the session properties tool (gnome-session-properties) to disable the automatic restart of nautilus before killing it. Perhaps you edited your .gnome2/session file as well to tweak things to your taste.
All this has changed with Gnome 2.24, as used in Ubuntu 8.10 and Fedora 10. Replacing your window manager will not stick between logins, the “Current Session” tab in the session properties tool is gone, the tool offers to way to disable the restart of tools like nautilus, you can no longer save your currently running session, and any .gnome2/session file is ignored. Here’s how we do things in this new world.
gnome-session now always runs a program called gnome-wm as the window manager. Normally this will invoke metacity, but if at login (in your .profile or wherever) you set an WINDOW_MANAGER environment variable to the path to your preferred window manager, that will be used instead.
One problem I’ve noted in moving from Ubuntu 8.04 to 8.10 is that fvwm’s session commands (such as QuitSession) don’t work any more, nor does fvwm restart itself properly. I’d appreciate any thoughts you may have on this.
The gnome configuration database, which you can view and edit at the command line with gconftool-2 and graphically with gconf-editor, contains a key called /desktop/gnome/session/required_components_list. These list components (actually keys under /desktop/gnome/session/required_components, which then have names of components) that cannot be removed from the session.
I personally don’t like nautilus laying over my root window, so I remove it from the list:
$ gconftool-2 --get /desktop/gnome/session/required_components_list
[windowmanager,filemanager,panel]
$ gconftool-2 --type=list --list-type=string \
--set /desktop/gnome/session/required_components_list \
'[windowmanager,panel]'
$ gconftool-2 --get /desktop/gnome/session/required_components_list
[windowmanager,panel]
$
(You can do this with the graphical tool, as well.)
A last thing, not particularly related to the above, is that I like to use Emacs key bindings (^U to erase the line, ^A to go to the beginning of the line, etc.) when editing text in the various boxes popped up by Gnome programs. This is also easily set in the gnome configuration database:
gconftool-2 --type string \
--set /desktop/gnome/interface/gtk_key_theme Emacs
Unfortunately, this setting doesn’t always seem to work in Firefox. It comes and goes for me, and sometimes logging out fixes it, at other times replacing fvwm with metacity, and then going back again, fixes it. I’ve got a bug report in with the Mozilla folks, but the bug seems to be hard to reproduce, so I’m going to need some advice on what I can do to debug the problem when it happens to me.