Você pode usar who
. Isso é frágil, mas pode ajudá-lo:
who | awk '{print $2,$NF}' |grep -v '(:[0-9]'
-
who
imprime uma lista de usuários logados -
awk
extrai o segundo e os últimos campos (separados por espaços). O segundo campo é o dispositivo pseudo-terminal do usuário e o último campo é a tela da qual eles estão se conectando (ou IP para uma conexão remota). - O filtro
grep
remove linhas para usuários que se conectam a partir da exibição local (quaisquer dispositivos de terminal nos quais os usuários locais estejam conectados).
O comando who
deve estar presente em qualquer sistema compatível com POSIX. Eu não posso garantir que seu formato de saída seja consistente em sistemas diferentes. Isso também será quebrado se um nome de usuário contiver espaços.