Почему команда «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

Однако будьте осторожны, так как предполагается, что пользователи, вошедшие в систему во время выполнения вами nuke, /var/run/utmpбудут испытывать «странности», поэтому рекомендуется делать это в однопользовательском режиме.

Источники

Связанный контент