logind: rework wall message about pending shutdown/halt/reboot/…

Those messages simply *feel* dated: "The system is going for suspend NOW!".
Let's say "The system will suspend|power off|hibernate|… now!" instead.
The exclamation mark is enough to show the urgency.

Also, the "the" seemed out of place. We're not talking about a specific reboot.
This commit is contained in:
Zbigniew Jędrzejewski-Szmek 2022-05-30 12:08:41 +02:00
parent 978af07f66
commit 3dbb9bc5eb
6 changed files with 26 additions and 8 deletions

View file

@ -251,6 +251,22 @@ int manager_handle_action(
return 1;
}
static const char* const handle_action_verb_table[_HANDLE_ACTION_MAX] = {
[HANDLE_IGNORE] = "do nothing",
[HANDLE_POWEROFF] = "power off",
[HANDLE_REBOOT] = "reboot",
[HANDLE_HALT] = "halt",
[HANDLE_KEXEC] = "kexec",
[HANDLE_SUSPEND] = "suspend",
[HANDLE_HIBERNATE] = "hibernate",
[HANDLE_HYBRID_SLEEP] = "enter hybrid sleep",
[HANDLE_SUSPEND_THEN_HIBERNATE] = "suspend and later hibernate",
[HANDLE_FACTORY_RESET] = "perform a factory reset",
[HANDLE_LOCK] = "be locked",
};
DEFINE_STRING_TABLE_LOOKUP_TO_STRING(handle_action_verb, HandleAction);
static const char* const handle_action_table[_HANDLE_ACTION_MAX] = {
[HANDLE_IGNORE] = "ignore",
[HANDLE_POWEROFF] = "poweroff",

View file

@ -49,6 +49,8 @@ int manager_handle_action(
bool ignore_inhibited,
bool is_edge);
const char* handle_action_verb_to_string(HandleAction h) _const_;
const char* handle_action_to_string(HandleAction h) _const_;
HandleAction handle_action_from_string(const char *s) _pure_;

View file

@ -2357,7 +2357,7 @@ static int method_cancel_scheduled_shutdown(sd_bus_message *message, void *userd
}
username = uid_to_name(uid);
utmp_wall("The system shutdown has been cancelled",
utmp_wall("System shutdown has been cancelled",
username, tty, logind_wall_tty_filter, m);
}

View file

@ -70,11 +70,11 @@ static int warn_wall(Manager *m, usec_t n) {
left = m->scheduled_shutdown_timeout > n;
r = asprintf(&l, "%s%sThe system is going down for %s %s%s!",
r = asprintf(&l, "%s%sThe system will %s %s%s!",
strempty(m->wall_message),
isempty(m->wall_message) ? "" : "\n",
handle_action_to_string(m->scheduled_shutdown_action->handle),
left ? "at " : "NOW",
handle_action_verb_to_string(m->scheduled_shutdown_action->handle),
left ? "at " : "now",
left ? FORMAT_TIMESTAMP(m->scheduled_shutdown_timeout) : "");
if (r < 0) {
log_oom();

View file

@ -972,7 +972,7 @@ static int manager_dispatch_idle_action(sd_event_source *s, uint64_t t, void *us
if (n >= since.monotonic + m->idle_action_usec &&
(m->idle_action_not_before_usec <= 0 || n >= m->idle_action_not_before_usec + m->idle_action_usec)) {
log_info("System idle. Doing %s operation.", handle_action_to_string(m->idle_action));
log_info("System idle. Will %s now.", handle_action_verb_to_string(m->idle_action));
manager_handle_action(m, 0, m->idle_action, false, false);
m->idle_action_not_before_usec = n;

View file

@ -54,7 +54,7 @@ def run(args):
console.send('0')
logger.info("verify broadcast message")
console.expect('Broadcast message from root@H on %s' % pty, 2)
console.expect('The system is going down for reboot at %s' % date, 2)
console.expect('The system will reboot at %s' % date, 2)
logger.info("check show output")
console.sendline('shutdown --show')
@ -64,13 +64,13 @@ def run(args):
console.sendline('shutdown -c')
console.sendcontrol('a')
console.send('1')
console.expect('The system shutdown has been cancelled', 2)
console.expect('System shutdown has been cancelled', 2)
logger.info("call for reboot")
console.sendline('sleep 10; shutdown -r now')
console.sendcontrol('a')
console.send('0')
console.expect("The system is going down for reboot NOW!", 12)
console.expect("The system will reboot now!", 12)
logger.info("waiting for reboot")