Parece que fgconsole
(parte do pacote kbd no Fedora) faz o que você quer.
Eu quero coletar estatísticas sobre quem está usando um computador e quanto tempo. Eu posso usar o comando users
para ver quem está logado, mas eu quero saber quem está no VT atualmente ativo. Eu não me importo com as pessoas que estão conectadas através do SSH ou que deixam um download em execução em uma sessão bloqueada. Eu só me importo com quem realmente se senta na frente da máquina.
Eu preciso de informações sobre X e sessões de console.
Obter o tempo da última atividade (mover o mouse, etc) também seria útil, mas eu posso viver sem ele.
Como posso fazer isso?
É para isso que serve o arquivo wtmp e o comando last
. Digite last
em um shell para ver quem efetuou login, por quanto tempo efetuou login e de onde. Se eles estiverem atualmente conectados, o comando reportará isso.
A coluna mostrando de onde o usuário está / foi logado mostrará um DISPLAY, como :0
. Os usuários do console terão um tty correspondente tty[0-9]+
.
Para inspecionar essas informações de um programa, consulte man wtmp
.