RHEL6 GDM Sessions Workaround
Update: ilaiho has provided a better solution in the comments,
which is to install the xorg-x11-xinit-session
package, which adds
a "User script" session option. This will invoke your (executable)
~/.xsession
or ~/.Xclients
configs, if selected, and works well,
so I'd recommend you go that route instead of using this patch now.
The GDM Greeter in RHEL6 seems to have lost the ability to select
'session types' (or window managers), which apparently means you're
stuck using Gnome, even if you have other better options installed.
One workaround is to install KDM instead, and set DISPLAYMANAGER=KDE
in your /etc/sysconfig/desktop
config, as KDM does still support
selectable session types.
Since I've become a big fan of tiling window managers in general, and ion in particular, this was pretty annoying, so I wasted a few hours today working through the /etc/X11 scripts and figuring out how they hung together on RHEL6.
So for any other gnome-haters out there who don't want to have to
go to KDM, here's a patch to /etc/X11/xinit/Xsession
that ignores
the default 'gnome-session' set by GDM, which allows proper window
manager selection either by user .xsession
or .Xclients
files,
or by the /etc/sysconfig/desktop
DISPLAY setting.
diff --git a/xinit/Xsession b/xinit/Xsession index e12e0ee..ab94d28 100755 --- a/xinit/Xsession +++ b/xinit/Xsession @@ -30,6 +30,14 @@ SWITCHDESKPATH=/usr/share/switchdesk # Xsession and xinitrc scripts which has been factored out to avoid duplication . /etc/X11/xinit/xinitrc-common +# RHEL6 GDM doesn't seem to support selectable sessions, and always requests a +# gnome-session. So we unset this default here, to allow things like user +# .xsession or .Xclients files to be checked, and /etc/sysconfig/desktop +# settings (via /etc/X11/xinit/Xclients) honoured. +if [ -n "$GDMSESSION" -a $# -eq 1 -a "$1" = gnome-session ]; then + shift +fi + # This Xsession.d implementation, is intended to obsolte and replace the # various mechanisms present in the 'case' statement which follows, and to # eventually be able to easily remove all hard coded window manager specific
Apply as root:
cd /etc/X11 patch -p1 < /tmp/xsession.patchblog comments powered by Disqus