Wie erhalte ich den aktiven Benutzer, wenn mehrere angemeldet sind?

Wie erhalte ich den aktiven Benutzer, wenn mehrere angemeldet sind?

ich möchte über eine SSH-Sitzung die Information erhalten, welcher Benutzer die Maschine gerade verwendet. Ich erhalte die Benutzer, die mit „w“ oder „who“ angemeldet sind, aber wie kann ich sehen, welcher Benutzer gerade den Desktop geöffnet hat, um ihm über yad eine Nachricht zu senden?

bearbeiten: ich habe einen fehlerhaften Code gefunden, aber er funktioniert im Moment:

#!/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 }')

Antwort1

ich habe einen fehlerhaften Code gefunden, der aber im Moment funktioniert:

#!/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 }')

verwandte Informationen