¿Por qué el comando "w" informa un número incorrecto de usuarios conectados?

¿Por qué el comando "w" informa un número incorrecto de usuarios conectados?

Inicié sesión desde tty6 y luego cerré la sesión. Ahora, ejecutar el wcomando desde una terminal interna unityda el siguiente resultado:

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

¿No se supone que el comando enumera solo los usuarios que han iniciado sesión? Estoy usando Ubuntu 12.10.

Editar

Tenga en cuenta que el wcomando informa que 3 usuarios han iniciado sesión (en el encabezado) pero solo muestra 2 entradas.

Respuesta1

No hay nada sorprendente en esta wsalida. Si observa la segunda columna debajo del TTYencabezado, dice que los dos inicios de sesión son de tty7(¡no tty6!) y pts/2. Ahora tty7es su inicio de sesión gráfico (consulte la WHATcolumna) y pts/2es un dispositivo pseudoterminal que es el emulador de terminal que abrió para ejecutar el wcomando (nuevamente, consulte la WHATcolumna).

Actualizar

Parece que el número de usuarios informado incorrectamente puede ocurrir a veces cuando el archivo /var/run/utmpque wutiliza está corrupto.

La solución que encontré sugerida en Internet es truncar este archivo (quizás en modo de usuario único) y volver a intentar iniciar sesión:

# >/var/run/utmp
# reboot

Proceda con precaución, sin embargo, se sugiere que los usuarios que inicien sesión mientras usa la bomba nuclear /var/run/utmpexperimentarán "rarezas", por lo que la gente recomienda que lo haga en modo de usuario único.

Fuentes

información relacionada