「w」コマンドがログインしているユーザーの数を間違って報告するのはなぜですか?

「w」コマンドがログインしているユーザーの数を間違って報告するのはなぜですか?

tty6 からログインし、その後ログアウトしました。w内部の端末からコマンドを実行すると、unity次の出力が表示されます。

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

このコマンドはログインしているユーザーのみをリストするものではないのですか? 私は Ubuntu 12.10 を使用しています。

編集

wコマンドは 3 人のユーザーがログインしていると報告しますが (ヘッダー内)、エントリは 2 つしか表示されないことに注意してください。

答え1

この出力には驚くようなことはありませんw。見出しの下の 2 番目の列を見るとTTY、2 つのログインはtty7( ではありませんtty6!) とからのものであることがわかりますpts/2。現在tty7はグラフィカル ログイン (WHAT列を参照) であり、 はpts/2コマンドを実行するために開いた端末エミュレーターである疑似端末デバイスですw(これもWHAT列を参照)。

アップデート

を使用している が破損している/var/run/utmp場合、ユーザー数が誤って報告されることがあるようです。w

インターネットで提案されている解決策は、このファイルを切り捨てて(おそらくシングルユーザー モードで)、ログインを再試行することです。

# >/var/run/utmp
# reboot

ただし、注意して進めてください。削除中にロ​​グインしているユーザーは/var/run/utmp「奇妙な」状態になる可能性があるため、シングルユーザー モードでこれを行うことをお勧めします。

出典

関連情報