]>
Commit | Line | Data |
---|---|---|
91c7ac94 ZJS |
1 | <?xml version='1.0'?> |
2 | <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" | |
3 | "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" > | |
4 | <!-- SPDX-License-Identifier: LGPL-2.1+ --> | |
5 | ||
6 | <refentry id="org.freedesktop.locale1" conditional='ENABLE_LOCALED' | |
7 | xmlns:xi="http://www.w3.org/2001/XInclude"> | |
8 | <refentryinfo> | |
9 | <title>org.freedesktop.locale1</title> | |
10 | <productname>systemd</productname> | |
11 | </refentryinfo> | |
12 | ||
13 | <refmeta> | |
14 | <refentrytitle>org.freedesktop.locale1</refentrytitle> | |
15 | <manvolnum>5</manvolnum> | |
16 | </refmeta> | |
17 | ||
18 | <refnamediv> | |
19 | <refname>org.freedesktop.locale1</refname> | |
20 | <refpurpose>The D-Bus interface of systemd-localed</refpurpose> | |
21 | </refnamediv> | |
22 | ||
23 | <refsect1> | |
24 | <title>Introduction</title> | |
25 | ||
26 | <para> | |
27 | <citerefentry><refentrytitle>systemd-localed.service</refentrytitle><manvolnum>8</manvolnum></citerefentry> | |
28 | is a system service that can be used to control the system locale and keyboard mapping from user | |
29 | programs. This page describes the D-Bus interface.</para> | |
30 | </refsect1> | |
31 | ||
32 | <refsect1> | |
33 | <title>The D-Bus API</title> | |
34 | ||
35 | <para>The service exposes the following interfaces on the bus:</para> | |
36 | ||
48f99d7c | 37 | <programlisting executable="systemd-localed" node="/org/freedesktop/locale1" interface="org.freedesktop.locale1"> |
91c7ac94 ZJS |
38 | node /org/freedesktop/locale1 { |
39 | interface org.freedesktop.locale1 { | |
40 | methods: | |
41 | SetLocale(in as locale, | |
4fb222c4 | 42 | in b interactive); |
91c7ac94 ZJS |
43 | SetVConsoleKeyboard(in s keymap, |
44 | in s keymap_toggle, | |
45 | in b convert, | |
4fb222c4 | 46 | in b interactive); |
91c7ac94 ZJS |
47 | SetX11Keyboard(in s layout, |
48 | in s model, | |
49 | in s variant, | |
50 | in s options, | |
51 | in b convert, | |
4fb222c4 | 52 | in b interactive); |
91c7ac94 | 53 | properties: |
4fb222c4 ZJS |
54 | readonly as Locale = ['...', ...]; |
55 | readonly s X11Layout = '...'; | |
56 | readonly s X11Model = '...'; | |
57 | readonly s X11Variant = '...'; | |
58 | readonly s X11Options = '...'; | |
59 | readonly s VConsoleKeymap = '...'; | |
60 | readonly s VConsoleKeymapToggle = '...'; | |
91c7ac94 | 61 | }; |
4fb222c4 ZJS |
62 | interface org.freedesktop.DBus.Peer { ... }; |
63 | interface org.freedesktop.DBus.Introspectable { ... }; | |
64 | interface org.freedesktop.DBus.Properties { ... }; | |
91c7ac94 ZJS |
65 | }; |
66 | </programlisting> | |
67 | ||
00bb75d7 ZJS |
68 | <!--Autogenerated cross-references for systemd.directives, do not edit--> |
69 | ||
70 | <variablelist class="dbus-interface" generated="True" extra-ref="org.freedesktop.locale1"/> | |
71 | ||
72 | <variablelist class="dbus-interface" generated="True" extra-ref="org.freedesktop.locale1"/> | |
73 | ||
74 | <variablelist class="dbus-method" generated="True" extra-ref="SetLocale()"/> | |
75 | ||
76 | <variablelist class="dbus-method" generated="True" extra-ref="SetVConsoleKeyboard()"/> | |
77 | ||
78 | <variablelist class="dbus-method" generated="True" extra-ref="SetX11Keyboard()"/> | |
79 | ||
80 | <variablelist class="dbus-property" generated="True" extra-ref="Locale"/> | |
81 | ||
82 | <variablelist class="dbus-property" generated="True" extra-ref="X11Layout"/> | |
83 | ||
84 | <variablelist class="dbus-property" generated="True" extra-ref="X11Model"/> | |
85 | ||
86 | <variablelist class="dbus-property" generated="True" extra-ref="X11Variant"/> | |
87 | ||
88 | <variablelist class="dbus-property" generated="True" extra-ref="X11Options"/> | |
89 | ||
90 | <variablelist class="dbus-property" generated="True" extra-ref="VConsoleKeymap"/> | |
91 | ||
92 | <variablelist class="dbus-property" generated="True" extra-ref="VConsoleKeymapToggle"/> | |
93 | ||
94 | <!--End of Autogenerated section--> | |
95 | ||
91c7ac94 ZJS |
96 | <refsect2> |
97 | <title>Methods</title> | |
98 | ||
ca264f7d DDM |
99 | <para>If you set a new system locale all old system locale settings will be dropped and the new |
100 | settings will be saved to disk. The locale will also be passed to the system manager, and subsequently started | |
c4b01de4 ZJS |
101 | daemons will inherit the new system locale. Note that already running daemons will not learn about the |
102 | new value.</para> | |
91c7ac94 | 103 | |
89fc6fd3 | 104 | <para>The <function>SetVConsoleKeyboard()</function> method may be used to set the key mapping for the |
91c7ac94 | 105 | virtual console. Similarly, <function>SetX11Keyboard()</function> may be used to set the default key |
ca264f7d | 106 | mapping of any X11 servers.</para> |
91c7ac94 | 107 | |
ca264f7d | 108 | <para>Note that <function>SetVConsoleKeyboard()</function> instantly applies the new key mapping to the |
91c7ac94 ZJS |
109 | console, while <function>SetX11Keyboard()</function> simply sets a default that may be used by later |
110 | sessions.</para> | |
111 | ||
112 | <para>The boolean argument <varname>convert</varname> may be set to optionally convert the console | |
c4b01de4 | 113 | keyboard configuration to X11 keyboard mappings and vice versa. If true and |
ca264f7d | 114 | <function>SetVConsoleKeyboard()</function> is used, the nearest X11 keyboard setting for the chosen |
91c7ac94 | 115 | console setting is set. If true and <function>SetX11Keyboard()</function> is used, the nearest console |
ca264f7d | 116 | keyboard setting for the chosen X11 setting is set. Hence, it is usually sufficient to call only one of the |
91c7ac94 ZJS |
117 | two functions.</para> |
118 | ||
119 | <para>For graphical UIs that need to set the system keyboard mapping simply invoke | |
120 | <function>SetX11Keyboard()</function>, set <varname>convert=true</varname> and ignore | |
121 | <function>SetVConsoleKeyboard()</function>.</para> | |
122 | ||
123 | <para>Use the empty string for the keymap parameters you wish not to set.</para> | |
124 | ||
98ab0dae ZJS |
125 | <para>The <varname>interactive</varname> boolean parameters can be used to control whether |
126 | <ulink url="https://www.freedesktop.org/software/polkit/docs/latest/">polkit</ulink> | |
ca264f7d | 127 | should interactively ask the user for authentication credentials if required.</para> |
c4b01de4 ZJS |
128 | </refsect2> |
129 | ||
130 | <refsect2> | |
131 | <title>Signals</title> | |
132 | ||
133 | <para>Whenever the system locale or keymap is changed via the daemon, | |
134 | <function>PropertyChanged</function> signals are sent out to which clients can subscribe.</para> | |
135 | </refsect2> | |
136 | ||
137 | <refsect2> | |
138 | <title>Properties</title> | |
139 | ||
140 | <para>The system locale is shown in the <varname>Locale</varname> property. It is an array containing | |
141 | environment-variable-assignment-like strings. The following strings are known: | |
142 | <varname>LANG=</varname>, <varname>LC_CTYPE=</varname>, <varname>LC_NUMERIC=</varname>, | |
143 | <varname>LC_TIME=</varname>, <varname>LC_COLLATE=</varname>, <varname>LC_MONETARY=</varname>, | |
144 | <varname>LC_MESSAGES=</varname>, <varname>LC_PAPER=</varname>, <varname>LC_NAME=</varname>, | |
145 | <varname>LC_ADDRESS=</varname>, <varname>LC_TELEPHONE=</varname>, <varname>LC_MEASUREMENT=</varname>, | |
146 | <varname>LC_IDENTIFICATION=</varname>.</para> | |
147 | ||
148 | <para>The <varname>X11Layout</varname>, <varname>X11Model</varname>, <varname>X11Variant</varname>, and | |
149 | <varname>X11Options</varname> properties show values configurable with | |
150 | <function>SetX11Keyboard()</function> described above (or <function>SetVConsoleKeyboard()</function> | |
151 | with <varname>convert=true</varname>). The <varname>VConsoleKeymap</varname> and | |
ca264f7d | 152 | <varname>VConsoleKeymapToggle</varname> properties show values configurable with |
c4b01de4 ZJS |
153 | <function>SetVConsoleKeyboard()</function> (or <function>SetX11Keyboard()</function> with |
154 | <varname>convert=true</varname>).</para> | |
155 | </refsect2> | |
156 | ||
157 | <refsect2> | |
158 | <title>Security</title> | |
159 | ||
98ab0dae ZJS |
160 | <para>Changing the system locale or keymap using this interface is authenticated via polkit. The |
161 | polkit action for <function>SetLocale()</function> is | |
162 | <constant>org.freedesktop.locale1.set-locale</constant>. The polkit action for | |
91c7ac94 ZJS |
163 | <function>SetX11Keyboard()</function> and <function>SetVConsoleKeyboard()</function> is |
164 | <constant>org.freedesktop.locale1.set-keyboard</constant>.</para> | |
91c7ac94 ZJS |
165 | </refsect2> |
166 | </refsect1> | |
167 | ||
48f99d7c ZJS |
168 | <refsect1> |
169 | <title>Examples</title> | |
170 | ||
171 | <example> | |
172 | <title>Introspect <interfacename>org.freedesktop.locale1</interfacename> on the bus</title> | |
173 | ||
174 | <programlisting> | |
175 | $ gdbus introspect --system \ | |
176 | --dest org.freedesktop.locale1 \ | |
177 | --object-path /org/freedesktop/locale1 | |
178 | </programlisting> | |
179 | </example> | |
180 | </refsect1> | |
181 | ||
91c7ac94 ZJS |
182 | <refsect1> |
183 | <title>Versioning</title> | |
184 | ||
185 | <para>These D-Bus interfaces follow <ulink url="http://0pointer.de/blog/projects/versioning-dbus.html"> | |
186 | the usual interface versioning guidelines</ulink>.</para> | |
187 | </refsect1> | |
188 | </refentry> |