為什麼“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。如果您查看TTY標題下的第二列,它會顯示兩個登入名稱來自tty7(不是tty6!) 和pts/2。現在tty7是您的圖形登入(請參閱WHAT專欄),並且pts/2是一個偽終端設備,它是您打開用於運行命令的終端模擬器w(再次參閱WHAT專欄)。

更新

/var/run/utmp當您使用w的 已損壞時,有時可能會出現錯誤報告的使用者數量。

我在互聯網上找到建議的解決方案是截斷此文件(可能在單一用戶模式下)並重試登入:

# >/var/run/utmp
# reboot

不過,請謹慎行事,建議在您使用核武時登入的用戶/var/run/utmp會遇到“怪異”,這就是為什麼人們建議您在單一使用者模式下執行此操作。

來源

相關內容