Tenho uma dúvida que surgiu em minha mente após a atualização para 14.04 TrustyTahr de 12.04 PrecisePangolin. A questão refere-se ao comando 'quem' e sua saída. Nas edições anteriores do Ubuntu, a saída do comando who leria qual tty foi usado para fazer login e iniciar o sistema e o lightdm, por exemplo:
:~$ who
geo tty7 thedate (:0)
geo pts/n thedate (:0.0)
Mas no 14.04 TrustyTahr, quando executo o comando who, minha saída produz:
:~$ who
geo :0 thedate (:0)
geo pts/n thedate (:0.0)
Em ambas as edições, a transferência do vt7 está acontecendo em /boot, e no TrustyTahr minha variável XDG_VTNR é 7 quando faço login via lightdm; mas tty7, nem vt7 são impressos no arquivo utmp. Isso me incomodou por meses, finalmente escrevi um programa c++, que incorpora a função popen, como um complemento ao comando who para que o comando who exiba o XDG_VTNR atual com um coeficiente tty, por exemplo:
geo tty7 2015-06-04 20:54 (:0)
geo pts/0 2015-06-04 20:54 (:0.0)
No entanto, por que isso mudou? E também o meu é o único assim, porque baixei isso por volta de maio do ano passado, e posso ter conseguido uma iso de beliche ou algo assim, toda vez que executo o comando who isso me faz pensar naquela música dos Beastie Boys: Sabotage (brincadeira não é ruim).
Responder1
Tente atualizar o pacote que contém o who
comando; mesmo se você usou uma versão estranha do ISO para instalar, uma atualização deve substituí-la:
Descubra qual pacote possui who
:
which who # find out where 'who' binary is
dpkg -S /path/to/who
Então:
apt-get update
apt-get install <package name from dpkg -S command>
Se ainda assim não funcionar, tente um shell diferente sem ambiente (para se livrar de quaisquer variáveis de ambiente instáveis, configurações, lixo específico do bash, etc.):
env -i /bin/dash
$ who
Se funcionar em um shell simples, o problema provavelmente é uma definição estranha de alias em um bashrc ou algo semelhante.
Além disso, funciona who --all
?