mirror of
https://github.com/systemd/systemd.git
synced 2024-11-24 10:43:35 +08:00
189 lines
8.0 KiB
XML
189 lines
8.0 KiB
XML
<?xml version='1.0'?>
|
|
<!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="org.freedesktop.locale1" conditional='ENABLE_LOCALED'
|
|
xmlns:xi="http://www.w3.org/2001/XInclude">
|
|
<refentryinfo>
|
|
<title>org.freedesktop.locale1</title>
|
|
<productname>systemd</productname>
|
|
</refentryinfo>
|
|
|
|
<refmeta>
|
|
<refentrytitle>org.freedesktop.locale1</refentrytitle>
|
|
<manvolnum>5</manvolnum>
|
|
</refmeta>
|
|
|
|
<refnamediv>
|
|
<refname>org.freedesktop.locale1</refname>
|
|
<refpurpose>The D-Bus interface of systemd-localed</refpurpose>
|
|
</refnamediv>
|
|
|
|
<refsect1>
|
|
<title>Introduction</title>
|
|
|
|
<para>
|
|
<citerefentry><refentrytitle>systemd-localed.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>
|
|
is a system service that can be used to control the system locale and keyboard mapping from user
|
|
programs. This page describes the D-Bus interface.</para>
|
|
</refsect1>
|
|
|
|
<refsect1>
|
|
<title>The D-Bus API</title>
|
|
|
|
<para>The service exposes the following interfaces on the bus:</para>
|
|
|
|
<programlisting executable="systemd-localed" node="/org/freedesktop/locale1" interface="org.freedesktop.locale1">
|
|
node /org/freedesktop/locale1 {
|
|
interface org.freedesktop.locale1 {
|
|
methods:
|
|
SetLocale(in as locale,
|
|
in b interactive);
|
|
SetVConsoleKeyboard(in s keymap,
|
|
in s keymap_toggle,
|
|
in b convert,
|
|
in b interactive);
|
|
SetX11Keyboard(in s layout,
|
|
in s model,
|
|
in s variant,
|
|
in s options,
|
|
in b convert,
|
|
in b interactive);
|
|
properties:
|
|
readonly as Locale = ['...', ...];
|
|
readonly s X11Layout = '...';
|
|
readonly s X11Model = '...';
|
|
readonly s X11Variant = '...';
|
|
readonly s X11Options = '...';
|
|
readonly s VConsoleKeymap = '...';
|
|
readonly s VConsoleKeymapToggle = '...';
|
|
};
|
|
interface org.freedesktop.DBus.Peer { ... };
|
|
interface org.freedesktop.DBus.Introspectable { ... };
|
|
interface org.freedesktop.DBus.Properties { ... };
|
|
};
|
|
</programlisting>
|
|
|
|
<!--Autogenerated cross-references for systemd.directives, do not edit-->
|
|
|
|
<variablelist class="dbus-interface" generated="True" extra-ref="org.freedesktop.locale1"/>
|
|
|
|
<variablelist class="dbus-interface" generated="True" extra-ref="org.freedesktop.locale1"/>
|
|
|
|
<variablelist class="dbus-method" generated="True" extra-ref="SetLocale()"/>
|
|
|
|
<variablelist class="dbus-method" generated="True" extra-ref="SetVConsoleKeyboard()"/>
|
|
|
|
<variablelist class="dbus-method" generated="True" extra-ref="SetX11Keyboard()"/>
|
|
|
|
<variablelist class="dbus-property" generated="True" extra-ref="Locale"/>
|
|
|
|
<variablelist class="dbus-property" generated="True" extra-ref="X11Layout"/>
|
|
|
|
<variablelist class="dbus-property" generated="True" extra-ref="X11Model"/>
|
|
|
|
<variablelist class="dbus-property" generated="True" extra-ref="X11Variant"/>
|
|
|
|
<variablelist class="dbus-property" generated="True" extra-ref="X11Options"/>
|
|
|
|
<variablelist class="dbus-property" generated="True" extra-ref="VConsoleKeymap"/>
|
|
|
|
<variablelist class="dbus-property" generated="True" extra-ref="VConsoleKeymapToggle"/>
|
|
|
|
<!--End of Autogenerated section-->
|
|
|
|
<refsect2>
|
|
<title>Methods</title>
|
|
|
|
<para>If you set a new system locale all old system locale settings will be dropped and the new
|
|
settings will be saved to disk. The locale will also be passed to the system manager, and subsequently started
|
|
daemons will inherit the new system locale. Note that already running daemons will not learn about the
|
|
new value.</para>
|
|
|
|
<para>The <function>SetVConsoleKeyboard()</function> method may be used to set the key mapping for the
|
|
virtual console. Similarly, <function>SetX11Keyboard()</function> may be used to set the default key
|
|
mapping of any X11 servers.</para>
|
|
|
|
<para>Note that <function>SetVConsoleKeyboard()</function> instantly applies the new key mapping to the
|
|
console, while <function>SetX11Keyboard()</function> simply sets a default that may be used by later
|
|
sessions.</para>
|
|
|
|
<para>The boolean argument <varname>convert</varname> may be set to optionally convert the console
|
|
keyboard configuration to X11 keyboard mappings and vice versa. If true and
|
|
<function>SetVConsoleKeyboard()</function> is used, the nearest X11 keyboard setting for the chosen
|
|
console setting is set. If true and <function>SetX11Keyboard()</function> is used, the nearest console
|
|
keyboard setting for the chosen X11 setting is set. Hence, it is usually sufficient to call only one of the
|
|
two functions.</para>
|
|
|
|
<para>For graphical UIs that need to set the system keyboard mapping simply invoke
|
|
<function>SetX11Keyboard()</function>, set <varname>convert=true</varname> and ignore
|
|
<function>SetVConsoleKeyboard()</function>.</para>
|
|
|
|
<para>Use the empty string for the keymap parameters you wish not to set.</para>
|
|
|
|
<para>The <varname>interactive</varname> boolean parameters can be used to control whether
|
|
<ulink url="https://www.freedesktop.org/software/polkit/docs/latest/">polkit</ulink>
|
|
should interactively ask the user for authentication credentials if required.</para>
|
|
</refsect2>
|
|
|
|
<refsect2>
|
|
<title>Signals</title>
|
|
|
|
<para>Whenever the system locale or keymap is changed via the daemon,
|
|
<function>PropertyChanged</function> signals are sent out to which clients can subscribe.</para>
|
|
</refsect2>
|
|
|
|
<refsect2>
|
|
<title>Properties</title>
|
|
|
|
<para>The system locale is shown in the <varname>Locale</varname> property. It is an array containing
|
|
environment-variable-assignment-like strings. The following strings are known:
|
|
<varname>LANG=</varname>, <varname>LC_CTYPE=</varname>, <varname>LC_NUMERIC=</varname>,
|
|
<varname>LC_TIME=</varname>, <varname>LC_COLLATE=</varname>, <varname>LC_MONETARY=</varname>,
|
|
<varname>LC_MESSAGES=</varname>, <varname>LC_PAPER=</varname>, <varname>LC_NAME=</varname>,
|
|
<varname>LC_ADDRESS=</varname>, <varname>LC_TELEPHONE=</varname>, <varname>LC_MEASUREMENT=</varname>,
|
|
<varname>LC_IDENTIFICATION=</varname>.</para>
|
|
|
|
<para>The <varname>X11Layout</varname>, <varname>X11Model</varname>, <varname>X11Variant</varname>, and
|
|
<varname>X11Options</varname> properties show values configurable with
|
|
<function>SetX11Keyboard()</function> described above (or <function>SetVConsoleKeyboard()</function>
|
|
with <varname>convert=true</varname>). The <varname>VConsoleKeymap</varname> and
|
|
<varname>VConsoleKeymapToggle</varname> properties show values configurable with
|
|
<function>SetVConsoleKeyboard()</function> (or <function>SetX11Keyboard()</function> with
|
|
<varname>convert=true</varname>).</para>
|
|
</refsect2>
|
|
|
|
<refsect2>
|
|
<title>Security</title>
|
|
|
|
<para>Changing the system locale or keymap using this interface is authenticated via polkit. The
|
|
polkit action for <function>SetLocale()</function> is
|
|
<constant>org.freedesktop.locale1.set-locale</constant>. The polkit action for
|
|
<function>SetX11Keyboard()</function> and <function>SetVConsoleKeyboard()</function> is
|
|
<constant>org.freedesktop.locale1.set-keyboard</constant>.</para>
|
|
</refsect2>
|
|
</refsect1>
|
|
|
|
<refsect1>
|
|
<title>Examples</title>
|
|
|
|
<example>
|
|
<title>Introspect <interfacename>org.freedesktop.locale1</interfacename> on the bus</title>
|
|
|
|
<programlisting>
|
|
$ gdbus introspect --system \
|
|
--dest org.freedesktop.locale1 \
|
|
--object-path /org/freedesktop/locale1
|
|
</programlisting>
|
|
</example>
|
|
</refsect1>
|
|
|
|
<refsect1 id="versioning">
|
|
<title>Versioning</title>
|
|
|
|
<para>These D-Bus interfaces follow <ulink url="http://0pointer.de/blog/projects/versioning-dbus.html">
|
|
the usual interface versioning guidelines</ulink>.</para>
|
|
</refsect1>
|
|
</refentry>
|