Sobre o comando 'who' e sua saída em '14 .04 TrustyTahr '

9

Eu tenho uma pergunta que surgiu na minha mente depois de atualizar para 14.04 TrustyTahr de 12.04 PrecisePangolin. o pergunta pertence ao comando 'who' e sua saída. Nas edições anteriores do Ubuntu a saída do comando who iria ler o que tty foi usado para logar e iniciar o sistema e o lightdm, por exemplo:

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

Mas, no dia 14.04, TrustyTahr, quando executo o comando who, minha saída gera:

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

Em ambas as edições, a entrega vt7 está acontecendo em / boot e em TrustyTahr minha variável XDG_VTNR é 7 quando eu faço o login via lightdm; mas tty7, nem vt7 é impresso no arquivo utmp. Isso me incomodou por meses, eu finalmente escrevi um programa em c ++, que incorpora a função popen, como um complemento ao comando who para que o comando who exiba o atual XDG_VTNR com um tty coeficiente, por exemplo:

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

Não obstante, por que isso mudou? E também é meu o único assim, porque eu baixei isso em torno de maio do ano passado, e eu poderia ter conseguido um iso de beliche ou algo assim, toda vez que eu corro o comando who me faz pensar naquela música dos Beastie Boys: Sabotage (jk não é ruim).

    
por oOpSgEo 05.06.2015 / 03:48

1 resposta

2

Tente atualizar o pacote que contém o comando who ; mesmo se você usou uma versão estranha do ISO para instalar, uma atualização deve substituí-lo:

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 não funcionar, tente um shell diferente sem nenhum ambiente (para se livrar de qualquer variável de ambiente, setups, lixo específico do bash, etc.):

env -i /bin/dash
$ who

Se funcionar em um shell simples, o problema provavelmente é uma definição de alias estranha em um bashrc, ou algo semelhante.

Além disso, who --all funciona?

    
por Felix 24.08.2015 / 09:50