Как узнать активного пользователя, если в системе больше пользователей?

Как узнать активного пользователя, если в системе больше пользователей?

Я хочу получить информацию через ssh-сессию о том, какой пользователь в данный момент использует машину. Я получаю пользователей, которые вошли в систему с помощью «w» или «who», но как мне узнать, у кого из них в данный момент открыт рабочий стол, чтобы отправить ему сообщение с помощью yad?

правка: я нашел грязный код.. но пока работает:

#!/bin/bash
tty=$(cat /sys/class/tty/tty0/active)
active_user=$(w | grep $tty | awk '{print $1;}')

#to get the display also:
disp=$(who | awk -v term="$tty" '/\(:/ $0 ~ term { gsub(/\(|\)/, "", $0); print $5 }')

решение1

я нашел грязный код... но пока работает:

#!/bin/bash
tty=$(cat /sys/class/tty/tty0/active)
active_user=$(w | grep $tty | awk '{print $1;}')

#to get the display also:
disp=$(who | awk -v term="$tty" '/\(:/ $0 ~ term { gsub(/\(|\)/, "", $0); print $5 }')

Связанный контент