I am not totally sure if this is a "who" problem but the symptom is shown
via the who command.
When running "/usr/bin/who -ml" I no longer get the user and hostname
associated with stdin when running locally (under X). This will only work
if I am running gdm and GNOME. This problem will occur whether "who" is
run from gnome-terminal, xterm, or rxvt. This has worked up through RH
Linux 6.0. I get similar results using XFce and KDE.
The basic problem is that 'who' has the -m option at all. utmp entries are for
login sessions, not shell prompts, so there is no direct correlation between a
particular pty and a particular session. The -m option mostly remains for
historical reasons - in the "old days", they didn't have to worry about things
such as logins via gdm etc. :)