Screen seems unable to manipulate the /var/run/utmp database
correctly. It fails to remove the entry for the terminal
from which screen is launched, and screen is unable to
toggle the login status of a screen window.
The relevant packages I have installed:
I've examined the src.rpm for screen, and see where it was
patched to make utempter calls to alter the utmp database.
These calls seem to be silently failing. I've attempted to
recompile screen from the .src.rpm, but the recompiled
version exhibits the exact same behavior.
Please let me know if you need more details about the nature
of this bug.
I've tried playing around with the utempter package, and I can't make
heads or tails of what's supposed to be going on here. Clearly, when
it operates properly it's supposed to allow modifications to
/var/run/utmp. But, it tries to impose conditions which I don't
understand. What's fd 3 for?
Without any understanding, I don't think I can debug this problem any
further. If someone there would like to send me a document or two, I
might be able to fix this for you.
This seems to work for me OK with screen-3.9.4-2;
C-a L logs in/logs out the terminal OK; the changes show
up in 'who', 'w', and last. Does the Raw Hide version
of screen (3.9.4-2) work for you?
------- Additional Comments From 08/31/99 16:07 -------
screen 3.9.4-2 from ftp.redhat.com/rawhide seems to work properly. I
would suggest placing a copy of that RPM in the updates directory for
RedHat 6.0 also. Thanks for the help!
This problem appears to be resolved.
Further testing indicates that there is still one bug. If you're
running screen from a console terminal, it works fine. However, if
you run it from a remote terminal (i.e. ssh or telnet), it fails to
logout the terminal on which screen is running. The terminal still
shows up in w, who, finger, and last. As far as I know, the terminal
should show up in last as still logged in (that was the old behavior,
I can't reproduce this here. I telnet/ssh in, run
screen (which opens ttya0, ttya1, etc.), and these
entries are removed when I quit screen.
Here is the output of a 'w'. Other users have been removed from this
listing to clarify the issue and protect security interests.
Note that on pts/6 I'm logged in an running screen. Under Redhat 5.2
screen would 'logout' the terminal from which screen was invoked.
Thus, only the ttya[a-z] entries would _ever_ be shown, and no listing
of 'who' or 'w' would show me running screen. I believe this is the
Note that on ttyab (my first and only screen window) I can login and
logout properly. This seems to work now that I've updated to
screen-3.9.4-2. However, the terminal from which screen is invoked
still remains logged in. To reiterate: All behavior regarding the
ttya[a-z] entries appears to function normally.
I've repeated this on 3 systems now: A stock RedHat 5.2 upgraded to
6.0, and two machines which are purely 6.0 installations. All
machines have all updates installed as of 1 September 1999. I've also
observed this behavior when connecting to the machine via telnet or
If you're still having trouble reproducing this bug, I'd be more than
happy to give one of your engineers a temporary account on my system
for testing purposes.
1:57pm up 56 days, 20:07, 16 users, load average: 1.00, 1.01, 1.00
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
mdharm ttyab - 1:57pm 1.00s 0.15s 0.09s w
mdharm pts/6 mdharm3.qualcomm 1:57pm 1.00s 0.17s 0.02s screen
It's intentional. utempter will not remove utmp entries
that it didn't create...