LINUX.ORG.RU
ФорумAdmin

Как узнать список графических пользователей


0

2

Как узнать список графических пользователей из командной строки.

Например список пользователь, которые запустили (прилогинились в консоль, в том числе и по SSH) можно узнать командой users

Сколько терминалов открыл пользователь, столько раз он и будет присутствовать в выводе команды.

Для графической системы это не так. Если мы локально войдем в графическую подсистему (например, Ubuntu) и там запустим терминал, а в нем наберем users, то мы увидим двух пользователей. А если мы войдем в графическую систему удаленно, например через x11rdp, и в нем запустим терминал, то мы увидим только одного пользователя.

А если этот пользователь не запустит терминал, то для администратор из консоли вообще не увидит, что пользователь подключился к системе.

Какой командой (или каким способом) можно вывести список всех пользователей подключившихся к системе, в том числе и через x11rdp (например)?

who и грепаешь его, как тебе надо. Для исковых пользователей, например - who|grep ":"

DeadEye ★★★★★
()

define графический пользователь.

графическую подсистему

Что?

Алсо, man loginctl на предмет list-users, list-seats, list-sessions.

x3al ★★★★★
()
Ответ на: комментарий от rezedent12

tty7 - это запущенный локальный Х (тот который с монитором и клавиатурой)

А тот который удаленный Х (например, по RDP) этой записи соответственно не имеет. А если пользователь не запустит терминал, то и pts/0 мы никогда не увидим.

p_igorek
() автор топика
Ответ на: комментарий от p_igorek

tty7 - это запущенный локальный Х (тот который с монитором и клавиатурой)

А тот который удаленный Х (например, по RDP) этой записи соответственно не имеет. А если пользователь не запустит терминал, то и pts/0 мы никогда не увидим.

Вот тебе идея. Запрашиваешь подробный список запущенных процессов и фильтруешь из него имена пользователей.

rezedent12 ☆☆☆
()
Ответ на: комментарий от p_igorek
> pacman -Qo `which loginctl`
/usr/bin/loginctl is owned by systemd 217-7
x3al ★★★★★
()
Ответ на: комментарий от rezedent12

Именно так и хочу сделать, но думал есть что то по проще.

ps axu | cut -f 1 -d ' ' | sort -u

Правда в этом способе сесть один нюанс - под Ubuntu 12.04 он системных пользователей выводит по имени, а обычных по идентификатору.

p_igorek
() автор топика
Ответ на: комментарий от p_igorek

Правда в этом способе сесть один нюанс - под Ubuntu 12.04 он системных пользователей выводит по имени, а обычных по идентификатору.

Полученные результаты использовать для сортировки вывода

cat /etc/passwd
и потом извлечь никнеймы из результата.

rezedent12 ☆☆☆
()
Ответ на: комментарий от p_igorek

Интересно, а есть ли у psaxu какой нибудь параметр явно задающий поведение...

rezedent12 ☆☆☆
()

DE может эмулятором терминала крутить как хочет. Откроешь 100500 терминалов, а w покажет одного юзера.

В крутых DE это должно настраиваться, а для голых wm (у меня awesome) я использую gnome-pty-helper, который на каждый гуевый эмулятор терминала создает логин, так что все это видно в w.

А, еще консолькит и поглотивший его systemd должны такое уметь.

entefeed ☆☆☆
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.