Como posso verificar se alguém está logado em uma máquina remota?

Como posso verificar se alguém está logado em uma máquina remota?

Dado um nome de máquina, quero verificar se alguém está logado nessa máquina ou não. Apenas uma resposta sim/não seria suficiente (não quero o nome de usuário). Alguma dica sobre qual comando procurar?

Por 'logado' - quero dizer, usar uma interface gráfica nessa máquina - o ssh não conta.

Você pode presumir que tenho um login SSH autorizado para esta máquina.

Responder1

whomostra quem está logado. Se eles estiverem em uma interface gráfica, o "terminal" deles é o display X ao qual estão anexados (caso contrário, o tty):

paul     :0           2013-02-20 11:43

Então

who | grep paul

não retornaria nada se eu não estivesse logado, ou algo assim se estivesse.

Se você quiser excluir conexões ssh e de console, então:

who | grep -v pts | grep paul

Você pode executar este comando remotamente adicionando ao comando ssh:

ssh user@host 'who | grep -v pts | grep paul'

Isso fará login na máquina remota, executará whoe retornará os resultados.

informação relacionada