Atualização: Minha resposta (quem sou eu) está correta, seu terminal está corrompido ou não está configurado corretamente para suportar a funcionalidade.
Com base nos comentários, fiz mais pesquisas e pedi ajuda a . Você não diz qual terminal está usando, mas provavelmente está fazendo a mesma coisa que o gnome-terminal.
Em relação ao gnome-terminal * quando o terminal é iniciado, ele não atualiza o arquivo utmp. Esta parece ser uma decisão de design. Mais tarde, quando alguém lê o utmp para descobrir as informações relevantes, ele não está lá, então apenas sai e não imprime nada.
* Eu tento xterm, konsole e ssh para várias distros.
Você deseja que who am i
imprima o usuário solicitante, em oposição a whoami
, que informa o nome de usuário do usuário efetivo atual
If given two non-option arguments, 'who' prints only the entry for the user running it (determined from its standard input), preceded by the hostname. Traditionally, the two arguments given are 'am i', as in 'who am i'.
Isso está enterrado em info coreutils 'who invocation'
Então, curiosamente (em um sistema baseado em linux coreutils) who xyzzy plugh
também funciona.