Proposal: passing user idle time to systemd-logind
Submitted by Germano Massullo
Assigned to Xfce Bug Triage
Description
Copy of discussion https://mail.xfce.org/pipermail/xfce4-dev/2019-May/032257.html
Hello, I am writing to you to propose the following reasoning, hoping that it can help making easier (just a bit) third parties development work on Linux. I am currently developing BOINC client user idle time detection on Linux systems (both graphical or tty sessions) After some studies I started writing a little piece of code that that is able to print on standard output the user idle time by retrieving it from systemd-logind IdleSinceHint property (that is exposed on DBus). By the way I found out that this value was always 0 [1], so I asked why [2]. I have been told that logind relies on the desktop environment to pass this information. Many d.e. expose user idle time to their own DBus path, (i.e. org.gnome.Mutter.IdleMonitor), so I will be forced to write code that depends on the specific desktop environment. Since:
- systemd-logind is just ready for exposing user idle time;
- for a developer writing code for Linux it would be much easier to retrieve user idle time from a unique place rather than having to deal with all various desktop environments; I would like to ask you what do you think about passing the user idle time to logind [3] [4] ?
Best regards
[1]: you can try with system console command
$ sleep 2 && gdbus introspect --system --dest org.freedesktop.login1 --object-path /org/freedesktop/login1 | grep IdleSinceHint
[2]: https://lists.freedesktop.org/archives/systemd-devel/2019-May/042726.html
[3]: https://www.freedesktop.org/wiki/Software/systemd/writing-desktop-environments/
[4]: https://www.freedesktop.org/wiki/Software/systemd/writing-display-managers/
Version: Unspecified