Bugzilla – Bug 132898
tcsh-users get always kde session no matter what they choose in kdms session menu
Last modified: 2006-01-09 17:32:12 UTC
A user who has a tcsh or csh as his login session can only start a KDE session from kdm. I found the reason for this in /usr/X11R6/lib/X11/xdm/sys.xsession in this script in line 54 this happens: case "$SHELL" in */csh|*/tcsh) while read env ; do var="${env%%=*}" ; val="${env#*=}" test "$var" = "umask" && umask $val test "$var" = "$val" && continue eval export $var="\$val" done < <($SHELL -c 'test -r /etc/csh.login && source /etc/csh.login; test -r $HOME/.login && source $HOME/.login ; printenv; echo -n umask=; umask') ;; esac Actually $SHELL -c start a new tcsh or csh depending on the users shell. This finally will source /etc/profile.d/profile.csh and in this script the variable WINDOWMANAGER is set a new to the default windowmanager which usually is kde. Becvause of the code from above in sys.xsession the new setting for WINDOWMANGER from profile.csh is afterwards also exported to sys.xsession and so the script always starts a kde session. The code in /etc/profile.d/profile.csh the resets the WINDOWMANGER variable (which should not happen if called from sys.xsession) is the following: foreach val ($path /usr/X11R6/bin /opt/gnome/bin /usr/openwin/bin) if ( ${val:q} =~ *.* ) continue set val=${val:q}/${default_wm:q} if ( ! -x ${val:q} ) continue setenv WINDOWMANAGER ${val:q} # <-------- it happens here break end
Yep is known and fixed for next release. Also I've changed the scheme how the users login SHELL is executed. With 10.1 I use the users login SHELL directly to execute sys.xsession.
*** Bug 131223 has been marked as a duplicate of this bug. ***