w exibe as informações armazenadas em utmp ( /var/run/utmp normalmente nos sistemas Linux). Isso geralmente só é atualizado por sessões de "login", ie login (para logins em consoles virtuais ou conexões seriais), o gerenciador de exibição (para sessões gráficas), o servidor SSH (para conexões SSH) e alguns (em sua maioria?) emuladores de terminal. No último caso, o fato de atualizar ou não o utmp depende do suporte e da configuração incorporados; por exemplo, xterm tem o sinal ut para isso ( -ut desativa utmp updates, +ut habilita-os) e o Terminal GNOME não atualiza mais utmp diretamente em tudo .
Então, você está vendo as entradas que foram adicionadas a utmp no seu caso: uma adicionada pelo seu gerenciador de exibição (em tty7 ) e outras adicionadas por alguns dos emuladores de terminal que você está usando. / p>
Deve ser possível encapsular comandos para adicionar utmp logging a qualquer coisa que você goste, usando por exemplo libutempter , mas isso é aparentemente não tão simples quanto se poderia esperar .