#1115259 bsdutils: The wall command as in bsdutils/Trixie does not work

Package:
bsdutils
Source:
bsdutils
Description:
basic utilities from 4.4BSD-Lite
Submitter:
Subhashis Roy
Date:
2026-06-26 14:37:02 UTC
Severity:
normal
Tags:
#1115259#5
Date:
2025-09-14 18:24:47 UTC
From:
To:
I suspend my workstation in night, and inform users (a few including
myself) by invoking 'wall' with a Warning message a few minutes before
the workstation Sleeps at a particular time in the night. However,
after upgrading to Trixie, it does not beep the terminals or send any
message to users.
As notified, there is no 'utmp' support by default, and probably 'wall'
does not get the list of users logged in.
Therefore, I installed 'wtmpdb' package, and 'last' is linked to
'wtmpdb'. Invoking 'last' works.
However, I still find 'wall File_name' invoked as root still produces
no response to me in a different Terminal (logged in through 'ssh').
Therefore, I consider this as a bug.
As 'wall' stops working, it significantly increases the problem of Root
to notify users of any issues or impending System Shutdown immediately.
Therefore, it needs to be fixed.
Please note that 'wall' works fine from my other system running
'bookworm'.

#1115259#10
Date:
2025-09-14 21:18:33 UTC
From:
To:
wall is built with systemd/logind support, the modern replacement
for utmp.

Make sure your sessions are listed in `loginctl` output (with a
TTY). If they are not, make sure you have libpam-systemd installed
and systemd-logind is running.

There might still be an issue with openssh not forwarding the TTY to
logind; if you are affected by this, then `wall` cannot do anything
about this. Best to test with a local login.

systemd also has an internal `wall` implementation, used to warn
users of impending shutdowns (and I suspect suspends).

I'll wait a bit for you to show that it's really `wall` that is the
problem here, and not something else; otherwise I'll close this
report.

Best,
Chris

#1115259#15
Date:
2025-09-15 14:25:51 UTC
From:
To:
Would you mind outlining how this systemd/logind support in
/usr/bin/wall can be demonstrated to be working, and how to use
systemd's internal wall implementation? How to send, how to receive?

#1115259#20
Date:
2025-09-16 07:29:31 UTC
From:
To:
I checked for both the possible issues as you have mentioned. I do have 'libpam-systemd' installed. Also, 'systemd-logind' is running. However, still 'wall' did not echo anything on screen, as shown in the screenshot attached.I could hear the sound of system-bell (pcspkr) locally, once the command was entered.
BTW, I am using 'xterm' as the terminal for local display.

#1115259#25
Date:
2025-11-17 13:58:18 UTC
From:
To:
I also have the same issue, and also have libpam-systemd installed and systemd-logind running.

When I do a wall command from a xfce session, no terminals in that session or logins via ssh get the wall output, but a login on virtual console via ctrl-alt-f1 does get the output.

With the virtual console active, loginctl shows a "tty1" session under the TTY column, but all other sessions under the TTY column have a "-", which appears to be the same as the attached image in message #20.

Is this then a loginctl/systemd related issue?

Best regards
Paul

#1115259#32
Date:
2026-01-15 23:52:06 UTC
From:
To:
FYI, I had already reported this issue in 2024:

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1087642

but the bug was closed without any solution.

Note that there is the same issue with systemd's shutdown command:

https://github.com/systemd/systemd/issues/35246

If "wall" expects the terminal to be part of the loginctl output,
then unfortunately, no login sessions have an attached TTY in my
case. But anyway, all terminals should normally be listed because
the goal is that the user should have the information at least in
the terminal he/she is watching. So I suppose that bugs should be
reported against these terminals (as this is where utmp was
handled).

#1115259#37
Date:
2026-06-26 13:55:52 UTC
From:
To:
Hi,

On Fri, 16 Jan 2026 00:52:06 +0100 Vincent Lefevre <vincent@vinc17.net> wrote:
logind. So all sessions that do not have a TTY in logind will not get
notified by "wall."

Logind gets the TTY from the PAM_TTY attribute. SSH does not set the TTY
while executing the PAM session hooks because it allocates the TTY
later, and may not have to allocate a TTY at all. So SSH sets PAM_TTY to
"ssh", and logind ignores the TTY if it is set to "ssh".

What confused me was that logind on Bookworm does show the TTY
information for SSH connections. It turns out that on Bookworm, logind
is using the TTY information from UTMP. However, UTMP was removed in Trixie.

So we need another way to set the TTY for the logind session to make
"wall" work again.

Thanks,
Alex

#1115259#42
Date:
2026-06-26 14:34:44 UTC
From:
To:
This is not true. With the re-creation of /run/utmp by
libutempter0 1.2.1-5, the xterm windows get the wall message.

Anyway, not all terminals run ssh.

If I understand correctly, /run/utmp was created by some systemd
package, and this is no longer done:

  systemd (256.7-2) unstable; urgency=medium
[...]
  * Disable utmp support, not y2038 safe. utmp support in tmux has been
    disabled, so autopkgtest should no longer break

But since it is still used by libutempter (and the terminals that
use this library), it is now recreated there:

/usr/lib/tmpfiles.d/libutempter0.conf contains

f /run/utmp 0664 root utmp

But since utmp support is currently not y2038 safe, there are
3 solutions until 2038 comes:

1. Make utmp y2038 safe (e.g. by changing the timestamp to 64 bits,
   which would need to rebuild the few programs that still use it).

2. Ignore the time in utmp (it doesn't seem to be used any longer,
   since "who" and "w" no longer use utmp).

3. Entirely replace utmp by logind for plain text terminals, e.g.
   started from the window manager or from other applications
   (PAM is not involved, so there should be some documentation
   on what to do).

Currently, there is no logind session for plain text terminals.