<?xml version="1.0"?>
<!--*-nxml-*-->
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
  "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!-- SPDX-License-Identifier: LGPL-2.1-or-later -->
<refentry id="systemd-getty-generator">

  <refentryinfo>
    <title>systemd-getty-generator</title>
    <productname>systemd</productname>
  </refentryinfo>

  <refmeta>
    <refentrytitle>systemd-getty-generator</refentrytitle>
    <manvolnum>8</manvolnum>
  </refmeta>

  <refnamediv>
    <refname>systemd-getty-generator</refname>
    <refpurpose>Generator for enabling getty instances on the
    console</refpurpose>
  </refnamediv>

  <refsynopsisdiv>
    <para><filename>/usr/lib/systemd/system-generators/systemd-getty-generator</filename></para>
  </refsynopsisdiv>

  <refsect1>
    <title>Description</title>

    <para><filename>systemd-getty-generator</filename> is a generator that automatically instantiates
    <filename>serial-getty@.service</filename> on the kernel consoles, if they can function as ttys and are
    not provided by the virtual console subsystem. It will also instantiate
    <filename>serial-getty@.service</filename> instances for virtualizer consoles, if execution in a
    virtualized environment is detected. If execution in a container environment is detected, it will instead
    enable <filename>console-getty.service</filename> for <filename>/dev/console</filename>, and
    <filename>container-getty@.service</filename> instances for additional container pseudo TTYs as requested
    by the container manager (see <ulink url="https://systemd.io/CONTAINER_INTERFACE"><filename>Container
    Interface</filename></ulink>). This should ensure that the user is shown a login prompt at the right
    place, regardless of which environment the system is started in. For example, it is sufficient to
    redirect the kernel console with a kernel command line argument such as <varname>console=</varname> to
    get both kernel messages and a getty prompt on a serial TTY. See <ulink
    url="https://docs.kernel.org/admin-guide/kernel-parameters.html">The kernel's command-line
    parameters</ulink> for more information on the <varname>console=</varname> kernel parameter.</para>

    <para><filename>systemd-getty-generator</filename> implements
    <citerefentry><refentrytitle>systemd.generator</refentrytitle><manvolnum>7</manvolnum></citerefentry>.</para>

    <para>Further information about configuration of gettys can be
    found in
    <ulink url="http://0pointer.de/blog/projects/serial-console.html">systemd
    for Administrators, Part XVI: Gettys on Serial Consoles (and
    Elsewhere)</ulink>.</para>
  </refsect1>

  <refsect1>
    <title>Kernel Command Line</title>

    <para><filename>systemd-getty-generator</filename> understands the following
    <citerefentry><refentrytitle>kernel-command-line</refentrytitle><manvolnum>7</manvolnum></citerefentry>
    parameters:</para>

    <variablelist class='kernel-commandline-options'>
      <varlistentry>
        <term><varname>systemd.getty_auto=</varname></term>

        <listitem><para>this options take an optional boolean argument, and default to yes.
        The generator is enabled by default, and a false value may be used to disable it.
        </para></listitem>
      </varlistentry>
    </variablelist>
  </refsect1>

  <refsect1>
    <title>Environment</title>

    <variablelist class='environment-variables'>
      <varlistentry>
        <term><varname>$SYSTEMD_GETTY_AUTO</varname></term>

        <listitem><para>This variable takes an optional boolean argument, and default to yes.
        The generator is enabled by default, and a false value may be used to disable it.
        </para></listitem>
      </varlistentry>
    </variablelist>
  </refsect1>

  <refsect1>
    <title>See Also</title>
    <para>
      <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
      <citerefentry><refentrytitle>kernel-command-line</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
      <citerefentry project='man-pages'><refentrytitle>agetty</refentrytitle><manvolnum>8</manvolnum></citerefentry>
    </para>
  </refsect1>

</refentry>
