From: Lennart Poettering Date: Thu, 24 Oct 2024 10:14:01 +0000 (+0200) Subject: run: drop "-" prefix from command line when generating unit description X-Git-Tag: v257-rc1~139^2~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ff4b6a191563e37b9c5f725bc5ce0d7609c0891e;p=thirdparty%2Fsystemd.git run: drop "-" prefix from command line when generating unit description Let's not confuse users with the login shell indicator and drop it from the description. This means a run0 session will now usually show up with a description of "[run0] /bin/bash" rather than "[run0] -/bin/bash". --- diff --git a/src/run/run.c b/src/run/run.c index d4eb148cf64..6b9e19e2d1a 100644 --- a/src/run/run.c +++ b/src/run/run.c @@ -2439,7 +2439,19 @@ static int run(int argc, char* argv[]) { if (strv_isempty(arg_cmdline)) t = strdup(arg_unit); - else + else if (startswith(arg_cmdline[0], "-")) { + /* Drop the login shell marker from the command line when generating the description, + * in order to minimize user confusion. */ + _cleanup_strv_free_ char **l = strv_copy(arg_cmdline); + if (!l) + return log_oom(); + + r = free_and_strdup_warn(l + 0, l[0] + 1); + if (r < 0) + return r; + + t = quote_command_line(l, SHELL_ESCAPE_EMPTY); + } else t = quote_command_line(arg_cmdline, SHELL_ESCAPE_EMPTY); if (!t) return log_oom();