Warum meldet der Befehl „w“ eine falsche Anzahl angemeldeter Benutzer?

Warum meldet der Befehl „w“ eine falsche Anzahl angemeldeter Benutzer?

Ich habe mich von tty6 aus angemeldet und dann abgemeldet. Wenn ich den wBefehl jetzt von einem Terminal aus ausführe, unityerhalte ich die folgende Ausgabe:

mark@mark-Latitude-D620:~$ w
19:27:19 up  2:40,  3 users,  load average: 0.41, 0.61, 0.46
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
mark     tty7                      16:47    2:39m  5:06   0.22s gnome-session -
mark     pts/2    :0.0             19:13    7.00s  0.30s  0.00s w

Sollte der Befehl nicht nur die angemeldeten Benutzer auflisten? Ich verwende Ubuntu 12.10.

Bearbeiten

Beachten Sie, dass der wBefehl meldet, dass 3 Benutzer angemeldet sind (in der Kopfzeile), aber nur 2 Einträge anzeigt.

Antwort1

Diese Ausgabe ist nicht überraschend w. Wenn Sie sich die zweite Spalte unter der TTYÜberschrift ansehen, steht dort, dass die beiden Logins von tty7(nicht tty6!) und stammen pts/2. Jetzt tty7ist Ihr grafischer Login (siehe Spalte WHAT) und pts/2ein Pseudoterminalgerät, das der Terminalemulator ist, den Sie zum Ausführen des wBefehls geöffnet haben (siehe auch hier die WHATSpalte).

Aktualisieren

Es scheint, dass die falsch gemeldete Benutzeranzahl manchmal auftreten kann, wenn Ihr /var/run/utmp, das wverwendet wird, beschädigt ist.

Der Lösungsvorschlag, den ich im Internet gefunden habe, besteht darin, diese Datei zu kürzen (möglicherweise im Einzelbenutzermodus) und die Anmeldung erneut zu versuchen:

# >/var/run/utmp
# reboot

Gehen Sie jedoch mit Vorsicht vor. Es wird darauf hingewiesen, dass bei angemeldeten Benutzern während Ihres Nuke-Vorgangs /var/run/utmp„Merkwürdigkeiten“ auftreten können. Aus diesem Grund wird empfohlen, dies im Einzelbenutzermodus zu tun.

Quellen

verwandte Informationen