Subject: bug#8643: 'who' command bug

From: Bob Proulx <[email-masked]>
Date: Tue, 10 May 2011 17:05:33 -0600

ding bat wrote:
> I was using Who to list all users connected to pptpd vpn server with
> maverick 10.10.
> I put natty on the computer and now the who command does not list out the
> vpn users. It only seems to list out local logged in user.
> any thoughts,.... this issue is killing me.....
> I can still do 'last |grep ppp' and get joy, but 'w' and 'who' were very
> nice.

Thanks for reporting this and trying to improve the system.  That is
great!  However this isn't a bug in who.  We are going to need to find
the particular program and then report the problem there.  Let me
explain...

The 'who' command lists out data from the utmp file (/var/run/utmp on
most GNU/Linux systems).  It is simply the messenger that is reporting
what has been logged there.  If the data is logged then it reports it.
If it is not logged then it doesn't have anything to report.  Being
just the messenger it often gets the blame when other programs don't
log data there but it isn't the fault of the who program.

The data about who is logged into a system is logged by programs that
log users into the system.  For example traditionally the /bin/login
program would write this information there.  But rarely do users use
/bin/login anymore.  These days it is usually ssh logins from the
network or xdm/gdm/kdm from the console.  You are probably talking
about gdm logins from the console on your system.

In my case on my system I log in using xdm and then start several
xterms.  Each xterm logs utmp information when it is started.  There
is an xterm option to prevent this logging but it is on by default.
Whatever is logged is reported by the who command (and others such as
finger and w).  Please try starting an xterm and I am sure you will
see that xterm logs this information to the utmp file and later this
is reported by the who command.

At various times people report the same issue that you are reporting,
that some programs log this data and that other programs do not log
this data.  At other times people report the opposite case as a bug
that they *do* log this data and that it creates too much noise.  They
claim that all of the terminals by one user are really just one user
login.  I imagine you are caught in the latter case having caused the
opposite change.

I am not an Ubuntu user and do not have a system to test with and so I
do not know what programs you would be running when you log in with
Ubuntu's Natty.  You will need to look at your system and determine
what login manager you are using.  This is probably gdm but might be
gdm3 but possibly one of several others.  You will need to determine
what terminal program you are using.  This is probably gnome-terminal
but possibly one of several others.  Both of those programs either
should (or should not) be logging user login information to utmp.

I imagine that you will want to look closely at the gnome-terminal
documentation and news entries to see if it has purposefully stopped
logging to utmp.  (Assuming that gnome-terminal is what you are
using.)  There may be an option to enable it again.  If not then I
imagine you will want to file a bug report with them about it.

In the meantime since this isn't a bug in 'who' I am going to mark it
as not a bug and then close it so that the long list of bugs in the
bug tracker doesn't get overwhelmed.

Please don't take the fact that the bug is closed to mean that we
don't want any more discussion.  The opposite is true.

If possible please report back to us on what you find.  Please feel
free to keep posting followups.  It will continue to be tracked in the
bug log.  This will help others who read through it later.  At any
time the bug can be opened again if needed.

Thanks,
Bob