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

644
john

Запуск Ubuntu 12.04. У меня есть много пользователей, вошедших через SSH и открывающих сеанс Openbox . Как пройти через всех зарегистрированных пользователей и их отображаемый номер, чтобы я мог выполнить команду для определенных пользователей?

Эта команда будет расширением перезапуска приложения Java, которое они открывают.

Я пытался who -a, но в нем нет списка пользователей SSH и их номера дисплея. Я могу получить отображаемые номера через CD, /tmp/.X11-unixно не соответствующие им логин пользователя.

2

1 ответ на вопрос

1
Frank Thomas

Try who or who -a. it displays the user name, TTY/PTS (with id), and the display number (if local) or remote location. See here for the manpages.

This is one local session and two SSH sessions:

:~$ who myuser tty7 2015-09-10 00:44 (:0) myuser pts/2 2015-09-13 19:32 (MyWorkstation.net) myuser pts/4 2015-09-13 19:34 (MyWorkstation.net) 
Я пробовал who -a, но в нем нет списка пользователей SSH и их номера дисплея. Я могу получить отображаемые номера через cd /tmp/.X11-unix, но не через соответствующий логин пользователя. john 8 лет назад 0
вы должны быть в состоянии определить сессию по времени начала, так как это будет дата создания файла в `/ tmp / .X11-unix`. Кроме того, если ваши подключения создают дисплеи через X11, вы можете найти дисплей из `ps aux | grep X` и запишите номер дисплея в команде, например `/ usr / bin / Xorg: 0` Frank Thomas 8 лет назад 0