This option never made much sense. It was originally intended to make
sure that the usual startup output of sysv scripts goes to the terminal.
However, since SysV scripts started from a terminal would not output to
that terminal, but rather /dev/console this effect was more often than
not actually taking place. Nowadays systemd has much nicer boot time
status output than SysV which makes the sysv output redundant. Finally,
all output of services goes to the journal anyway, and is not lost.
Hence, let's drop this option, and simplify things a bit.
<term><varname>systemd.crash_chvt=</varname></term>
<term><varname>systemd.confirm_spawn=</varname></term>
<term><varname>systemd.show_status=</varname></term>
<term><varname>systemd.crash_chvt=</varname></term>
<term><varname>systemd.confirm_spawn=</varname></term>
<term><varname>systemd.show_status=</varname></term>
- <term><varname>systemd.sysv_console=</varname></term>
<term><varname>systemd.log_target=</varname></term>
<term><varname>systemd.log_level=</varname></term>
<term><varname>systemd.log_color=</varname></term>
<term><varname>systemd.log_target=</varname></term>
<term><varname>systemd.log_level=</varname></term>
<term><varname>systemd.log_color=</varname></term>
<term><varname>DumpCore=yes</varname></term>
<term><varname>CrashShell=no</varname></term>
<term><varname>ShowStatus=yes</varname></term>
<term><varname>DumpCore=yes</varname></term>
<term><varname>CrashShell=no</varname></term>
<term><varname>ShowStatus=yes</varname></term>
- <term><varname>SysVConsole=yes</varname></term>
<term><varname>CrashChVT=1</varname></term>
<term><varname>DefaultStandardOutput=journal</varname></term>
<term><varname>DefaultStandardError=inherit</varname></term>
<term><varname>CrashChVT=1</varname></term>
<term><varname>DefaultStandardOutput=journal</varname></term>
<term><varname>DefaultStandardError=inherit</varname></term>
interpreted as
<option>true</option>.</para></listitem>
</varlistentry>
interpreted as
<option>true</option>.</para></listitem>
</varlistentry>
- <varlistentry>
- <term><option>--sysv-console=</option></term>
-
- <listitem><para>Controls whether
- output of SysV init scripts will be
- directed to the console. This switch
- has no effect when run as user
- instance. Takes a boolean argument
- which may be omitted which is
- interpreted as
- <option>true</option>.</para></listitem>
- </varlistentry>
<varlistentry>
<term><option>--log-target=</option></term>
<varlistentry>
<term><option>--log-target=</option></term>
<option>false</option>.</para></listitem>
</varlistentry>
<option>false</option>.</para></listitem>
</varlistentry>
- <varlistentry>
- <term><varname>systemd.sysv_console=</varname></term>
-
- <listitem><para>Takes a boolean
- argument. If <option>true</option>
- output of SysV init scripts will be
- directed to the console. Defaults to
- <option>true</option>, unless
- <option>quiet</option> is passed as
- kernel command line option in which
- case it defaults to
- <option>false</option>.</para></listitem>
- </varlistentry>
-
<varlistentry>
<term><varname>systemd.log_target=</varname></term>
<term><varname>systemd.log_level=</varname></term>
<varlistentry>
<term><varname>systemd.log_target=</varname></term>
<term><varname>systemd.log_level=</varname></term>
<term><varname>quiet</varname></term>
<listitem><para>If passed turns off
<term><varname>quiet</varname></term>
<listitem><para>If passed turns off
- status output at boot, and disconnects
- SysV scripts from the console, much
- like
+ status output at boot, much like
<varname>systemd.show_status=false</varname>
<varname>systemd.show_status=false</varname>
- and
- <varname>systemd.sysv_console=false</varname>
would. Note that this option is also
read by the kernel itself and disables
kernel log output to the
would. Note that this option is also
read by the kernel itself and disables
kernel log output to the
#ifdef HAVE_SYSV_COMPAT
#define BUS_MANAGER_INTERFACE_PROPERTIES_SYSV \
#ifdef HAVE_SYSV_COMPAT
#define BUS_MANAGER_INTERFACE_PROPERTIES_SYSV \
- " <property name=\"SysVConsole\" type=\"b\" access=\"read\"/>\n" \
" <property name=\"SysVInitPath\" type=\"as\" access=\"read\"/>\n" \
" <property name=\"SysVRcndPath\" type=\"as\" access=\"read\"/>\n"
#else
" <property name=\"SysVInitPath\" type=\"as\" access=\"read\"/>\n" \
" <property name=\"SysVRcndPath\" type=\"as\" access=\"read\"/>\n"
#else
{ "ShutdownWatchdogUSec", bus_property_append_usec, "t", offsetof(Manager, shutdown_watchdog), false, bus_property_set_usec },
{ "HaveWatchdog", bus_manager_append_have_watchdog, "b", 0 },
#ifdef HAVE_SYSV_COMPAT
{ "ShutdownWatchdogUSec", bus_property_append_usec, "t", offsetof(Manager, shutdown_watchdog), false, bus_property_set_usec },
{ "HaveWatchdog", bus_manager_append_have_watchdog, "b", 0 },
#ifdef HAVE_SYSV_COMPAT
- { "SysVConsole", bus_property_append_bool, "b", offsetof(Manager, sysv_console) },
{ "SysVInitPath", bus_property_append_strv, "as", offsetof(Manager, lookup_paths.sysvinit_path), true },
{ "SysVRcndPath", bus_property_append_strv, "as", offsetof(Manager, lookup_paths.sysvrcnd_path), true },
#endif
{ "SysVInitPath", bus_property_append_strv, "as", offsetof(Manager, lookup_paths.sysvinit_path), true },
{ "SysVRcndPath", bus_property_append_strv, "as", offsetof(Manager, lookup_paths.sysvrcnd_path), true },
#endif
static bool arg_confirm_spawn = false;
static bool arg_show_status = true;
static bool arg_switched_root = false;
static bool arg_confirm_spawn = false;
static bool arg_show_status = true;
static bool arg_switched_root = false;
-#ifdef HAVE_SYSV_COMPAT
-static bool arg_sysv_console = true;
-#endif
static char **arg_default_controllers = NULL;
static char ***arg_join_controllers = NULL;
static ExecOutput arg_default_std_output = EXEC_OUTPUT_JOURNAL;
static char **arg_default_controllers = NULL;
static char ***arg_join_controllers = NULL;
static ExecOutput arg_default_std_output = EXEC_OUTPUT_JOURNAL;
log_warning("setenv failed %s. Ignoring.", strerror(errno));
}
free(cenv);
log_warning("setenv failed %s. Ignoring.", strerror(errno));
}
free(cenv);
-#ifdef HAVE_SYSV_COMPAT
- } else if (startswith(word, "systemd.sysv_console=")) {
- int r;
-
- if ((r = parse_boolean(word + 21)) < 0)
- log_warning("Failed to parse SysV console switch %s. Ignoring.", word + 20);
- else
- arg_sysv_console = r;
-#endif
} else if (startswith(word, "systemd.") ||
(in_initrd() && startswith(word, "rd.systemd."))) {
} else if (startswith(word, "systemd.") ||
(in_initrd() && startswith(word, "rd.systemd."))) {
"systemd.crash_chvt=N Change to VT #N on crash\n"
"systemd.confirm_spawn=0|1 Confirm every process spawn\n"
"systemd.show_status=0|1 Show status updates on the console during bootup\n"
"systemd.crash_chvt=N Change to VT #N on crash\n"
"systemd.confirm_spawn=0|1 Confirm every process spawn\n"
"systemd.show_status=0|1 Show status updates on the console during bootup\n"
-#ifdef HAVE_SYSV_COMPAT
- "systemd.sysv_console=0|1 Connect output of SysV scripts to console\n"
-#endif
"systemd.log_target=console|kmsg|journal|journal-or-kmsg|syslog|syslog-or-kmsg|null\n"
" Log target\n"
"systemd.log_level=LEVEL Log level\n"
"systemd.log_target=console|kmsg|journal|journal-or-kmsg|syslog|syslog-or-kmsg|null\n"
" Log target\n"
"systemd.log_level=LEVEL Log level\n"
" Set default log error output for services\n"
"systemd.setenv=ASSIGNMENT Set an environment variable for all spawned processes\n");
" Set default log error output for services\n"
"systemd.setenv=ASSIGNMENT Set an environment variable for all spawned processes\n");
- } else if (streq(word, "quiet")) {
+ } else if (streq(word, "quiet"))
-#ifdef HAVE_SYSV_COMPAT
- arg_sysv_console = false;
-#endif
- } else if (!in_initrd()) {
+ else if (!in_initrd()) {
unsigned i;
/* SysV compatibility */
unsigned i;
/* SysV compatibility */
{ "Manager", "DumpCore", config_parse_bool, 0, &arg_dump_core },
{ "Manager", "CrashShell", config_parse_bool, 0, &arg_crash_shell },
{ "Manager", "ShowStatus", config_parse_bool, 0, &arg_show_status },
{ "Manager", "DumpCore", config_parse_bool, 0, &arg_dump_core },
{ "Manager", "CrashShell", config_parse_bool, 0, &arg_crash_shell },
{ "Manager", "ShowStatus", config_parse_bool, 0, &arg_show_status },
-#ifdef HAVE_SYSV_COMPAT
- { "Manager", "SysVConsole", config_parse_bool, 0, &arg_sysv_console },
-#endif
{ "Manager", "CrashChVT", config_parse_int, 0, &arg_crash_chvt },
{ "Manager", "CPUAffinity", config_parse_cpu_affinity2, 0, NULL },
{ "Manager", "DefaultControllers", config_parse_strv, 0, &arg_default_controllers },
{ "Manager", "CrashChVT", config_parse_int, 0, &arg_crash_chvt },
{ "Manager", "CPUAffinity", config_parse_cpu_affinity2, 0, NULL },
{ "Manager", "DefaultControllers", config_parse_strv, 0, &arg_default_controllers },
ARG_CRASH_SHELL,
ARG_CONFIRM_SPAWN,
ARG_SHOW_STATUS,
ARG_CRASH_SHELL,
ARG_CONFIRM_SPAWN,
ARG_SHOW_STATUS,
ARG_DESERIALIZE,
ARG_SWITCHED_ROOT,
ARG_INTROSPECT,
ARG_DESERIALIZE,
ARG_SWITCHED_ROOT,
ARG_INTROSPECT,
{ "crash-shell", optional_argument, NULL, ARG_CRASH_SHELL },
{ "confirm-spawn", optional_argument, NULL, ARG_CONFIRM_SPAWN },
{ "show-status", optional_argument, NULL, ARG_SHOW_STATUS },
{ "crash-shell", optional_argument, NULL, ARG_CRASH_SHELL },
{ "confirm-spawn", optional_argument, NULL, ARG_CONFIRM_SPAWN },
{ "show-status", optional_argument, NULL, ARG_SHOW_STATUS },
-#ifdef HAVE_SYSV_COMPAT
- { "sysv-console", optional_argument, NULL, ARG_SYSV_CONSOLE },
-#endif
{ "deserialize", required_argument, NULL, ARG_DESERIALIZE },
{ "switched-root", no_argument, NULL, ARG_SWITCHED_ROOT },
{ "introspect", optional_argument, NULL, ARG_INTROSPECT },
{ "deserialize", required_argument, NULL, ARG_DESERIALIZE },
{ "switched-root", no_argument, NULL, ARG_SWITCHED_ROOT },
{ "introspect", optional_argument, NULL, ARG_INTROSPECT },
arg_show_status = r;
break;
arg_show_status = r;
break;
-#ifdef HAVE_SYSV_COMPAT
- case ARG_SYSV_CONSOLE:
- r = optarg ? parse_boolean(optarg) : 1;
- if (r < 0) {
- log_error("Failed to parse SysV console boolean %s.", optarg);
- return r;
- }
- arg_sysv_console = r;
- break;
-#endif
-
case ARG_DESERIALIZE: {
int fd;
FILE *f;
case ARG_DESERIALIZE: {
int fd;
FILE *f;
" --crash-shell[=0|1] Run shell on crash\n"
" --confirm-spawn[=0|1] Ask for confirmation when spawning processes\n"
" --show-status[=0|1] Show status updates on the console during bootup\n"
" --crash-shell[=0|1] Run shell on crash\n"
" --confirm-spawn[=0|1] Ask for confirmation when spawning processes\n"
" --show-status[=0|1] Show status updates on the console during bootup\n"
-#ifdef HAVE_SYSV_COMPAT
- " --sysv-console[=0|1] Connect output of SysV scripts to console\n"
-#endif
" --log-target=TARGET Set log target (console, journal, syslog, kmsg, journal-or-kmsg, syslog-or-kmsg, null)\n"
" --log-level=LEVEL Set log level (debug, info, notice, warning, err, crit, alert, emerg)\n"
" --log-color[=0|1] Highlight important log messages\n"
" --log-target=TARGET Set log target (console, journal, syslog, kmsg, journal-or-kmsg, syslog-or-kmsg, null)\n"
" --log-level=LEVEL Set log level (debug, info, notice, warning, err, crit, alert, emerg)\n"
" --log-color[=0|1] Highlight important log messages\n"
}
m->confirm_spawn = arg_confirm_spawn;
}
m->confirm_spawn = arg_confirm_spawn;
-#ifdef HAVE_SYSV_COMPAT
- m->sysv_console = arg_sysv_console;
-#endif
m->default_std_output = arg_default_std_output;
m->default_std_error = arg_default_std_error;
m->runtime_watchdog = arg_runtime_watchdog;
m->default_std_output = arg_default_std_output;
m->default_std_error = arg_default_std_error;
m->runtime_watchdog = arg_runtime_watchdog;
bool show_status;
bool confirm_spawn;
bool show_status;
bool confirm_spawn;
-#ifdef HAVE_SYSV_COMPAT
- bool sysv_console;
-#endif
ExecOutput default_std_output, default_std_error;
ExecOutput default_std_output, default_std_error;
s->guess_main_pid = false;
s->restart = SERVICE_RESTART_NO;
s->exec_context.ignore_sigpipe = false;
s->guess_main_pid = false;
s->restart = SERVICE_RESTART_NO;
s->exec_context.ignore_sigpipe = false;
-
- if (UNIT(s)->manager->sysv_console)
- s->exec_context.std_output = EXEC_OUTPUT_JOURNAL_AND_CONSOLE;
-
s->exec_context.kill_mode = KILL_PROCESS;
/* We use the long description only if
s->exec_context.kill_mode = KILL_PROCESS;
/* We use the long description only if
#DumpCore=yes
#CrashShell=no
#ShowStatus=yes
#DumpCore=yes
#CrashShell=no
#ShowStatus=yes
#CrashChVT=1
#CPUAffinity=1 2
#DefaultControllers=cpu
#CrashChVT=1
#CPUAffinity=1 2
#DefaultControllers=cpu