Comment 5 for bug 165254

Revision history for this message
Shawn Willden (shawn-ubuntu-willden) wrote :

I think I've fixed this. It appears the the field of the utmp structure that holds the X display changed between feisty and gutsy, so timeoutd has basically been completely broken for managing timeouts on local X sessions for gutsy and hardy.

The code was assuming that the ut_line field held the X display (":0" or similar), but it that value is actually now in the ut_host field. This meant that its method for determining if a user was logged into a local X session was broken, causing it to direct warning and logout messages to the wrong place (the TTY) and to use the wrong method for killing X, which somehow caused it to believe the user was still logged in even after the session had ended.

This same sort of error made X idle detection completely non-functional (so I think my fixes should also correct bug #212848).