Logout does not work

Duncan 1i5t5.duncan at cox.net
Fri Apr 2 15:41:03 BST 2010


Dennis Neumeier posted on Fri, 02 Apr 2010 11:51:48 +0200 as excerpted:

> Well, if you like this that way, okay - that is a solution, but you
> cannot really give this to "normal" users who didn't see a tty up to
> now. So Logon manager is necessary here.

Well, you /could/ give it to them, setting things up so all they see is 
the login/password prompt, which should be either a familiar enough 
concept regardless of web/gui/cli, or basic and easy enough to explain, 
and after they login, their shell is a script that starts x/kde in the 
background, sleeps a few seconds, disowns what it started, and exits back 
to the login prompt...

Then, all they'd see would be the basic username/password, which should be 
either familiar enough or easy enough to explain as a concept, regardless 
of whether it's web/gui/cli.  The rest would be handled automatically.

But I understand that you don't want to go that way and it's your machine 
not mine, so... consider the above a visit to "it could be done if you 
wanted to" land. =:^)  Meanwhile, let's see if we can make progress on 
what you /do/ want...

>> In kcontrol (which has been renamed system settings, altho it's
>> generally kde controls not system settings), advanced user settings,
>> session manager, you can control whether shutdown options are offered
>> and the default leave option.  I suspect you may have that set
>> incorrectly.
> 
> Wait, you did misunderstand something: The problem is not that I cannot
> shutdown/reboot/logout - I have these options and they are working
> except for the logout. Here is what's happening:
> 
> User clicks on "logout" -> user is logged out -> I am taken back to tty
> 
> So somehow, the logon screen is not restarted. The question is: How is
> this done? By restarting the xserver or by other means?

Really, I had hoped someone with a bit more personal interest in *DMs 
would have stepped up by now.  But seeing as they haven't... maybe I can 
at least point you in the right direction...

You didn't mention what distribution you're using on your EEE and I know 
Gentoo (which I use) handles this a bit differently than many 
distributions.  You also didn't mention what *DM.  KDM, XDM, GDM, 
something else?

FWIW, the DM bit stands for "display manager".  It's a system service/
daemon that's started like pretty much any other service.  Quoting from 
the xdm manpage, for an idea of what they do:

<quote>

Xdm provides services similar to those provided by init, getty and login 
on character terminals: prompting for login name and password, 
authenticating the user, and running a ''session.''

A ''session'' is defined by the lifetime of a particular process; in the 
traditional character-based terminal world, it is the user's login shell. 
In the xdm context, it is an arbitrary session manager. This is because in 
a windowing environment, a user's login shell process does not necessarily 
have any terminal-like interface with which to connect. When a real 
session manager is not available, a window manager or terminal emulator is 
typically used as the ''session manager,'' meaning that termination of 
this process terminates the user's session.

When the session is terminated, xdm resets the X server and (optionally) 
restarts the whole process.

</quote>

So it would seem that your *DM should be restarting the X server, loading 
itself again for the next login.  That's not happening.

The next step is to figure out why.

You said you were dumped at the CLI after X terminates, but didn't mention 
how you got into X in the first place.  I'm presuming that it shows up the 
first time, upon initial boot, but you're dumped back at the CLI after the 
initial X session terminates.  Is that correct?  Because if it's not 
showing up at boot at all, and you're running startx or the like, that's a 
whole different class of problem.

But presuming it starts at boot and you only get dumped at the CLI after 
the initial X session terminates, there's a couple possibilities.

1) The *DM is crashing sometime during the initial X session (presumably 
after first login), and thus cannot restart X when the user's X session 
terminates.

2) The *DM is still there, but for some reason cannot restart X.

So the first thing to figure out is whether the *DM is still there or 
not.  After you're back at the CLI, does it still appear in the process 
list?  Using your distribution's rc service tools, does the *DM appear as 
running or crashed?  What happens if you manually stop and restart it?

If the *DM is crashed after you're back at the CLI, what about when that 
original X session is still running?  Start a konsole session, switch to a 
CLI VT, or use the distribution's graphical rc service tools.  Is the *DM 
reported as running then, and is the process still listed in the process 
list?

And, after you're dumped back at the CLI, check your xorg and previous 
xorg logs.  (You may well know this, but these will probably exist as 
Xorg.0.log and Xorg.0.log.old, in the /var/log/ directory.)  If the *DM is 
surviving to try to restart X and failing, then the current xorg log will 
be the one that it failed to launch, while the previous one will be the 
first X session that ran correctly.  If the *DM is crashing, then the 
current one will be the OK version, as it won't have survived to try a new 
version.  But here, we're now assuming the *DM survived, but X crashed, in 
which case the difference between the two logs could be very helpful, as 
the first session worked, while the second session would be the failed one 
after which you get returned to the CLI.

It's also possible that your *DM survives thru the first session, starts X 
correctly, and then fails to properly load its graphical login prompt the 
second time.  However, that would most likely show additional visible 
artifacts as X successfully restarts, then is ultimately shut down again 
when XDM cant load its graphical login prompt.  Since you didn't mention 
anything of that nature happening and since at that point it would be 
getting into XDM internals that would likely be beyond me anyway, I'll 
assume it's not getting to that point, and that it's one of the two issues 
above.

Hopefully that'll allow you to make /some/ headway...

-- 
Duncan - List replies preferred.   No HTML msgs.
"Every nonfree program has a lord, a master --
and if you use the program, he is your master."  Richard Stallman

___________________________________________________
This message is from the kde mailing list.
Account management:  https://mail.kde.org/mailman/listinfo/kde.
Archives: http://lists.kde.org/.
More info: http://www.kde.org/faq.html.




More information about the kde mailing list