Acerca del comando 'quién' y su salida en '14.04 TrustyTahr'

Acerca del comando 'quién' y su salida en '14.04 TrustyTahr'

Tengo una pregunta que me surgió después de actualizar a 14.04 TrustyTahr desde 12.04 PrecisePangolin. La pregunta se refiere al comando "quién" y su resultado. En ediciones anteriores de Ubuntu, la salida del comando who leía qué tty se usó para iniciar sesión e iniciar el sistema y lightdm, por ejemplo:

:~$ who
geo      tty7     thedate (:0)
geo      pts/n    thedate (:0.0)

Pero en 14.04 TrustyTahr, cuando ejecuto el comando who, mi resultado es:

:~$ who
geo      :0       thedate (:0)
geo      pts/n    thedate (:0.0)

En ambas ediciones, la transferencia de vt7 se realiza en /boot, y en TrustyTahr mi variable XDG_VTNR es 7 cuando inicio sesión a través de lightdm; pero tty7 ni vt7 se imprimen en el archivo utmp. Esto me molestó durante meses, finalmente escribí un programa en C++, que incorpora la función popen, como complemento del comando who para que el comando who muestre el XDG_VTNR actual con un coeficiente tty, por ejemplo:

geo      tty7         2015-06-04 20:54 (:0)
geo      pts/0        2015-06-04 20:54 (:0.0)

Sin embargo, ¿por qué ha cambiado esto? Y también el mío es el único así, porque lo descargué alrededor de mayo del año pasado, y es posible que haya obtenido una iso de litera o algo así, cada vez que ejecuto el comando who me hace pensar en esa canción de Beastie Boys: Sabotage (jk no es lo malo).

Respuesta1

Intente actualizar el paquete que contiene el whocomando; Incluso si usó una versión extraña de ISO para instalar, una actualización debería reemplazarla:

Descubra qué paquete posee who:

which who    # find out where 'who' binary is
dpkg -S /path/to/who

Entonces:

apt-get update
apt-get install <package name from dpkg -S command>

Si aún no funciona, pruebe con un shell diferente sin entorno (para deshacerse de cualquier variable de entorno, configuración, basura específica de bash, etc.).

env -i /bin/dash
$ who

Si funciona en un shell básico, entonces el problema probablemente sea una definición de alias extraña en un bashrc o algo similar.

Además, ¿ who --allfunciona?

información relacionada