On 2025-02-17 00:12, Bruno Haible wrote:
Paul Eggert wrote:
$ ./who-no-systemd # Configured normally.
eggert seat0 2025-02-15 10:11 (login screen)
eggert tty2 2025-02-15 10:11 (tty2)
$ ./who-with-systemd # Configured with --enable-systemd.
eggert seat0 2025-02-15 10:11
eggert tty2 2025-02-15 10:11
Apparently for coreutils, /var/run/utmp (the traditional interface) has
more info than libsystemd's API.
Both outputs are equivalent; the second one is less redundant.
In that case, should we fix Gnulib and/or Coreutils so that the first
output is changed to match the second one?
$ ./who-no-systemd
eggert pts/3 2025-02-16 22:56 (47.147.225.25)
$ ./who-with-systemd
gdm seat0 2025-02-13 18:04
gdm tty1 2025-02-13 18:04
eggert sshd pts/3 2025-02-16 22:56 (47.147.225.25)
Here, though I'm logged in only via ssh, the libsystemd-using 'who'
incorrectly reports that a user named "gdm" is logged in in person.
'who' merely reports the info it got from systemd-logind, and systemd-logind
most probably got a notification from gdm.
I agree with you that this _looks_like_ as if a user named 'gdm' was logged
in, and thus is misleading. But I don't think this should be fixed in
coreutils. Rather, this is something to work out between systemd-logind
and gdm.
OK, but until that's worked out it appears to be better to not use
--enable-systemd on Fedora when configuring Coreutils. Likewise for
Ubuntu which has the same issue, and I assume Debian is like Ubuntu.