summaryrefslogtreecommitdiff
path: root/doc/console-kit-daemon.1m
blob: 1e1a618a5a102d5f75639aba6d4783e74a385e55 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
'\" te
.TH console-kit-daemon 1m "24 Oct 2009" "SunOS 5.11" "Maintenance Commands"
.SH "NAME"
console-kit-daemon \- ConsoleKit daemon
.SH "SYNOPSIS"
.PP
\fBconsole-kit-daemon\fR [-\fB-debug\fR] [-\fB-help\fR] [-\fB-no-daemon\fR] [-\fB-timed-exit\fR]
.SH "DESCRIPTION"
.PP
\fBconsole-kit-daemon\fR is a service for defining and tracking users, login
sessions and seats\&.  It provides interfaces for managing switching sessions
and session migration when using mechanisms such as Virtual Terminals (VT)\&.
ConsoleKit provides a number of interfaces to specify what displays are managed
by the display manager, and how\&.
.PP
ConsoleKit maintains a database of which users are logged into the system\&.
ConsoleKit groups sessions by seats which represent a set of hardware (usually
a keyboard and mouse)\&.  Other process communicate with ConsoleKit via D-Bus\&.
.PP
One session leader process is responsible for asking \fBconsole-kit-daemon\fR
to open a new session\&.  In the typical case, the session leader would be a
ConsoleKit enabled display manager, such as GDM\&.  This leader makes a
connection to the D-Bus system bus and asks \fBconsole-kit-daemon\fR to open a
session when needed\&.
.PP
If the operation succeeds, \fBconsole-kit-daemon\fR will return a cookie to the
session leader\&. The session leader should store this variable in the
environment as XDG_SESSION_COOKIE so that it may be shared with its child
processes\&.  The environment variable contains the UUID used to tie processes to
a session\&.
.PP
At this point the session will be registered with ConsoleKit and a particular
set of information about the session will be stored along with it\&.
.PP
The Session will remain open until the Session Leader disconnects from the
D-Bus system bus\&. The session will be removed from its seat, and deregistered\&.
.PP
Various other programs need to know information about running user sessions,
such as the Fast User Switch Applet and other mechanisms for switching the
console to use a different VT display\&.  Such programs make use of ConsoleKit
interfaces to determine if user switching is supported and to manage the
switching of different sessions on the same seat\&.
.PP
ConsoleKit provides a pam_ck_connector so that non-graphical logins (e\&.g\&.
telnet, ssh, etc\&.) are registered with ConsoleKit\&.  This functionality works
if this PAM module is enabled in the
\fBpam\&.conf\fR(4) configuration\&.  Thus ConsoleKit can be
used as a utmp/wtmp replacement since it stores a superset of the information
as in the utmp/wtmp database\&.
.PP
The ConsoleKit database is stored in the file
\fB/var/run/ConsoleKit/database\fR\&.  It stores information about
active Seats, Sessions, and the current SessionLeader\&.
.SH "OPTIONS"
.PP
The following options are supported:
.sp
.ne 2
.mk
\fB-\fB-debug\fR\fR
.in +24n
.rt
Enable debug output\&.
.sp
.sp 1
.in -24n
.sp
.ne 2
.mk
\fB-\fBh\fR, -\fB-help\fR\fR
.in +24n
.rt
Display detailed usage message\&.
.sp
.sp 1
.in -24n
.sp
.ne 2
.mk
\fB-\fB-no-daemon\fR\fR
.in +24n
.rt
Avoid starting \fBconsole-kit-daemon\fR as a daemon\&.  Useful for debugging\&.
.sp
.sp 1
.in -24n
.sp
.ne 2
.mk
\fB-\fB-timed-exit\fR\fR
.in +24n
.rt
Exit after 30 seconds\&.	Useful for debugging\&.
.sp
.sp 1
.in -24n
.SH "ENVIRONMENT VARIABLES"
.PP
See
\fBenviron\fR(5)
for descriptions of environment variables\&.
.sp
.ne 2
.mk
\fB\fBDISPLAY\fR\fR
.sp .6
.in +4
This environment variable corresponds to the Xserver display value associated
with the ConsoleKit session\&.
.sp
.sp 1
.in -4
.sp
.ne 2
.mk
\fB\fBXDG_SESSION_COOKIE\fR\fR
.sp .6
.in +4
ConsoleKit provides this environment variable to the session leader\&.  The
session leader is expected to ensure this is set for the session process
started\&.  It contains a UUID used to tie the processes to the session\&.  This is
used to support user switching on displays that support it (currently only
graphical VT displays on the console)\&.
.sp
.sp 1
.in -4
.PP
The following environment variables are set when \fBconsole-kit-daemon\fR
runs the \fBrun-seat\&.d\fR scripts\&.  These values correspond to those
values returned by the \fBck-list-session\fR(1) utility\&.
.sp
.ne 2
.mk
\fB\fBCK_SESSION_SEAT_ID\fR\fR
.sp .6
.in +4
The seat ID associated with the session\&.
.sp
.sp 1
.in -4
.sp
.ne 2
.mk
\fB\fBCK_SESSION_SEAT_UID\fR\fR
.sp .6
.in +4
The user id associated with the session
.sp
.sp 1
.in -4
.sp
.ne 2
.mk
\fB\fBCK_SESSION_DISPLAY_DEVICE\fR\fR
.sp .6
.in +4
The display device associated with the session\&.
.sp
.sp 1
.in -4
.sp
.ne 2
.mk
\fB\fBCK_SESSION_X11_DISPLAY_DEVICE\fR\fR
.sp .6
.in +4
The value of the display device that the X11 display for the session is
connected to\&.  If there is no x11-display set, then this value is undefined\&.
.sp
.sp 1
.in -4
.sp
.ne 2
.mk
\fB\fBCK_SESSION_X11_DISPLAY\fR\fR
.sp .6
.in +4
The value of the X11 DISPLAY environment variable for this session if one is
present\&.
.sp
.sp 1
.in -4
.sp
.ne 2
.mk
\fB\fBCK_SESSION_REMOTE_HOST_NAME\fR\fR
.sp .6
.in +4
If the session is not local, the value is the host name associated with the
session\&.  If the session is local, the value is empty\&.
.sp
.sp 1
.in -4
.sp
.ne 2
.mk
\fB\fBCK_SESSION_IS_ACTIVE\fR\fR
.sp .6
.in +4
The value is "TRUE" if the session is active on the seat to which it
is attached, and "FALSE" otherwise\&.
.sp
.sp 1
.in -4
.sp
.ne 2
.mk
\fB\fBCK_SESSION_IS_LOCAL\fR\fR
.sp .6
.in +4
The value is "TRUE" if the session is local, and "FALSE"
if remote\&.
.sp
.sp 1
.in -4
.sp
.ne 2
.mk
\fB\fBCK_SESSION_IS_DYNAMIC\fR\fR
.sp .6
.in +4
The value is "TRUE" if the session was started with
\fBck-seat-tool\fR, and "FALSE" otherwise\&.
.sp
.sp 1
.in -4
.SH "EXTENDED DESCRIPTION"
.SS "ConsoleKit Seat Configuration"
.PP
ConsoleKit seat configuration files are located in the
/etc/ConsoleKit/seats\&.d directory\&.  Each seat
configuration file ends with the \fB\&.seat\fR suffix\&.  ConsoleKit
provides a default seat file named \fB00-primary\&.seat\fR\&.
Additional seat configuration files may be added\&.  These files are in standard
INI format\&.
.PP
The settings below are in
"group/key=\fIdefault_value\fR" format, and show
the default values of the \fB00-primary\&.seat\fR file\&.  For
example, to specify a different "Seat Entry/Name" value, you would
modify the this file so it contains these lines:
.PP
.nf
[Seat Entry]
[\&.\&.\&.]
Name=Customized seat name
.fi
.PP
The following keys are supported for configuring ConsoleKit seats:
.sp
.ne 2
.mk
\fBSeat Entry/Version=1\&.0\fR
.sp .6
.in +4
Version number of the seat file\&.  This specifies the version number of the
configuration file format used\&.  Currently only the value "1\&.0" is
supported\&.
.sp
.sp 1
.in -4
.sp
.ne 2
.mk
\fBSeat Entry/Name=Primary seat\fR
.sp .6
.in +4
Name of the seat\&.
.sp
.sp 1
.in -4
.sp
.ne 2
.mk
\fBSeat Entry/ID=StaticSeat\fR
.sp .6
.in +4
Specifies the unique ID of the seat\&.  If the value is NULL, then
\fBconsole-kit-daemon\fR will provide a value\&.  The ID may only contain the
ASCII characters [A-Z][a=z][0-9]_"\&.
.sp
.sp 1
.in -4
.sp
.ne 2
.mk
\fBSeat Entry/Hidden=false\fR
.sp .6
.in +4
If this value is set to "false", then ConsoleKit will create this
seat\&.  Otherwise, the seat will not be created\&.
.sp
.sp 1
.in -4
.sp
.ne 2
.mk
\fBSeat Entry/Devices\fR
.sp .6
.in +4
This value is not currently supported\&.  In the future, it is planned that
ConsoleKit will provide the ability to manage how device permissions are
managed, and this key is a placeholder\&.
.sp
.sp 1
.in -4
.sp
.ne 2
.mk
\fBSeat Entry/Sessions=Local\fR
.sp .6
.in +4
List of sessions to start on the seat, separated by the ";"
character\&.  Each session must be defined in a ConsoleKit session configuration
file named
\fB/etc/ConsoleKit/sessions\&.d/\fIsessions\fR\&.session\fR where \fIsessions\fR is the value of this key\&.
.sp
.sp 1
.in -4
.SS "ConsoleKit Session Configuration"
.PP
ConsoleKit session configuration files are located in the
/etc/ConsoleKit/sessions\&.d directory\&.  Each session
configuration file ends with the \fB\&.session\fR suffix\&.
Additional seat configuration files may be added\&.  These files are in standard
INI format\&.
.PP
The settings below are in
"group/key" format, so to specify the "Session Entry/Name"
value, the file shoulld contain these lines:
.PP
.nf
[Session Entry]
[\&.\&.\&.]
Name=Customized Session
.fi
.PP
The following keys are supported for configuring ConsoleKit sessions:
.sp
.ne 2
.mk
\fBSession Entry/Name\fR
.sp .6
.in +4
Unique name of the session\&.
.sp
.sp 1
.in -4
.sp
.ne 2
.mk
\fBSession Entry/Type\fR
.sp .6
.in +4
Type of the session
.sp
.sp 1
.in -4
.sp
.ne 2
.mk
\fBSession Entry/Description\fR
.sp .6
.in +4
Description of the session\&.
.sp
.sp 1
.in -4
.sp
.ne 2
.mk
\fBSession Entry/DisplayTemplate\fR
.sp .6
.in +4
This specifies the display type to be used with the session\&.  This corresponds
to the file
\fB/etc/ConsoleKit/displays\&.d/\fIdisplay_template\fR\&.display\fR
where \fIdisplay_template\fR is the value of this key\&.
.sp
.sp 1
.in -4
.sp
.ne 2
.mk
\fBLocal/\fIvariable\fR\fR
.sp .6
.in +4
The ConsoleKit display configuration file associated with the
"Entry/DisplayTemplate" key specifies the command to run to launch
the display\&.  This command is defined in the ConsoleKit display configuration
file in the key "X11/Exec"\&.  This command can include variables that
begin with the "$" character, such as "$display"\&.  The
values to be used for these variables can be defined in this section\&.  So if
the session configuration file contains the value
"Local/display=:0", this will cause the variable used when launching
the command to be replaced with the value "0"\&.
.sp
.sp 1
.in -4
.SS "ConsoleKit System Restart and Stop"
.PP
\fBconsole-kit-daemon\fR provides D-Bus interfaces that will restart or stop
the system\&.  When \fBconsole-kit-daemon\fR receives a D-Bus request to restart
the system, it will run the
\fB/usr/lib/ConsoleKit/scripts/ck-system-restart\fR script if
the user has privilege to do this operation\&.  When \fBconsole-kit-daemon\fR
receives a D-Bus request to stop the system, it will run the
\fB/usr/lib/ConsoleKit/scripts/ck-system-stop\fR script if the
user has privilege to do this operation\&.
.SH "EXAMPLES"
.PP
\fBExample 1: To start the ConsoleKit daemon\fR
.PP
.PP
.nf
example% \fBconsole-kit-daemon\fR
.fi
.PP
\fBExample 2: To configure ConsoleKit to start multiple sessions on a single seat\fR
.PP
To start two local displays: DISPLAY ":0" on vt7 and DISPLAY
":1" on "vt8",
edit the \fB00-primary\&.seat\fR file as follows:
.PP
.nf
[Seat Entry]
Version=1\&.0
Name=Primary seat
Description=start static displays :0 on vt7 and :1 on vt8
Hidden=false
Devices=
Sessions=Local;Local2;
.fi
.PP
Then, in addition to the original
\fB/etc/ConsoleKit/sessions\&.d/Local\&.session\fR file, add the
following \fB/etc/ConsoleKit/sessions\&.d/Local2\&.session\fR file:
.PP
.nf
[Session Entry]
Name=Local
Type=LoginWindow
Description=Local Login Screen
DisplayTemplate=Local

[Local]
display=:1
vt=/dev/vt/8
.fi
.PP
.SH "SEE ALSO"
.PP
More information can be found at:
.PP
\fBhttps://github\&.com/ConsoleKit2/ConsoleKit2\fR
.PP
\fBck-history\fR(1),
\fBck-launch-session\fR(1),
\fBck-list-sessions\fR(1),
\fBsvcadm\fR(1m),
\fBenviron\fR(5),
\fBsmf\fR(5),
\fBconsole\fR(4)
.SH "NOTES"
.PP
Brian Cameron, Sun Microsystems Inc\&., 2009\&.
Copyright (c) 2009 by Sun Microsystems, Inc\&.
.PP
Some of the documentation in this manpage is from the ConsoleKit documentation
written by William Jon McCann\&.
...\" created by instant / solbook-to-man, Sat 24 Oct 2009, 14:10
...\" LSARC 2009/432 ConsoleKit