diff --git a/src/login/logind-dbus.c b/src/login/logind-dbus.c index 088136ec86..694a99fba1 100644 --- a/src/login/logind-dbus.c +++ b/src/login/logind-dbus.c @@ -2140,6 +2140,8 @@ static int manager_scheduled_shutdown_handler( target = SPECIAL_POWEROFF_TARGET; else if (streq(m->scheduled_shutdown_type, "reboot")) target = SPECIAL_REBOOT_TARGET; + else if (streq(m->scheduled_shutdown_type, "kexec")) + target = SPECIAL_KEXEC_TARGET; else if (streq(m->scheduled_shutdown_type, "halt")) target = SPECIAL_HALT_TARGET; else @@ -2205,7 +2207,7 @@ static int method_schedule_shutdown(sd_bus_message *message, void *userdata, sd_ action = "org.freedesktop.login1.power-off"; action_multiple_sessions = "org.freedesktop.login1.power-off-multiple-sessions"; action_ignore_inhibit = "org.freedesktop.login1.power-off-ignore-inhibit"; - } else if (streq(type, "reboot")) { + } else if (STR_IN_SET(type, "reboot", "kexec")) { action = "org.freedesktop.login1.reboot"; action_multiple_sessions = "org.freedesktop.login1.reboot-multiple-sessions"; action_ignore_inhibit = "org.freedesktop.login1.reboot-ignore-inhibit";