从登录屏幕重新启动时出现新消息:当应用程序要求禁止重新启动系统时,需要进行身份验证

从登录屏幕重新启动时出现新消息:当应用程序要求禁止重新启动系统时,需要进行身份验证

过去几天开始出现新的身份验证提示(见标题)(Ubuntu 18.04)。据传,这种情况大约有一半发生在从登录屏幕重新启动而未登录时。

谢谢这次讨论,我能够弄清楚相关操作,,org.freedesktop.login1.reboot-ignore-inhibit是在中配置的/usr/share/polkit-1/actions/org.freedesktop.login1.policy(链接指定了不同的文件,但它来自 2011 年,因此毫不奇怪,情况已经发生了变化)。我认为,鉴于此,我可以禁用此操作。

但是,我真正想做的是找出哪个应用程序要求禁止重启以及原因。我想至少可以通过 来回答“哪个”部分journalctl,但我不知道要寻找什么。有人能给我指出正确的方向吗?


编辑:使用 WinEunuuchs2Unix 的答案,我能够找到如下行journalctl

... Operator of unix-session:c2 successfully authenticated as unix-user:randy to gain TEMPORARY authorization for action org.freedesktop.login1.reboot-ignore-inhibit for system-bus-name::1.40 [/usr/lib/gnome-session/gnome-session-binary --autostart /usr/share/gdm/greeter/autostart] (owned by unix-user:gdm)

所以我猜gdm是罪魁祸首。但是,我仍然不确定为什么会发生这种情况。我再次强调,当抑制剂被触发时,我还没有登录。

答案1

您可以使用以下命令获取所有 systemd 抑制剂的列表:

$ systemd-inhibit --list

     Who: rick (UID 1000/rick, PID 2358/unity-settings-)
    What: sleep
     Why: GNOME needs to lock the screen
    Mode: delay

     Who: rick (UID 1000/rick, PID 2358/unity-settings-)
    What: handle-power-key:handle-suspend-key:handle-hibernate-key
     Why: GNOME handling keypresses
    Mode: block

     Who: NetworkManager (UID 0/root, PID 1189/NetworkManager)
    What: sleep
     Why: NetworkManager needs to turn off networks
    Mode: delay

     Who: Unattended Upgrades Shutdown (UID 0/root, PID 1372/unattended-upgr)
    What: shutdown
     Why: Stop ongoing upgrades or perform upgrades before shutdown
    Mode: delay

     Who: rick (UID 1000/rick, PID 2358/unity-settings-)
    What: handle-lid-switch
     Why: Multiple displays attached
    Mode: block

5 inhibitors listed.

但是,例如,打开文件进行编辑后,列表不会改变。你可以改用这个:

$ dbus-send --print-reply --dest=org.gnome.SessionManager /org/gnome/SessionManager org.gnome.SessionManager.GetInhibitors

method return time=1573403207.555584 sender=:1.49 -> destination=:1.1853 serial=7743 reply_serial=2
   array [
   ]

$ gedit temp &

# Now type some text into gedit but don't save the file

$ dbus-send --print-reply --dest=org.gnome.SessionManager /org/gnome/SessionManager org.gnome.SessionManager.GetInhibitors

method return time=1573403241.678869 sender=:1.49 -> destination=:1.1855 serial=7747 reply_serial=2
   array [
      object path "/org/gnome/SessionManager/Inhibitor1727"
   ]

在第一种情况下,没有抑制锁。我们在 gedit 中编辑一个文件,在第二种情况下,存在一个锁。但是它实际上并没有告诉我们名称gedit

相关内容