Monday, October 17, 2011

Running Gnome Classic at all / with Compiz, Ubuntu Oneiric

In Oneiric 11.10, some users, if not most, have issues with getting the "GNOME Classic" session to run at all, being dropped to the "GNOME Classic (No effects)" session instead. The culprit for that is an entry in its session settings. This is pretty easy to fix, by just removing it; and judging from that those entry isn't included in the settings of the fallback session either, it shouldn't have any undesired side-effects. And I'll also show how to run it with Compiz instead of the default, Mutter.

Update 12/15/2011: Concerning bug report here:

https://bugs.launchpad.net/ubuntu/+source/gnome-session/+bug/885939

Fixing "GNOME Classic"

This change would affect all users, as it's system-wide, and it would also be reverted by an upgrade of the package "gnome-session-fallback". But as I don't want to leave you with a session option you can't use anyway, I think it's better than creating a custom session. And those package shouldn't be upgraded too often anyway.

1. Open "GNOME Classic"s session settings:

gksudo gedit /usr/share/gnome-session/sessions/gnome-classic.session

2. Remove the entry "notifications" from the key "RequiredProviders":

[GNOME Session]
Name=GNOME Classic
RequiredComponents=gnome-panel;gnome-settings-daemon;
RequiredProviders=windowmanager;notifications;
DefaultProvider-windowmanager=gnome-wm
DefaultProvider-notifications=notify-osd
IsRunnableHelper=/usr/lib/gnome-session/gnome-session-check-accelerated
FallbackSession=gnome-fallback
DesktopName=GNOME

3. Save the file, quit.

That's all! After a relogin, the 'real' GNOME Classic should be running, with Mutter, btw.

Troubleshooting

If you get only your desktop wallpaper after login, thus missing the panels, and right-clicking on your desktop also doesn't work, also replace "gnome-wm" with "mutter" in its settings, like shown below. But if you want to run it with Compiz anyway, just move on to the next section.

[GNOME Session]
Name=GNOME Classic
RequiredComponents=gnome-panel;gnome-settings-daemon;
RequiredProviders=windowmanager;
DefaultProvider-windowmanager=mutter
DefaultProvider-notifications=notify-osd
IsRunnableHelper=/usr/lib/gnome-session/gnome-session-check-accelerated
FallbackSession=gnome-fallback
DesktopName=GNOME

Running it with Compiz

In addition, if you want to run "GNOME Classic" with Compiz instead, you just need to change another entry in its session settings. Or if you only want to affect your own or another specific user, there is another, similarly easy way.

Note: After successfully getting Compiz to run, you will notice that the newly discovered Alt + Right-Click combination for accessing the panels' context menu doesn't work anymore, this is apparently a bug. You can work around that with this combination: Alt + Super + Right-Click.

Session Settings

These changes would affect all users, as they are system-wide, and they would also be reverted by an upgrade of the package "gnome-session-fallback".

1. Open "GNOME Classic"s session settings:

gksudo gedit /usr/share/gnome-session/sessions/gnome-classic.session

2. Besides removing the entry "notifications" like above, change the entry for "DefaultProvider-windowmanager" from "gnome-wm" to "compiz":

[GNOME Session]
Name=GNOME Classic
RequiredComponents=gnome-panel;gnome-settings-daemon;
RequiredProviders=windowmanager;notifications;
DefaultProvider-windowmanager=compiz
DefaultProvider-notifications=notify-osd
IsRunnableHelper=/usr/lib/gnome-session/gnome-session-check-accelerated
FallbackSession=gnome-fallback
DesktopName=GNOME

3. Save the file, quit.

That's all! After a relogin, Compiz should be running.

Gnome-WM

This change would only your own or another specific user, and would not be reverted by an upgrade of the package "gnome-session-fallback".

1. Copy "gnome-wm.desktop" into your home directory:

copy /usr/share/applications/gnome-wm.desktop ~/.local/share/applications

2. Open "gnome-wm.desktop" from your home directory:

gedit ~/.local/share/applications/gnome-wm.desktop

3. Change the entry for "Exec" from "gnome-wm" to "compiz":

[Desktop Entry]
Type=Application
Name=Window Manager
Exec=compiz
NoDisplay=true
X-GNOME-Autostart-Phase=WindowManager
X-GNOME-Provides=windowmanager
X-GNOME-Autostart-Notify=true
X-Ubuntu-Gettext-Domain=gnome-session-3.0

4. Save the file, quit.

That's all! After a relogin, Compiz should be running.

More Fixing / Customization

Complementing these tips, here is a nice, simple guide to make the new Gnome Classic look and work even more like the old classic Gnome 2:

http://mandriver.users.sourceforge.net/classic-gnome-guide.html

Related Posts:

Compiz , Oneiric Ocelot , Session , Troubleshooting