1 | <?xml version="1.0" encoding="ISO-8859-1"?>
|
---|
2 | <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
---|
3 | "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
---|
4 | <!ENTITY % general-entities SYSTEM "../../general.ent">
|
---|
5 | %general-entities;
|
---|
6 |
|
---|
7 | <!ENTITY consolekit-download-http "https://github.com/Consolekit2/ConsoleKit2/releases/download/&consolekit-version;/ConsoleKit2-&consolekit-version;.tar.bz2">
|
---|
8 | <!ENTITY consolekit-download-ftp " ">
|
---|
9 | <!ENTITY consolekit-md5sum "17d31475f9b08969e55ea60750f4f219">
|
---|
10 | <!ENTITY consolekit-size "1.1 MB">
|
---|
11 | <!ENTITY consolekit-buildsize "18 MB">
|
---|
12 | <!ENTITY consolekit-time "0.2 SBU">
|
---|
13 | ]>
|
---|
14 |
|
---|
15 | <sect1 id="consolekit" xreflabel="ConsoleKit2-&consolekit-version;">
|
---|
16 | <?dbhtml filename="consolekit.html"?>
|
---|
17 |
|
---|
18 |
|
---|
19 | <title>ConsoleKit2-&consolekit-version;</title>
|
---|
20 |
|
---|
21 | <indexterm zone="consolekit">
|
---|
22 | <primary sortas="a-ConsoleKit">ConsoleKit2</primary>
|
---|
23 | </indexterm>
|
---|
24 |
|
---|
25 | <sect2 role="package">
|
---|
26 | <title>Introduction to ConsoleKit</title>
|
---|
27 |
|
---|
28 | <para>
|
---|
29 | The <application>ConsoleKit</application> package is a framework for
|
---|
30 | keeping track of the various users, sessions, and seats present on a system.
|
---|
31 | It provides a mechanism for software to react to changes of any of these
|
---|
32 | items or of any of the metadata associated with them.
|
---|
33 | </para>
|
---|
34 |
|
---|
35 | &lfs84_checked;
|
---|
36 |
|
---|
37 | <bridgehead renderas="sect3">Package Information</bridgehead>
|
---|
38 | <itemizedlist spacing="compact">
|
---|
39 | <listitem>
|
---|
40 | <para>
|
---|
41 | Download (HTTP): <ulink url="&consolekit-download-http;"/>
|
---|
42 | </para>
|
---|
43 | </listitem>
|
---|
44 | <listitem>
|
---|
45 | <para>
|
---|
46 | Download (FTP): <ulink url="&consolekit-download-ftp;"/>
|
---|
47 | </para>
|
---|
48 | </listitem>
|
---|
49 | <listitem>
|
---|
50 | <para>
|
---|
51 | Download MD5 sum: &consolekit-md5sum;
|
---|
52 | </para>
|
---|
53 | </listitem>
|
---|
54 | <listitem>
|
---|
55 | <para>
|
---|
56 | Download size: &consolekit-size;
|
---|
57 | </para>
|
---|
58 | </listitem>
|
---|
59 | <listitem>
|
---|
60 | <para>
|
---|
61 | Estimated disk space required: &consolekit-buildsize;
|
---|
62 | </para>
|
---|
63 | </listitem>
|
---|
64 | <listitem>
|
---|
65 | <para>
|
---|
66 | Estimated build time: &consolekit-time;
|
---|
67 | </para>
|
---|
68 | </listitem>
|
---|
69 | </itemizedlist>
|
---|
70 |
|
---|
71 | <bridgehead renderas="sect3">ConsoleKit Dependencies</bridgehead>
|
---|
72 |
|
---|
73 | <bridgehead renderas="sect4">Required</bridgehead>
|
---|
74 | <para role="required">
|
---|
75 | <xref linkend="dbus-glib"/> and
|
---|
76 | <xref linkend="xorg7-lib"/>
|
---|
77 | </para>
|
---|
78 |
|
---|
79 | <bridgehead renderas="sect4">Recommended</bridgehead>
|
---|
80 | <para role="recommended">
|
---|
81 | <xref linkend="linux-pam"/>,
|
---|
82 | <xref linkend="polkit"/>, and
|
---|
83 | <xref linkend="pm-utils"/> (run-time dependency to allow ConsoleKit2 to
|
---|
84 | put the system in <quote>Suspend</quote> or <quote>Hibernation</quote>
|
---|
85 | mode)
|
---|
86 | </para>
|
---|
87 |
|
---|
88 | <warning>
|
---|
89 | <para>
|
---|
90 | If you intend <emphasis role="strong">NOT</emphasis> to install
|
---|
91 | <application>polkit</application>, you will need to manually edit the
|
---|
92 | ConsoleKit.conf file to lock down the service. Failure to do so may be a
|
---|
93 | huge SECURITY HOLE.
|
---|
94 | </para>
|
---|
95 | </warning>
|
---|
96 |
|
---|
97 | <bridgehead renderas="sect4">Optional</bridgehead>
|
---|
98 | <para role="optional">
|
---|
99 | <xref linkend="xmlto"/>
|
---|
100 | </para>
|
---|
101 |
|
---|
102 | <para condition="html" role="usernotes">User Notes:
|
---|
103 | <ulink url="&blfs-wiki;/consolekit"/>
|
---|
104 | </para>
|
---|
105 | </sect2>
|
---|
106 |
|
---|
107 | <sect2 role="installation">
|
---|
108 | <title>Installation of ConsoleKit</title>
|
---|
109 |
|
---|
110 | <para>
|
---|
111 | Install <application>ConsoleKit</application> by running the following
|
---|
112 | commands:
|
---|
113 | </para>
|
---|
114 |
|
---|
115 | <screen><userinput>./configure --prefix=/usr \
|
---|
116 | --sysconfdir=/etc \
|
---|
117 | --localstatedir=/var \
|
---|
118 | --enable-udev-acl \
|
---|
119 | --enable-pam-module \
|
---|
120 | --enable-polkit \
|
---|
121 | --with-xinitrc-dir=/etc/X11/app-defaults/xinitrc.d \
|
---|
122 | --docdir=/usr/share/doc/ConsoleKit-&consolekit-version; \
|
---|
123 | --with-systemdsystemunitdir=no &&
|
---|
124 | make</userinput></screen>
|
---|
125 |
|
---|
126 | <para>
|
---|
127 | This package does not come with a test suite.
|
---|
128 | </para>
|
---|
129 |
|
---|
130 | <para>
|
---|
131 | Now, as the <systemitem class="username">root</systemitem> user:
|
---|
132 | </para>
|
---|
133 |
|
---|
134 | <screen role="root"><userinput>make install &&
|
---|
135 |
|
---|
136 | mv -v /etc/X11/app-defaults/xinitrc.d/90-consolekit{,.sh}</userinput></screen>
|
---|
137 |
|
---|
138 | </sect2>
|
---|
139 |
|
---|
140 | <sect2 role="commands">
|
---|
141 | <title>Command Explanations</title>
|
---|
142 |
|
---|
143 | <para>
|
---|
144 | <parameter>--enable-udev-acl</parameter>: This switch enables building of
|
---|
145 | the <command>udev-acl</command> tool, which is used to allow normal users
|
---|
146 | to access device nodes normally only accessible to
|
---|
147 | <systemitem class="username">root</systemitem>.
|
---|
148 | </para>
|
---|
149 |
|
---|
150 | <para>
|
---|
151 | <parameter>--enable-pam-module</parameter>: This switch enables building
|
---|
152 | of the <application>ConsoleKit</application>
|
---|
153 | <application>PAM</application> module which is needed for
|
---|
154 | <application>ConsoleKit</application> to work correctly with
|
---|
155 | <application>PAM</application>. Remove if
|
---|
156 | <application>Linux PAM</application> is
|
---|
157 | <emphasis role="strong">NOT</emphasis> installed.
|
---|
158 | </para>
|
---|
159 |
|
---|
160 | <para>
|
---|
161 | <parameter>--enable-polkit</parameter>: Enable PolicyKit support.
|
---|
162 | </para>
|
---|
163 |
|
---|
164 | <para>
|
---|
165 | <parameter>--with-xinitrc-dir=/etc/X11/app-defaults/xinitrc.d</parameter>:
|
---|
166 | Fix the location of the 90-consolekit.sh script. Notice that the script
|
---|
167 | has been renamed after installation, because xinitrc only sources script
|
---|
168 | names ending with extension <emphasis>.sh</emphasis>.
|
---|
169 | </para>
|
---|
170 |
|
---|
171 | <para>
|
---|
172 | <parameter>--with-systemdsystemunitdir=no</parameter>: Disable
|
---|
173 | attempting to build with systemd libraries.
|
---|
174 | </para>
|
---|
175 |
|
---|
176 | <para>
|
---|
177 | <option>--enable-docbook-docs</option>: Use this switch if
|
---|
178 | <application>xmlto</application> is installed and you wish to
|
---|
179 | build the user and API documentation.
|
---|
180 | </para>
|
---|
181 |
|
---|
182 | </sect2>
|
---|
183 |
|
---|
184 | <sect2 role="configuration">
|
---|
185 | <title>Configuring ConsoleKit</title>
|
---|
186 |
|
---|
187 | <sect3>
|
---|
188 | <title>PAM Module Configuration</title>
|
---|
189 |
|
---|
190 | <para>
|
---|
191 | If you use <application>Linux PAM</application>, it needs to be
|
---|
192 | configured to activate <application>ConsoleKit</application> upon user
|
---|
193 | login. This can be achieved by editing the
|
---|
194 | <filename>/etc/pam.d/system-session</filename> file as the <systemitem
|
---|
195 | class="username">root</systemitem> user:
|
---|
196 | </para>
|
---|
197 |
|
---|
198 | <screen role="root"><userinput>cat >> /etc/pam.d/system-session << "EOF"
|
---|
199 | <literal># Begin ConsoleKit addition
|
---|
200 |
|
---|
201 | session optional pam_loginuid.so
|
---|
202 | session optional pam_ck_connector.so nox11
|
---|
203 |
|
---|
204 | # End ConsoleKit addition</literal>
|
---|
205 | EOF</userinput></screen>
|
---|
206 |
|
---|
207 | <para>
|
---|
208 | You will also need a helper script that creates a file in
|
---|
209 | <filename class="directory">/var/run/console</filename>
|
---|
210 | named as the currently logged in user and that contains the
|
---|
211 | <application>D-Bus</application> address of the session. You
|
---|
212 | can create the script by running the following commands as
|
---|
213 | the <systemitem class="username">root</systemitem> user:
|
---|
214 | </para>
|
---|
215 |
|
---|
216 | <screen role="root"><userinput>cat > /usr/lib/ConsoleKit/run-session.d/pam-foreground-compat.ck << "EOF"
|
---|
217 | <literal>#!/bin/sh
|
---|
218 | TAGDIR=/var/run/console
|
---|
219 |
|
---|
220 | [ -n "$CK_SESSION_USER_UID" ] || exit 1
|
---|
221 | [ "$CK_SESSION_IS_LOCAL" = "true" ] || exit 0
|
---|
222 |
|
---|
223 | TAGFILE="$TAGDIR/`getent passwd $CK_SESSION_USER_UID | cut -f 1 -d:`"
|
---|
224 |
|
---|
225 | if [ "$1" = "session_added" ]; then
|
---|
226 | mkdir -p "$TAGDIR"
|
---|
227 | echo "$CK_SESSION_ID" >> "$TAGFILE"
|
---|
228 | fi
|
---|
229 |
|
---|
230 | if [ "$1" = "session_removed" ] && [ -e "$TAGFILE" ]; then
|
---|
231 | sed -i "\%^$CK_SESSION_ID\$%d" "$TAGFILE"
|
---|
232 | [ -s "$TAGFILE" ] || rm -f "$TAGFILE"
|
---|
233 | fi</literal>
|
---|
234 | EOF
|
---|
235 | chmod -v 755 /usr/lib/ConsoleKit/run-session.d/pam-foreground-compat.ck</userinput></screen>
|
---|
236 |
|
---|
237 | <para>
|
---|
238 | See /usr/share/doc/ConsoleKit/spec/ConsoleKit.html for more
|
---|
239 | configuration.
|
---|
240 | </para>
|
---|
241 |
|
---|
242 | </sect3>
|
---|
243 |
|
---|
244 | </sect2>
|
---|
245 |
|
---|
246 | <sect2 role="content">
|
---|
247 | <title>Contents</title>
|
---|
248 |
|
---|
249 | <segmentedlist>
|
---|
250 | <segtitle>Installed Programs</segtitle>
|
---|
251 | <segtitle>Installed Libraries</segtitle>
|
---|
252 | <segtitle>Installed Directories</segtitle>
|
---|
253 |
|
---|
254 | <seglistitem>
|
---|
255 | <seg>
|
---|
256 | ck-history,
|
---|
257 | ck-launch-session, and
|
---|
258 | ck-list-sessions
|
---|
259 | <!-- Not listing /usr/libexec:
|
---|
260 | ck-collect-session-info ck-get-x11-server-pid udev-acl
|
---|
261 | ck-get-x11-display-device ck-remove-directory -->
|
---|
262 |
|
---|
263 | </seg>
|
---|
264 | <seg>
|
---|
265 | libconsolekit.so,
|
---|
266 | libck-connector.so, and
|
---|
267 | pam_ck_connector.so
|
---|
268 | </seg>
|
---|
269 | <seg>
|
---|
270 | /etc/ConsoleKit,
|
---|
271 | /usr/{include,lib}/ConsoleKit,
|
---|
272 | /usr/share/doc/ihtml/ConsoleKit-&consolekit-version;, and
|
---|
273 | /var/{log,run}/ConsoleKit
|
---|
274 | </seg>
|
---|
275 | </seglistitem>
|
---|
276 | </segmentedlist>
|
---|
277 |
|
---|
278 | <variablelist>
|
---|
279 | <bridgehead renderas="sect3">Short Descriptions</bridgehead>
|
---|
280 | <?dbfo list-presentation="list"?>
|
---|
281 | <?dbhtml list-presentation="table"?>
|
---|
282 |
|
---|
283 | <varlistentry id="ck-history">
|
---|
284 | <term><command>ck-history</command></term>
|
---|
285 | <listitem>
|
---|
286 | <para>is a utility that provides information from the ConsoleKit
|
---|
287 | database about what users have logged into the system.</para>
|
---|
288 | <indexterm zone="consolekit ck-history">
|
---|
289 | <primary sortas="b-ck-history">ck-history</primary>
|
---|
290 | </indexterm>
|
---|
291 | </listitem>
|
---|
292 | </varlistentry>
|
---|
293 |
|
---|
294 | <varlistentry id="ck-launch-session">
|
---|
295 | <term><command>ck-launch-session</command></term>
|
---|
296 | <listitem>
|
---|
297 | <para>is a utility for starting a command in its own ConsoleKit
|
---|
298 | session.
|
---|
299 | </para>
|
---|
300 | <indexterm zone="consolekit ck-launch-session">
|
---|
301 | <primary sortas="b-ck-launch-session">ck-launch-session</primary>
|
---|
302 | </indexterm>
|
---|
303 | </listitem>
|
---|
304 | </varlistentry>
|
---|
305 |
|
---|
306 | <varlistentry id="ck-list-sessions">
|
---|
307 | <term><command>ck-list-sessions</command></term>
|
---|
308 | <listitem>
|
---|
309 | <para>list sessions with respective properties. Also good for
|
---|
310 | debugging purposes.</para>
|
---|
311 | <indexterm zone="consolekit ck-list-sessions">
|
---|
312 | <primary sortas="b-ck-list-sessions">ck-list-sessions</primary>
|
---|
313 | </indexterm>
|
---|
314 | </listitem>
|
---|
315 | </varlistentry>
|
---|
316 |
|
---|
317 | <varlistentry id="ck-log-system-restart">
|
---|
318 | <term><command>ck-log-system-restart</command></term>
|
---|
319 | <listitem>
|
---|
320 | <para>write system restart to log.</para>
|
---|
321 | <indexterm zone="consolekit ck-log-system-restart">
|
---|
322 | <primary sortas="b-ck-log-system-restart">ck-log-system-restart</primary>
|
---|
323 | </indexterm>
|
---|
324 | </listitem>
|
---|
325 | </varlistentry>
|
---|
326 |
|
---|
327 | <varlistentry id="ck-log-system-start">
|
---|
328 | <term><command>ck-log-system-start</command></term>
|
---|
329 | <listitem>
|
---|
330 | <para>write system start to log.</para>
|
---|
331 | <indexterm zone="consolekit ck-log-system-start">
|
---|
332 | <primary sortas="b-ck-log-system-start">ck-log-system-start</primary>
|
---|
333 | </indexterm>
|
---|
334 | </listitem>
|
---|
335 | </varlistentry>
|
---|
336 |
|
---|
337 | <varlistentry id="ck-log-system-stop">
|
---|
338 | <term><command>ck-log-system-stop</command></term>
|
---|
339 | <listitem>
|
---|
340 | <para>write system stop to log.</para>
|
---|
341 | <indexterm zone="consolekit ck-log-system-stop">
|
---|
342 | <primary sortas="b-ck-log-system-stop">ck-log-system-stop</primary>
|
---|
343 | </indexterm>
|
---|
344 | </listitem>
|
---|
345 | </varlistentry>
|
---|
346 |
|
---|
347 | <varlistentry id="console-kit-daemon">
|
---|
348 | <term><command>console-kit-daemon</command></term>
|
---|
349 | <listitem>
|
---|
350 | <para>is the <application>ConsoleKit</application> daemon.</para>
|
---|
351 | <indexterm zone="consolekit console-kit-daemon">
|
---|
352 | <primary sortas="b-console-kit-daemon">console-kit-daemon</primary>
|
---|
353 | </indexterm>
|
---|
354 | </listitem>
|
---|
355 | </varlistentry>
|
---|
356 |
|
---|
357 | <!-- Note (Denis): I don't know if theses programs are installed by the
|
---|
358 | current version of consolekit.
|
---|
359 |
|
---|
360 | (Bruce) These are in /usr/libexec and we do not document those.
|
---|
361 |
|
---|
362 | <varlistentry id="ck-collect-session-info">
|
---|
363 | <term><command>ck-collect-session-info</command></term>
|
---|
364 | <listitem>
|
---|
365 | <para>displays session informations about the current session.</para>
|
---|
366 | <indexterm zone="consolekit ck-collect-session-info">
|
---|
367 | <primary sortas="b-ck-collect-session-info">ck-collect-session-info</primary>
|
---|
368 | </indexterm>
|
---|
369 | </listitem>
|
---|
370 | </varlistentry>
|
---|
371 |
|
---|
372 | <varlistentry id="ck-get-x11-display-device">
|
---|
373 | <term><command>ck-get-x11-display-device</command></term>
|
---|
374 | <listitem>
|
---|
375 | <para>displays the x11 display device of the current session.</para>
|
---|
376 | <indexterm zone="consolekit ck-get-x11-display-device">
|
---|
377 | <primary sortas="b-ck-get-x11-display-device">ck-get-x11-display-device</primary>
|
---|
378 | </indexterm>
|
---|
379 | </listitem>
|
---|
380 | </varlistentry>
|
---|
381 |
|
---|
382 | <varlistentry id="ck-get-x11-server-pid">
|
---|
383 | <term><command>ck-get-x11-server-pid</command></term>
|
---|
384 | <listitem>
|
---|
385 | <para>displays the x11 server pid of the current session.</para>
|
---|
386 | <indexterm zone="consolekit ck-get-x11-server-pid">
|
---|
387 | <primary sortas="b-ck-get-x11-server-pid">ck-get-x11-server-pid</primary>
|
---|
388 | </indexterm>
|
---|
389 | </listitem>
|
---|
390 | </varlistentry>
|
---|
391 |
|
---|
392 | also ck-remove-directory udev-acl
|
---|
393 |
|
---|
394 | -->
|
---|
395 | </variablelist>
|
---|
396 |
|
---|
397 | </sect2>
|
---|
398 |
|
---|
399 | </sect1>
|
---|