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 who
comando; 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 --all
funciona?