Missing 'Reboot Now' update warning

@DenalB @davo and others:
I misinterpreted the contents of file /var/run/utmp, sorry about that. It is a binary file, not a text file. So your files are probably correct.

And this makes the issue more confusing. I have a hard time getting to the bottom of it since the logs you have shown indicate everything should work.
The test app showed the basics are working, but for some users, reboot notifications are not.

But I’m not going to give up too easily. I will look at the code to see if I can find a path that leads to the issue.

Fingers crossed… :crossed_fingers:

I didn’t set a user or timeout in the .conf file and mine works fine.

Did some small changes to eos-reboot-recommended 26.5.4.3-1.
Please try it and report.

If these don’t help, then I’d like you to experiment with the values given to eos_notification_all in the TestApp above and report your findings.

Installed, but no change. Still no reboot pending notification. :frowning:

EDIT: Removed and reinstalled eos-reboot-recommended. The conf file is the default now without any changes. But again, no reboot pending notification.

Will try that…

I don’t know what to test exactly. So I changed the output…

eos_notification_all "$icon" normal "${expiretime}000" TestApp "EOS Test Notification" "This is my own test notification! I use EOS by the way..." "" $username

Thanks for testing.
Could you still show the contents of all the 3 log files mentioned above. The files should be OK about 5 seconds after re-installing mesa.

/tmp/eos_notification_all-debug.log does not exist

/var/log/eos-reboot-required2.log
==> eos-reboot-required2: debug: eos-reboot-required2 begin.
==> eos-reboot-required2: debug: Main: not chrooting.
==> eos-reboot-required2: debug: Main: variable EOS_REBOOT_RECOMMENDING == ‘yes’
==> eos-reboot-required2: debug: DoNotify begin.
==> eos-reboot-required2: info: Reboot recommendation triggered by updating package(s): mesa
==> eos-reboot-required2: debug: DoNotify end.
==> eos-reboot-required2: debug: eos-reboot-required2 end.


/var/log/eos-reboot-required3.log
==> eos-reboot-required3: debug: eos-reboot-required3 begin.
==> eos-reboot-required3: debug: WaitLoop begin.
==> eos-reboot-required3: debug: WaitLoop end.
==> eos-reboot-required3: debug: DoNotify begin.
==> eos-reboot-required3: debug: user = ‘’; expiretime = ‘0’; urgency = ‘normal’
==> eos-reboot-required3: debug: DoNotify end.
==> eos-reboot-required3: debug: eos-reboot-required3 end.


$ sudo cat /tmp/eos_notification_all-debug.log
cat: /tmp/eos_notification_all-debug.log: Datei oder Verzeichnis nicht gefunden
$ sudo cat /var/log/eos-reboot-required2.log
==> eos-reboot-required2: debug: eos-reboot-required2 begin.
==> eos-reboot-required2: debug: Main: not chrooting.
==> eos-reboot-required2: debug: Main: variable EOS_REBOOT_RECOMMENDING == 'yes'
==> eos-reboot-required2: debug: DoNotify begin.
==> eos-reboot-required2: info: Reboot recommendation triggered by updating package(s): mesa
==> eos-reboot-required2: debug: DoNotify end.
==> eos-reboot-required2: debug: eos-reboot-required2 end.
$ sudo cat /var/log/eos-reboot-required3.log
==> eos-reboot-required3: debug: eos-reboot-required3 begin.
==> eos-reboot-required3: debug: WaitLoop begin.
==> eos-reboot-required3: debug: WaitLoop end.
==> eos-reboot-required3: debug: DoNotify begin.
==> eos-reboot-required3: debug: user = ''; expiretime = '0'; urgency = 'normal'
==> eos-reboot-required3: debug: DoNotify end.
==> eos-reboot-required3: debug: eos-reboot-required3 end.

Please try replacing $username with "".

I changed only $username to “”. The test worked, notification displayed and it output my username.

Could you show the contents of all those 3 log files after the test?

Did it.

$ sudo bash /tmp/test-app
denalb
$ sudo cat /tmp/eos_notification_all-debug.log
==> eos_notification_all: debug: username = ''
==> eos_notification_all: debug: users = 'denalb'
==> eos_notification_all: debug: user = 'denalb'; display = 'DISPLAY=:0'; wayland_display = 'WAYLAND_DISPLAY=wayland-0'
$ sudo cat /var/log/eos-reboot-required2.log
==> eos-reboot-required2: debug: eos-reboot-required2 begin.
==> eos-reboot-required2: debug: Main: not chrooting.
==> eos-reboot-required2: debug: Main: variable EOS_REBOOT_RECOMMENDING == 'yes'
==> eos-reboot-required2: debug: DoNotify begin.
==> eos-reboot-required2: info: Reboot recommendation triggered by updating package(s): mesa
==> eos-reboot-required2: debug: DoNotify end.
==> eos-reboot-required2: debug: eos-reboot-required2 end.
$ sudo cat /var/log/eos-reboot-required3.log
==> eos-reboot-required3: debug: eos-reboot-required3 begin.
==> eos-reboot-required3: debug: WaitLoop begin.
==> eos-reboot-required3: debug: WaitLoop end.
==> eos-reboot-required3: debug: DoNotify begin.
==> eos-reboot-required3: debug: user = ''; expiretime = '0'; urgency = 'normal'
==> eos-reboot-required3: debug: DoNotify end.
==> eos-reboot-required3: debug: eos-reboot-required3 end.

Does it help?

My third notebook updated the kernel from the test repo, i did not get notified to reboot.

[davinai@davina-hppaviliong7notebookpc ~]$ sudo cat /var/run/utmp
[sudo] wachtwoord voor davinai:
~~~reboot7.0.10-arch1-1^!j ��Xpts/0ts/0davinai:0�j�t�Xpts/1ts/1davinai:0�j+

[davinai@davina-hppaviliong7notebookpc ~]$ sudo cat /tmp/eos_notification_all-debug.log
==> eos_notification_all: debug: username = ‘’
==> eos_notification_all: debug: users = ‘’

[davinai@davina-hppaviliong7notebookpc ~]$ sudo cat /var/log/eos-reboot-required2.log
==> eos-reboot-required2: debug: eos-reboot-required2 begin.
==> eos-reboot-required2: debug: Main: not chrooting.
==> eos-reboot-required2: debug: Main: variable EOS_REBOOT_RECOMMENDING == ‘yes’
==> eos-reboot-required2: debug: DoNotify begin.
==> eos-reboot-required2: info: Reboot recommendation triggered by updating package(s): linux
==> eos-reboot-required2: debug: DoNotify end.
==> eos-reboot-required2: debug: eos-reboot-required2 end.

[davinai@davina-hppaviliong7notebookpc ~]$ sudo cat /var/log/eos-reboot-required3.log
==> eos-reboot-required3: debug: eos-reboot-required3 begin.
==> eos-reboot-required3: debug: WaitLoop begin.
==> eos-reboot-required3: debug: WaitLoop end.
==> eos-reboot-required3: debug: DoNotify begin.
==> eos-reboot-required3: debug: user = ‘’; expiretime = ‘10000’; urgency = ‘normal’
==> eos-reboot-required3: debug: DoNotify end.
==> eos-reboot-required3: debug: eos-reboot-required3 end.

Edit: Tried pacman -S mesa and i did get notified.

/tmp/eos_notification_all-debug.log:

==> eos_notification_all: debug: username = ‘’
==> eos_notification_all: debug: users = ‘’

/var/log/eos/eos-reboot-required2.log:

==> eos-reboot-required2: debug: eos-reboot-required2 begin.
==> eos-reboot-required2: debug: Main: not chrooting.
==> eos-reboot-required2: debug: Main: variable EOS_REBOOT_RECOMMENDING == ‘yes’
==> eos-reboot-required2: debug: DoNotify begin.
==> eos-reboot-required2: info: Reboot recommendation triggered by updating package(s): mesa
==> eos-reboot-required2: debug: DoNotify end.
==> eos-reboot-required2: debug: eos-reboot-required2 end.

/var/log/eos-reboot-required3.log:

==> eos-reboot-required3: debug: eos-reboot-required3 begin.
==> eos-reboot-required3: debug: WaitLoop begin.
==> eos-reboot-required3: debug: WaitLoop end.
==> eos-reboot-required3: debug: DoNotify begin.
==> eos-reboot-required3: debug: user = ‘’; expiretime = ‘0’; urgency = ‘normal’
==> eos-reboot-required3: debug: DoNotify end.
==> eos-reboot-required3: debug: eos-reboot-required3 end.

Here’s another small bash script for you to try. It should show the notification as-is.
It is doesn’t, can you try other values for: urgency and/or expiretime.

Save the script to file /tmp/test and make it executable.
Run it with command
sudo /tmp/test denalb

#!/bin/bash

DIE() {
    local progname=${0##*/}
    echo -e "==> $progname: error: $1" >&2
    exit 1
}

Main() {
    local user="$1"
    [ "$user" ] || DIE "please give your user name."

    local userid="$(/bin/id -u "$user")"

    local appname="testing app"
    local icon="info"
    local title="my title"
    local message="my message"

    local urgency="normal"          # values: low, normal, critical
    local expiretime=0              # or 3000; value in milliseconds

    local command=(
        DISPLAY=:0
        WAYLAND_DISPLAY=wayland-0
        DBUS_SESSION_BUS_ADDRESS="unix:path=/run/user/$userid/bus"
        notify-send
        --icon="'$icon'"
        --urgency="'$urgency'"
        --expire-time="'$expiretime'"
        --app-name="'$appname'"
        "'$title'"
        "'$message'"
    )
    /bin/sudo -u "$user" bash -c "${command[*]}"
}

Main "$@"

Yes. Works. :slight_smile:

$ sudo /tmp/test denalb

OK, thanks!

I’ll modify eos-bash-shared to make it similar to the testing script above.
If all goes well, the reboot notification should work as well. :wink:

Just released new versions of

eos-bash-shared 26.5.3.2-1 
eos-reboot-recommended 26.5.4.4-1 

They work here. Please test and report.

Just an obvious reminder, please do a full system update, like

sudo pacman -Syu

first.

Bad news … It’s still not working. I did a full system update, rebooted the system, and reinstalled mesa package. Still no reboot pending notification. :frowning:

Here are the 3 logs again.

$ sudo cat /tmp/eos_notification_all-debug.log
==> eos_notification_all: debug: username = ''
==> eos_notification_all: debug: users = ''
$ sudo cat /var/log/eos-reboot-required2.log
==> eos-reboot-required2: debug: eos-reboot-required2 begin.
==> eos-reboot-required2: debug: Main: not chrooting.
==> eos-reboot-required2: debug: Main: variable EOS_REBOOT_RECOMMENDING == 'yes'
==> eos-reboot-required2: debug: DoNotify begin.
==> eos-reboot-required2: info: Reboot recommendation triggered by updating package(s): mesa
==> eos-reboot-required2: debug: DoNotify end.
==> eos-reboot-required2: debug: eos-reboot-required2 end.
$ sudo cat /var/log/eos-reboot-required3.log
==> eos-reboot-required3: debug: eos-reboot-required3 begin.
==> eos-reboot-required3: debug: WaitLoop begin.
==> eos-reboot-required3: debug: WaitLoop end.
==> eos-reboot-required3: debug: DoNotify begin.
==> eos-reboot-required3: debug: user = ''; expiretime = '0'; urgency = 'normal'
==> eos-reboot-required3: debug: DoNotify end.
==> eos-reboot-required3: debug: eos-reboot-required3 end.

Should I modify the conf file?