Os terminais listados indicam que o comportamento é visto no Linux: As dicas estão na página de manual para wall ( Solaris , por exemplo é diferente):
walldisplays a message, or the contents of a file, or otherwise its standard input, on the terminals of all currently logged in users.Some sessions, such as
wdm, that have in the beginning of utmp(5)ut_typedata a ':' character will not get the message fromwall. This is done to avoid write errors.
Ou seja, wall usa os dados de utmp, procura terminais em uso (ou seja, usuários que efetuaram login) e grava no dispositivo associado. Cada linha na saída de w mostra um terminal (possível), gravado pelo terminal no arquivo utmp. Por exemplo, eu sou ssh'd em um servidor e tela de execução, enquanto ao mesmo tempo eu entrei em um console. Apenas por completo, executei o xterm usando a opção -ls (login-shell). Aqui está a saída de w :
$ w
19:53:15 up 4:08, 5 users, load average: 0.00, 0.01, 0.05
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
tom tty2 19:48 5:11 0.04s 0.02s -tcsh
tom pts/0 michener:S.0 15:51 13:18 0.35s 0.24s ssh -X thomas@b
tom pts/2 michener:S.1 16:34 2.00s 0.14s 0.00s sh -c w
tom pts/4 michener:S.3 15:52 3:59m 0.12s 0.00s /bin/sh /users/
tom pts/3 localhost:10.0 19:53 7.00s 0.03s 0.03s -tcsh
e a execução de wall grava em cada um desses TTY dispositivos.
No entanto, se o terminal não gravar no arquivo utmp, ele não será listado - e wall irá ignorá-lo.
Agora, alguns programas podem ter o recurso compilado, mas falta privilégios para alterá-lo. É por isso que alguns programas são executados com setgid para o grupo "utmp". Outros programas (como o xterm - ou o gnome-terminal) podem usar um programa externo que atualiza o utmp em seu nome.
Com o gnome-terminal, o recurso foi preterido devido à mentalidade dos desenvolvedores do gnome que (a) os usuários executam em uma máquina local, onde gdm manipula o login e (b) conseqüentemente, não há distinção que valha a pena incomodar entre shells de login e shells de não-login. Isso cria alguns relatos de bugs interessantes:
- [Resolvidos, reprovados no upstream] who -m e w não mostram logins pty (Arch)
- Bug 747046: cleanty pty.c (Gnome)
- Bug 159363: o gnome-pty-helper não limpa as entradas utmp / wtmp dos terminais gnome quando matou (Red Hat)
- Bug 71368: Resumo: a opção "update utmp / wtmp" do gnome-terminal não funciona quando não está usando o gdm (Red Hat)