Bug 447910

Summary: gdm does not run ~/.xsession
Product: [Fedora] Fedora Reporter: Jan "Yenya" Kasprzak <kas>
Component: gdmAssignee: jmccann
Status: CLOSED DUPLICATE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: low Docs Contact:
Priority: low    
Version: 9CC: cschalle, nyh, rstrode
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2008-05-22 13:31:31 EDT Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Description Jan "Yenya" Kasprzak 2008-05-22 08:59:12 EDT
Description of problem:
I want to use my own ~/.xsession. After upgrading from F8 to F9, gdm no longer
runs my ~/.xsession. I have added "set -x" to /etc/X11/xinit/Xsession, and found
out that gdm starts Xsession with first argument of "gnome-session"
(even though I have "Session=custom" in the [Desktop] section of ~/.dmrc).
Changing the DISPLAY_MANAGER variable to "XDM" in /etc/sysconfig/desktop
(thus running xdm instead of gdm) fixes the problem).

Version-Release number of selected component (if applicable):

How reproducible:
100 %

Steps to Reproduce:
1. Create a custom ~/.xsession, for example with the text
echo "Custom .xsession has been started" >&2
exec /usr/bin/xterm
2. Run "chmod a+rx ~/.xsession"
3. Start gdm and log in
Actual results:
the gnome session is started, ~/.xsession is not executed at all.

Expected results:
only xterm should be started, the message should be visible in
~/.xsession-errors, and the environment variable XSESSION_HAS_BEEN_RUN should be set
inside the xterm.

Additional info:
This worked in F8, so I consider this a regression. Moreover, gdm greeter does
not have any session selector anymore, and apparently the configuration options
in /etc/gdm/custom.conf (documented at
http://www.gnome.org/projects/gdm/docs/2.20/configuration.html) do not work on
2.22 anymore (I have tried to add "IncludeAll=false" and
"ShowXtermFailsafeSession=true" in the [greeter] section of custom.conf without
success; custom.conf is being accessed according to its atime, but these options
have no effect).
Comment 1 Ray Strode [halfline] 2008-05-22 13:31:31 EDT
Install the xorg-x11-xinit-session package and you should be good to go.

*** This bug has been marked as a duplicate of 142260 ***
Comment 2 Jan "Yenya" Kasprzak 2008-05-23 08:11:00 EDT
This has helped, thanks. However - from the usability point of view: shouldn't
the language and session selector be visible always, not only after the user
types its user name?
Comment 3 Ray Strode [halfline] 2008-05-23 13:42:38 EDT
Well, the settings are specific to the user selected.  

If we showed them before hand, then on multi-user setups, one user could change
the session, walk away, and another user could get logged into the wrong session
or in the wrong language.

We also want the selectors to show up with the user's preferred choice
automatically.  We don't know that information until the user gets selected.
Comment 4 Jan "Yenya" Kasprzak 2008-05-23 13:55:15 EDT
I don't need them being active, just visible (and disabled until user types his
name). Altough maybe switching the gdm language from the menu even before login
could be usable in the multi-user environment. After user types his name, it can
be changed to his defaults.
Comment 5 Nadav Har'El 2008-08-05 16:52:03 EDT
Wow! I just installed Fedora 9, and suddenly my .xsession, which has been
working since I started using xdm rougly 16 years ago (!), stopped working. I
see in this bug (which is, by the way, an unrelated bug from 4 years ago), in
comment 1, the solution.

But really, give me a break - why do we need this bizarre solution anyway???
Where's the logic of ignoring people's .xsession when they explicitly put that
file in? After all, it's not like someone will accidentally create this file?

I think this is an major error in judgement from Fedora, and one that needs to
be reversed. No amount of documentation in the release notes (which I obviously
missed...) can "explain" this bug away. There's simply no reason to have this
bug, and it can be easily fixed (just do what that new package does - always).

I think this bug definitely needs to be reopened!
Comment 6 Nadav Har'El 2008-08-06 02:21:58 EDT
I'm even more surprised now that I see what the xorg-x11-xinit-session package does. I thought it will change gdm's default behavior or something, but it doesn't. Basically, all it does is to add a "User Script" option in the login script, in addition to the usual "KDE" and "Gnome" options. The user needs to explicitly choose this option to run his .xsession.

If this is the case, why not install this "package" (a single file) always, by default - what does it hurt?