Tente:
$ ps axno user,tty | awk '$1 >= 1000 && $1 < 65530 && $2 != "?"' | sort -u
Isso deve informar todos os UIDs com processos com um terminal de sessão (como uma janela na tela). Eu uso o UID para eliminar os usuários do 'sistema' (como o apache) e ninguém (alto UID) e ignorar daemons.