Awesome + GNOME Configuration

I was recently prompted to publish my configuration for integrating GNOME and awesome. At the time I wrote this setup, the awesome wiki was recommending a configuration which didn’t correctly autostart applications, nor integrate well with anything expecting to find a session manager. However, it now contains instructions for a similar setup, so you should have a look at that too.

The first thing you need is an entry to tell your display manager about a new session type, so put this in /usr/share/xsessions/awesome-gnome.desktop:

[Desktop Entry]
Name=awesome-gnome
Comment=This session logs you into GNOME using the Awesome WM
Exec=gnome-session --session=awesome-gnome
TryExec=gnome-session
Icon=
Type=Application

Then you need to tell gnome-session about the "awesome-gnome" session. You might want to modify the notification daemon here. Put this in ~/.config/gnome-session/sessions/awesome-gnome.session:

[GNOME Session]
Name=awesome-gnome
RequiredComponents=gnome-settings-daemon;
RequiredProviders=windowmanager;
DefaultProvider-windowmanager=awesome
DefaultProvider-notifications=notification-daemon
FallbackSession=gnome-fallback
DesktopName=GNOME

Then, GNOME expects to find a XDG application entry for "awesome", so put this in ~/.local/share/applications/awesome.desktop

[Desktop Entry]
Type=Application
Name=Awesome
Comment=Window manager
Exec=sh -c '/usr/bin/awesome &'
NoDisplay=true
X-GNOME-WMName=awesome
X-GNOME-Autostart-Phase=WindowManager
X-GNOME-Provides=windowmanager
X-GNOME-Autostart-Notify=true
X-GNOME-AutoRestart=false

Then you should be able to logout, and immediately see the awesome-gnome session which you can log into. Your display manager usually remembers the last session you logged into, but using this method, you can easily switch between GNOME shell, GNOME fallback and awesome-gnome.

Comments