Você pode usar who . Isso é frágil, mas pode ajudá-lo:
who | awk '{print $2,$NF}' |grep -v '(:[0-9]'
-
whoimprime uma lista de usuários logados -
awkextrai 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
grepremove 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.