Bug 1029187

Summary: Can't login via LXDM with .dmrc leftover from Ubuntu ("Session=Lubuntu")
Product: [Fedora] Fedora Reporter: Greg Ward <greg>
Component: lxdmAssignee: Christoph Wickert <cwickert>
Status: CLOSED CANTFIX QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 20CC: cwickert
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-11-12 17:44:09 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Greg Ward 2013-11-11 21:12:33 UTC
Description of problem: I can't login. I just get dumped back in the LXDM login screen. (Details below.)

Version-Release number of selected component (if applicable):
lxdm-0.4.1-6.fc20.x86_64

How reproducible:
100%

Steps to Reproduce:
1. ensure .dmrc looks like:
     [Desktop]
     Session=Lubuntu
2. try to login via lxdm

Actual results:
- after entering password, screen goes blank (as usual)
- brief delay (maybe 0.5 sec?)
- I'm dumped back in the login screen

Expected results:
- successful login

Additional info:

The workaround is easy: edit .dmrc so it looks like

  [Desktop]
  Session=LXDM

Alternately, delete .dmrc.

Incidentally, this situation came about because I'm switching one laptop from Ubuntu to Fedora. When I installed Ubuntu (well, really, Lubuntu), it setup that .dmrc file. I should be able to port my home directory to the new OS without mysterious login failures!

Also, BTW, a perfectly valid "Expected result" would be an error message along the lines of "unknown session type 'Lubuntu' in .dmrc". Even if I was blocked from logging in, at least that would tell me what the problem is and where to fix it.

Comment 1 Greg Ward 2013-11-11 21:17:53 UTC
Oh yeah: /var/log/lxdm.log is not terribly helpful. I'll attach it if you want, but I don't see any mention of .dmrc or "Lubuntu" there.

I strace'd the lxdm-binary process to see who was reading .dmrc. Here's the relevant snippet of strace output, with PID and timestamps:

1764  16:04:15.911669 open("/home/greg/.dmrc", O_RDONLY) = 9
1764  16:04:15.911817 fstat(9, {st_mode=S_IFREG|0644, st_size=27, ...}) = 0
1764  16:04:15.911851 read(9, "\n[Desktop]\nSession=Lubuntu\n", 4096) = 27
1764  16:04:15.911885 read(9, "", 4096) = 0
1764  16:04:15.911911 close(9)          = 0
1764  16:04:15.911954 open("/usr/share/xsessions/Lubuntu.desktop", O_RDONLY) = -1 ENOENT (No such file or directory)

Process 1764 is lxdm-binary:

$ ps -fwwp 1764
UID        PID  PPID  C STIME TTY          TIME CMD
root      1764     1  0 16:03 ?        00:00:00 /usr/sbin/lxdm-binary

Comment 2 Greg Ward 2013-11-11 21:18:39 UTC
(In reply to Greg Ward from comment #0)
> The workaround is easy: edit .dmrc so it looks like
> 
>   [Desktop]
>   Session=LXDM

Correction: that should be

  [Desktop]
  Session=LXDE

Oooops!

Comment 3 Christoph Wickert 2013-11-12 17:44:09 UTC
There is nothing we can do. It the Lubuntu guys think they need to run a custom session with the name of the distro, it will never work elsewhere.

Comment 4 Greg Ward 2013-11-13 15:24:23 UTC
(In reply to Christoph Wickert from comment #3)
> There is nothing we can do. It the Lubuntu guys think they need to run a
> custom session with the name of the distro, it will never work elsewhere.

FWIW, I *believe* this worked under Fedora 19. For a while, I was dual-booting the laptop in question into both Ubuntu 13.04 and Fedora 19, and did not see this problem. It only bit me when I wiped the disk, installed Fedora 20, and copied my old home directory back.