<?xml version='1.0'?> <!--*-nxml-*-->
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
        "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">

<!--
  This file is part of systemd.

  Copyright 2012 Lennart Poettering

  systemd is free software; you can redistribute it and/or modify it
  under the terms of the GNU Lesser General Public License as published by
  the Free Software Foundation; either version 2.1 of the License, or
  (at your option) any later version.

  systemd is distributed in the hope that it will be useful, but
  WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  Lesser General Public License for more details.

  You should have received a copy of the GNU Lesser General Public License
  along with systemd; If not, see <http://www.gnu.org/licenses/>.
-->

<refentry id="localectl" conditional='ENABLE_LOCALED'>

        <refentryinfo>
                <title>localectl</title>
                <productname>systemd</productname>

                <authorgroup>
                        <author>
                                <contrib>Developer</contrib>
                                <firstname>Lennart</firstname>
                                <surname>Poettering</surname>
                                <email>lennart@poettering.net</email>
                        </author>
                </authorgroup>
        </refentryinfo>

        <refmeta>
                <refentrytitle>localectl</refentrytitle>
                <manvolnum>1</manvolnum>
        </refmeta>

        <refnamediv>
                <refname>localectl</refname>
                <refpurpose>Control the system locale and keyboard layout settings</refpurpose>
        </refnamediv>

        <refsynopsisdiv>
                <cmdsynopsis>
                        <command>localectl <arg choice="opt" rep="repeat">OPTIONS</arg> <arg choice="req">COMMAND</arg></command>
                </cmdsynopsis>
        </refsynopsisdiv>

        <refsect1>
                <title>Description</title>

                <para><command>localectl</command> may be used to
                query and change the system locale and keyboard layout
                settings.</para>

                <para>The system locale controls the language settings
                of system services and of the UI before the user logs
                in, such as the display manager, as well as the
                default for users after login.</para>

                <para>The keyboard settings control the keyboard
                layout used on the text console and of the graphical
                UI before the user logs in, such as the display
                manager, as well as the default for users after
                login.</para>
        </refsect1>

        <refsect1>
                <title>Options</title>

                <para>The following options are understood:</para>

                <variablelist>
                        <varlistentry>
                                <term><option>-h</option></term>
                                <term><option>--help</option></term>

                                <listitem><para>Prints a short help
                                text and exits.</para></listitem>
                        </varlistentry>

                        <varlistentry>
                                <term><option>--version</option></term>

                                <listitem><para>Prints a short version
                                string and exits.</para></listitem>
                        </varlistentry>

                        <varlistentry>
                                <term><option>--no-pager</option></term>

                                <listitem><para>Do not pipe output into a
                                pager.</para></listitem>
                        </varlistentry>

                        <varlistentry>
                                <term><option>--no-ask-password</option></term>

                                <listitem><para>Don't query the user
                                for authentication for privileged
                                operations.</para></listitem>
                        </varlistentry>

                        <varlistentry>
                                <term><option>-H</option></term>
                                <term><option>--host</option></term>

                                <listitem><para>Execute the operation
                                remotely. Specify a hostname, or
                                username and hostname separated by @,
                                to connect to. This will use SSH to
                                talk to a remote
                                system.</para></listitem>
                        </varlistentry>

                        <varlistentry>
                                <term><option>--no-convert</option></term>

                                <listitem><para>If
                                <command>set-keymap</command> or
                                <command>set-x11-keymap</command> is
                                invoked and this option is passed then
                                the keymap will not be converted from
                                the console to X11, or X11 to console,
                                respectively.</para></listitem>
                        </varlistentry>
                </variablelist>

                <para>The following commands are understood:</para>

                <variablelist>
                        <varlistentry>
                                <term><command>status</command></term>

                                <listitem><para>Show current settings
                                of the system locale and keyboard
                                mapping.</para></listitem>
                        </varlistentry>

                        <varlistentry>
                                <term><command>set-locale LOCALE...</command></term>

                                <listitem><para>Set the system
                                locale. This takes one or more
                                assignments such as "LANG=de_DE.utf8",
                                "LC_MESSAGES=en_GB.utf8", and so
                                on. See
                                <citerefentry><refentrytitle>locale</refentrytitle><manvolnum>7</manvolnum></citerefentry>
                                for details on the available settings
                                and their meanings. Use
                                <command>list-locales</command> for a
                                list of available locales (see below).
                                </para></listitem>
                        </varlistentry>

                        <varlistentry>
                                <term><command>list-locales</command></term>

                                <listitem><para>List available locales
                                useful for configuration with
                                <command>set-locale</command>.</para></listitem>
                        </varlistentry>

                        <varlistentry>
                                <term><command>set-keymap MAP [TOGGLEMAP]</command></term>

                                <listitem><para>Set the system
                                keyboard mapping for the console. This
                                takes a keyboard mapping name (such as
                                "de" or "us"), and possibly a second
                                one to define a toggle keyboard
                                mapping. Unless
                                <option>--no-convert</option> is
                                passed the selected setting is also
                                applied to the default keyboard
                                mapping of X11, after converting it to
                                the closest matching X11 keyboard
                                mapping. Use
                                <command>list-keymaps</command> for a
                                list of available keyboard mappings
                                (see below).</para></listitem>
                        </varlistentry>

                        <varlistentry>
                                <term><command>list-keymaps</command></term>

                                <listitem><para>List available
                                keyboard mappings for the console,
                                useful for configuration with
                                <command>set-keymap</command>.</para></listitem>
                        </varlistentry>

                        <varlistentry>
                                <term><command>set-x11-keymap LAYOUT [MODEL] [VARIANT] [OPTIONS]</command></term>

                                <listitem><para>Set the system default
                                keyboard mapping for X11. This takes a
                                keyboard mapping name (such as "de" or
                                "us"), and possibly a model, variant
                                and options, see
                                <citerefentry><refentrytitle>kbd</refentrytitle><manvolnum>4</manvolnum></citerefentry>
                                for details. Unless
                                <option>--no-convert</option> is
                                passed the selected setting is also
                                applied to the system console keyboard
                                mapping, after converting it to the
                                closest matching console keyboard
                                mapping.</para></listitem>
                        </varlistentry>

                </variablelist>

        </refsect1>

        <refsect1>
                <title>Exit status</title>

                <para>On success 0 is returned, a non-zero failure
                code otherwise.</para>
        </refsect1>

        <refsect1>
                <title>Environment</title>

                <variablelist class='environment-variables'>
                        <varlistentry>
                                <term><varname>$SYSTEMD_PAGER</varname></term>
                                <listitem><para>Pager to use when
                                <option>--no-pager</option> is not given;
                                overrides <varname>$PAGER</varname>.  Setting
                                this to an empty string or the value
                                <literal>cat</literal> is equivalent to passing
                                <option>--no-pager</option>.</para></listitem>
                        </varlistentry>
                </variablelist>
        </refsect1>

        <refsect1>
                <title>See Also</title>
                <para>
                        <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
                        <citerefentry><refentrytitle>locale</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
                        <citerefentry><refentrytitle>locale.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
                        <citerefentry><refentrytitle>vconsole.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
                        <citerefentry><refentrytitle>loadkeys</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
                        <citerefentry><refentrytitle>kbd</refentrytitle><manvolnum>4</manvolnum></citerefentry>,
                        <citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
                        <citerefentry><refentrytitle>systemd-localed.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>
                </para>
        </refsect1>

</refentry>