weird systemd-inhibit behaviour

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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.



[Index of Archives]     [LARTC]     [Bugtraq]     [Yosemite Forum]     [Photo]

  Powered by Linux