source: archive/consolekit.xml

trunk
Last change on this file was 45ab6c7, checked in by Xi Ruoyao <xry111@…>, 3 months ago

more SVN prop clean up

Remove "$LastChanged$" everywhere, and also some unused $Date$

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