В вашем глобальном разделе добавьте:
restrict anonymous = 2
и изменить разрешение гостей, поскольку это отменяет анонимное ограничение:
usershare allow guests = no
Возможно, для этого используется dbus . Это механизм связи между разрозненными задачами, который является очень общим и поэтому довольно сложным в использовании. Вы должны искать события, называемые сигналами , отправленные по шине такими вещами, как демон systemd logind и заставка gnome.
Существует по крайней мере 3 разные библиотеки C для доступа к шине и еще несколько управляемых библиотек Python поверх них. И есть несколько простых интерфейсов командной строки -, которых должно быть достаточно, чтобы написать сценарий оболочки для извлечения данных. Например,
dbus-monitor --system
(вам может понадобитьсяsudo
)будет работать постоянно, показывая вызовы и события. Ищите строфы, начинающиеся signal
, которые имеют path=/org/freedesktop/login1...
. Они будут содержать сложным образом информацию о том, когда кто-то входит в систему или выходит из нее, или когда пользователь наseat0
(основной консоли )меняется, или когда дисплей блокируется из-за бездействия.
systemd создал собственную альтернативную команду:
sudo busctl monitor
, который предоставляет информацию в другом формате. Существует также gdbus monitor...
, которому нужно больше аргументов, чтобы сказать, что слушать.
В качестве альтернативы вы можете попробовать использовать в каждом входе какое-то время -средство отслеживания для рабочих листов, такое как отслеживать (, о котором я ничего не знаю ), а затем объединять информацию.
loginctl
предоставит вам список session-id
и пользователей. Оттуда вы можете использовать loginctl show-session <session-id>
, и вы увидите Type=x11
или Type=wayland
для этих сеансов.
Вот пример:
$ loginctl
SESSION UID USER SEAT TTY
19 1000 stew pts/2
2 1000 stew seat0 tty2
20 1000 stew seat0 tty6
3 sessions listed.
$ loginctl show-session 19 -p Type
Type=tty
$ loginctl show-session 2 -p Type
Type=x11
$ loginctl show-session 20 -p Type
Type=tty
В этом случае я вошел в систему на этой машине через ssh, а также через два TTY. Один из TTY работает под управлением X11.
Это не лог, но если периодически опрашивать его,вы можете создать журнал с ним.