Red Hat Bugzilla – Bug 244264
xdm not spawning WMs under a login shell
Last modified: 2018-04-11 11:26:27 EDT
Description of problem:
When using GDM, logging in and starting gnome-session leads to gnome-terminals
and xterms that spawn *login* shells... ie, they source ~/.bash_profile
Changing /etc/sysconfig/desktop to say DISPLAYMANAGER=XDM changes that:
gnome-terminal and xterm shells are non-login shells.
Is this intended behavior? Seems like a bug to me.
SELINUX=permissive, so it isn't SELINUX getting in the way.
Version-Release number of selected component (if applicable):
Cannot reproduce here with FC7. I have switched the default display manager by
editing /etc/sysconfig/desktop as described by you. Then I have created this
more or less minimal ~/.xsession file (chmod :
xrdb -merge "$HOME/.Xresources"
emacs -geometry +0+50 &
exec xterm -geometry 80x24+10+10 -ls
When I have restarted Xorg (telinit 3 ; telinit 5) I got very friendly advanced
login screen of xdm ;-). Login went to the desktop, where everything works as
expected, and variables which are set only in ~/.bash_profile are present.
I would suspect that there is something weird in your configuration. Closing as
WORKSFORME, and if you are certain that this is real bug, please, reopen with
the information required to persuade me that I am wrong.
Are you looking at the xterm you that you've exec'ed ? I wonder if that could
Anyway, more details. Try it with gnome by putting *only* a "exec gnome-session"
in your ~/.xsession file. Thats how I'm doing it. Any xterm or gnome-terminal
you start from within GNOME (not twm) won't source ~/.bash_profile.
OK, it seems to me that if anything then this is gnome-session issue. Changing
component of this bug accordingly with serious doubts whether anybody will want
to support something so weird as gnome-session from xdm session.
It can't be that hard to get gnome to properly behave, regardless of how it is
Nope, my guess is this is a dupe of that old bug "xdm should use system Xsession
script", which I can't find offhand.
Joshua, if you rm /etc/X11/xdm/Xsession and ln /etc/X11/xinit/Xsession
/etc/X11/xdm/Xsession do things start working?
This has nothing to do with gnome by the way. We only want one login shell to
get invoked during login, and it needs to happen no matter which desktop
environment gets loaded, so it has to happen before it gets loaded. That's
handled by the xinit scripts.
But I believe xdm uses its own broken copies of the scripts instead of the
Linking /etc/X11/xdm/Xsession to /etc/X11/xinit/Xsession doesn't work.
I've tried this with "exec startxfce4" in my ~/.xsession too... same problem.
Not gnome or WM related... but xdm related.
OK, you have persuaded me -- we've got a bug in xdm.
Joshua, are you sure it's not execing a login shell as part of the login process
when you add the link? Maybe you're also getting hit by bug 217783 ?
I don't follow... what do you mean by "when I add the link" ?
I'm just refering to what we talked about in Comment 5 and Comment 7. I'm
wonder if doing Comment 5 did fix this problem, but you're ALSO getting hit by
Not sure how I would discern the difference. Ideas?
How are you figuring out that a login shell is being executed?
You can temporarily test if you're being hit by bug 217783 by running chmod -x
/usr/bin/ssh-agent, logging out, and logging back in.
After you're done testing be sure to chmod +x /usr/bin/ssh-agent again.
Ok... I've confirmed. ssh-agent's executable'ness has nothing to do with it.
I retract what I said in comment #7. That clearly works... using the
xinit/Xsession instead of the xdm/Xsession.
I'm testing with "export ttt=zzz" in my ~/.bash_profile file.
echo $ttt shows me if it is a login shell or not
So... this means the xdm's Xsession is not calling a login shell. Can we get a fix?
should be fixed in tomorrow's rawhide:
*** Bug 223507 has been marked as a duplicate of this bug. ***