At this point I confess I don't know what changes would be needed for
GNU 'who'. I see a difference of opinion as to whether 'w' works. There
seem to be multiple mechanisms in play (utmp, wtmp, wtmpdb, lastlog2,
logind, maybe others?) and I don't know when to use which, or even how
to use them except for the traditional utmp/wtmp files.
Perhaps whoever has changed the longstanding API (is that Thorsten
Kukuk, or someone else? anyway I'll cc Thorsten) can chime in with a
proposed patch to bleeding-edge GNU coreutils. This would probably mean
a patch to Gnulib's readutmp module, which already is supposed to work
with systemd's new utmp interfaces but I guess some people are reporting
problems with it? (This is unclear.)
For what it's worth, I briefly looked at
<https://build.opensuse.org/package/show/openSUSE%3AFactory/coreutils>
and didn't see a patch there. So perhaps the problem is already
addressed in bleeding-edge Coreutils?
Without some actionable advice from experts in this area, I don't see
this portability issue being fixed any time soon.
For now, I've merged the following GNU Coreutils bug reports as they all
seem to be the same topic.
https://bugs.gnu.org/73928
https://bugs.gnu.org/76346
https://bugs.gnu.org/76347