On Tue, 28.05.13 01:28, Brendan J (bhenryj0...@googlemail.com) wrote: > Hi all, > > I'm trying to use the Inhibit() API exposed by logind on dbus > (org.freedesktop.login1.Manager) to prevent shutdown. > The call seems superficially to have worked, as the result from > ListInhibitors() includes the block I created. However my machine is not > prevented from shutting down. > > I'm pretty stumped on how to proceed with debugging this, beyond checking > what signals get sent (my program receives PrepareForShutdown(true)). > Could anyone suggest anything?
Note that inhibitors aren't something that protects you from yourself. System inhibitors a user took will inhibit shutdown for everybody else, but not for him, and not for root. The idea is that a user should always be able to override his apps if he really wants to. It is the job of your DE to present active locks on screen when the user selects shutdown, and if he really wants to ignore them to forward this to the system. Or in other words: if you ran your test code as the same user as the one initiating the shutdown it's not surprising nothong was inhibited. Also note that suspending via lid-close by default ignores inhibitors since there is no way to show such an override message since we cannot stop the user from closing the lid. (But you can change this via LidSwitchIgnoreInhibited=). Does this explain the issue? Otherwise, you need to give me more details what you exactly tried as which users... Lennart -- Lennart Poettering - Red Hat, Inc. _______________________________________________ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel