Hello

I am trying out systemd-inhibit as follows (on Arch Linux systemd version 238.133-4) but things dont seem to be working as expected.

So I would like to know if I am missing something or is there a bug?

Note: Everything is commented in /etc/systemd/logind.conf and there is no logind.conf.d directory in /run, /etc or /usr paths.

Case 1)
Inside multi-user.target - logged in to local tty as root.

# systemd-inhibit --what=handle-hibernate-key:handle-lid-switch:handle-power-key:handle-suspend-key:idle:sleep:shutdown sleep 300 &
# systemd-inhibit --list
    Who: sleep 300 (UID 0/root, PID 2544/systemd-inhibit)
    What: shutdown:sleep:idle:handle-power-key:handle-suspend-key:handle-hibernate-key:handle-lid-switch
     Why: Unknown reason
    Mode: block
...
$ echo switched to non-root user
$ systemctl suspend
Operation inhibited by "sleep 300" (PID 2544 "systemd-inhibit", user root), reason is "Unknown reason".
Please retry operation after closing inhibitors and logging out other users.
Alternatively, ignore inhibitors and users with 'systemctl suspend -i'.
# echo back as root user
# systemctl suspend # or halt or poweroff or reboot

It goes ahead and performs the action even if I am not using -i (--ignore-inhibitors) switch.

Documentation for -i (--ignore-inhibitors) states this:
If any locks are taken, shutdown and sleep state requests will normally fail (regardless of whether privileged or not) and a list of active locks is printed.

It clearly states - "privileged or not" - so even if I am running systemctl as root - it should not shutdown or sleep in above case.

Case 2)
Inside graphical.target - using KDE plasma - logged in as a non-root user.

Same first command as in case 1).

# logged into KDE as non-root user but command below run as root inside konsole # systemd-inhibit --what=handle-hibernate-key:handle-lid-switch:handle-power-key:handle-suspend-key:idle:sleep:shutdown sleep 300 &

Now if I click KDE Menu-->Leave-->Suspend (Suspend to RAM) ... it blocks suspend and asks me for root password - stating that there is an inhibitor.

But if I click KDE Menu-->Leave-->Shut Down ... it goes ahead and shuts down the machine.

/usr/lib/sddm/sddm.conf.d/sddm.conf has these systemctl commands mentioned in it:

HaltCommand=/usr/bin/systemctl poweroff
RebootCommand=/usr/bin/systemctl reboot

So I believe something is not right or I am doing something wrong in an unexpected way.

Case 2) may be KDE related issue but case 1) should atleast have worked as expected.

Can anyone else test?

Thank you,

Amish.

_______________________________________________
systemd-devel mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/systemd-devel

Reply via email to