When logging in via xdm/kdm/gdm any settings from
/etc/profile, and /etc/profile.d/* silently vanish. However
e.g. /etc/X11/gdm/Sessions/* get run and whithin these
scripts the settings are still there.
It turns out that the observations I made are actually slightly
different: I noticed the whole thing because I modified
/etc/profile.d/mc.sh so that mc was passed an additional parameter and
this parameter (and the whole mc function) didn't show up in an
kvt/xterm/gnome-terminal. Close reading of the bash man-page revealed
that one needs to explicitly do "export -f <function name>" to get the
function in child processes..
Summary and component changed to reflect this.
This appears to not be a problem: exporting names so that will
be passed to children is the behavior of bash (and other shells).