Tenho uma pergunta que surgiu em minha mente após a atualização para o 14.04 TrustyTahr do 12.04 PrecisePangolin. A questão refere-se ao comando 'who' e sua saída. Nas edições anteriores do Ubuntu, na saída, o comando who lia qual tty foi usado para efetuar 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 gera:
:~$ who
geo :0 thedate (:0)
geo pts/n thedate (:0.0)
Em ambas as edições, o handoff vt7 está ocorrendo em / boot e, no TrustyTahr, minha variável XDG_VTNR é 7 quando eu 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 é minha a única assim, porque eu baixei isso em maio do ano passado, e eu posso ter um iso de beliche ou algo assim, toda vez que eu corro o comando who, isso me faz pensar naquela música dos Beastie Boys: Sabotage (jk não é ruim).
startx $(which gnome-shell)
. A saída doswho
relatórios tty1 e: 0. Eu acho que sua máquina em particular está enfrentando algum tipo de erro #Respostas:
Tente atualizar o pacote que contém o
who
comando; mesmo se você usou uma versão estranha da ISO para instalar a partir, uma atualização deve substituí-la:Descubra qual pacote possui
who
:Então:
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.):
Se funcionar em um shell simples, o problema provavelmente será uma definição estranha de alias em um bashrc ou algo semelhante.
Além disso,
who --all
funciona?fonte