为什么“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会遇到“怪异”,这就是为什么人们建议您在单用户模式下执行此操作。

来源

相关内容