~ubuntu-branches/ubuntu/utopic/kde-workspace/utopic-proposed

« back to all changes in this revision

Viewing changes to doc/kdm/index.docbook

  • Committer: Bazaar Package Importer
  • Author(s): Michał Zając
  • Date: 2011-07-09 08:31:15 UTC
  • Revision ID: james.westby@ubuntu.com-20110709083115-ohyxn6z93mily9fc
Tags: upstream-4.6.90
Import upstream version 4.6.90

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<?xml version="1.0" ?>
 
2
<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN"
 
3
"dtd/kdex.dtd" [
 
4
  <!ENTITY kappname "&kdm;">
 
5
  <!ENTITY package "kdebase">
 
6
  <!ENTITY kdmrc "<filename>kdmrc</filename>">
 
7
  <!ENTITY ksmserver "<application>ksmserver</application>">
 
8
  <!ENTITY kdesktop "<application>kdesktop</application>">
 
9
  <!ENTITY XDMCP "<acronym>XDMCP</acronym>">
 
10
  <!ENTITY xdm "<application>xdm</application>">
 
11
  <!ENTITY kdmrc-ref SYSTEM "kdmrc-ref.docbook">
 
12
  <!ENTITY theme-ref SYSTEM "theme-ref.docbook">
 
13
  <!ENTITY % addindex "INCLUDE">
 
14
  <!ENTITY % English "INCLUDE" > <!-- change language only here -->
 
15
]>
 
16
 
 
17
<book lang="&language;">
 
18
<bookinfo>
 
19
<title>The &kdm; Handbook</title>
 
20
 
 
21
<authorgroup>
 
22
<author>
 
23
&Oswald.Buddenhagen; &Oswald.Buddenhagen.mail;
 
24
</author><!-- 
 
25
<othercredit role="developer">
 
26
&Oswald.Buddenhagen; &Oswald.Buddenhagen.mail;
 
27
<contrib>Developer</contrib>
 
28
</othercredit>
 
29
<othercredit role="reviewer">
 
30
&Lauri.Watts; &Lauri.Watts.mail;
 
31
<contrib>Reviewer</contrib>
 
32
</othercredit> -->
 
33
 
 
34
<!-- TRANS:ROLES_OF_TRANSLATORS -->
 
35
 
 
36
</authorgroup>
 
37
 
 
38
<copyright>
 
39
<year>2000</year>
 
40
<holder>&Neal.Crook;</holder>
 
41
</copyright>
 
42
 
 
43
<copyright>
 
44
<year>2002</year><year>2007</year>
 
45
<holder>&Oswald.Buddenhagen;</holder>
 
46
</copyright>
 
47
 
 
48
<copyright>
 
49
<year>2003</year>
 
50
<holder>&Lauri.Watts;</holder>
 
51
</copyright>
 
52
 
 
53
<legalnotice>&FDLNotice;</legalnotice>
 
54
 
 
55
<date>2007-12-07</date>
 
56
<releaseinfo>0.06.00</releaseinfo>
 
57
 
 
58
<abstract>
 
59
<para>This document describes &kdm; the &kde; Display Manager. &kdm;
 
60
is also known as the <quote>Login Manager</quote>.</para>
 
61
</abstract>
 
62
 
 
63
<keywordset>
 
64
<keyword>KDE</keyword>
 
65
<keyword>kdm</keyword>
 
66
<keyword>xdm</keyword>
 
67
<keyword>display manager</keyword>
 
68
<keyword>desktop manager</keyword>
 
69
<keyword>login manager</keyword>
 
70
</keywordset>
 
71
</bookinfo>
 
72
 
 
73
<!-- ********************************************************************** -->  
 
74
<chapter id="introduction">
 
75
<title>Introduction</title>
 
76
 
 
77
<para>&kdm; provides a graphical interface that allows you to log in to a
 
78
system. It prompts for login (username) and password, authenticates the user
 
79
and starts a <quote>session</quote>.  &kdm; is superior to &xdm;, the X
 
80
Display Manager, in a number of ways.</para>
 
81
 
 
82
</chapter>
 
83
 
 
84
<!-- Chapters to write -->
 
85
<!-- * Just enough config to get it to run and login to KDE 
 
86
     * Adding more session types (GNOME, etc)
 
87
     * Adding other customizations to XSession (ssh/gpg-agent, etc)
 
88
     * Further customization to KDM (via the kcontrol module, and by 
 
89
       hand)
 
90
     * XDMCP by query
 
91
     * XDMCP by broadcast
 
92
     * Sound transparency (if Ade can tell me how!)
 
93
     * Pull in all options from the KControl Module
 
94
     * More resources
 
95
-->
 
96
 
 
97
<chapter id="quickstart">
 
98
<title>Quick Start Guide</title>
 
99
 
 
100
<para>This is a quick start guide for users who fit the following
 
101
pattern:</para>
 
102
 
 
103
<itemizedlist>
 
104
<listitem>
 
105
<para>X is configured and works with the command
 
106
<command>startx</command> from the commandline.</para>
 
107
</listitem>
 
108
<listitem>
 
109
<para>Each user will generally only use a single window manager or
 
110
desktop environment, and does not change this choice very
 
111
often, or is comfortable editing a single text file in order to change
 
112
their choice.</para>
 
113
</listitem>
 
114
</itemizedlist>
 
115
 
 
116
<para>This scenario will be sufficient for many environments where a single
 
117
user or several users normally boot the computer and log into their
 
118
preferred environment.</para>
 
119
 
 
120
<procedure>
 
121
<title>Setting up a Default Session</title>
 
122
<step>
 
123
<para>Create or open the file <filename>~/.xinitrc</filename></para>
 
124
<para>If you already have a working <filename>~/.xinitrc</filename>, go to
 
125
the next step</para>
 
126
</step>
 
127
<step>
 
128
<para>If one does not already exist, add a line to the
 
129
<filename>~/.xinitrc</filename> to start your preferred window manager
 
130
or desktop environment.</para>
 
131
<para>For &kde; you should enter:</para>
 
132
<screen><userinput>startkde</userinput></screen>
 
133
<para>For other window managers or desktop environments, you should
 
134
look in their documentation for the correct command.</para>
 
135
</step>
 
136
<step><para>Make a link as follows:</para>
 
137
<screen><userinput><command>ln</command> <option>-s</option> <parameter>~/.xinitrc ~/.xsession</parameter></userinput></screen>
 
138
</step>
 
139
</procedure>
 
140
 
 
141
<para>At this point, typing <userinput><command>startx</command></userinput>
 
142
on the commandline should start X, with a &kde; session.  The next task is
 
143
to try &kdm;.</para>
 
144
 
 
145
<para>As <systemitem class="username">root</systemitem>, type
 
146
<userinput><command>kdm</command></userinput> at the prompt.</para>
 
147
 
 
148
<para>You should see a login window, which is described more fully in <xref
 
149
linkend="login" />.</para>
 
150
 
 
151
<para>Typing your normal username and password in the fields provided, and
 
152
leaving <option>default</option> selected as the session type should now
 
153
open a &kde; session for your user.</para>
 
154
 
 
155
<para>If you have other users to configure, you should repeat the procedure
 
156
above for each of them.</para>
 
157
 
 
158
<note>
 
159
<para>This is a quick guide to getting up and running only.  You probably
 
160
will want to customize &kdm; further, for example, to hide the names of the
 
161
system accounts, to allow further sessions, and much more.  Please read
 
162
through the rest of this manual to find out how to do these things.</para>
 
163
</note>
 
164
 
 
165
</chapter>
 
166
 
 
167
<chapter id="login"> 
 
168
<title>The Login Window</title> 
 
169
 
 
170
<para> The user interface to &kdm; consists of dialog boxes.  The main
 
171
dialog box contains:</para>
 
172
<itemizedlist>
 
173
 
 
174
<listitem>
 
175
<para>Widgets allowing you to authenticate. When the "classic" authentication
 
176
method is chosen, these are:</para>
 
177
<itemizedlist>
 
178
 
 
179
<listitem>
 
180
<para>A <guilabel>Username:</guilabel> field for you to enter your
 
181
username.</para>
 
182
</listitem>
 
183
 
 
184
<listitem>
 
185
<para>A <guilabel>Password:</guilabel> field for you to enter your
 
186
password.</para>
 
187
</listitem>
 
188
 
 
189
</itemizedlist>
 
190
</listitem>
 
191
 
 
192
<listitem>
 
193
<para>(Optionally) a list containing entries with the name and graphical
 
194
image of each user (for example, a digitized photograph).
 
195
Clicking a list entry is equivalent to typing the associated username
 
196
into the <guilabel>Username:</guilabel> field.</para>
 
197
</listitem>
 
198
 
 
199
<listitem>
 
200
<para>(Optionally) a region to the right of or above the
 
201
authentication area which can be used to display either a static image or an
 
202
analog clock.</para>
 
203
</listitem>
 
204
 
 
205
<listitem>
 
206
<para>A <guibutton>Login</guibutton> button that validates the
 
207
username/password combination and attempts to start a session of the
 
208
selected type.</para>
 
209
</listitem>
 
210
 
 
211
<listitem>
 
212
<para>A <guibutton>Menu</guibutton> button that opens an action menu
 
213
with the following items:</para>
 
214
<itemizedlist>
 
215
 
 
216
<listitem>
 
217
<para>(Optionally) A <guimenuitem>Session Type</guimenuitem> item
 
218
to choose the type of session (desktop environment, window manager) to start.
 
219
See <xref linkend="different-window-managers-with-kdm"/> to find out
 
220
how to configure different session types.</para>
 
221
</listitem>
 
222
 
 
223
<listitem>
 
224
<para>(Optionally) A <guimenuitem>Authentication Method</guimenuitem> item
 
225
to switch between different authentication methods like the classical
 
226
username+password, smartcard, biometry, &etc;.  The actual authenticators
 
227
are combinations of <acronym>PAM</acronym> modules and matching frontend
 
228
modules (<quote>conversation plugins</quote>). See
 
229
<xref linkend="option-pluginslogin"/>.</para>
 
230
</listitem>
 
231
 
 
232
<listitem>
 
233
<para>(Optionally on local displays) A
 
234
<guimenuitem>Switch User...</guimenuitem> item to switch between local
 
235
sessions running on different virtual terminals of this computer.</para>
 
236
</listitem>
 
237
 
 
238
<listitem>
 
239
<para>(Optionally on local displays) A
 
240
<guimenuitem>Restart X Server</guimenuitem> item
 
241
that terminates the currently running &X-Server;, starts a new one and
 
242
displays the login dialog again. You can use this if the display content
 
243
seems to be broken somehow.</para>
 
244
</listitem>
 
245
 
 
246
<listitem>
 
247
<para>(Optionally on remote displays) A
 
248
<guimenuitem>Close Connection</guimenuitem>
 
249
item that closes the connection to the &XDMCP; server you are currently
 
250
connected to. If you got to this server through a host chooser, this will
 
251
bring you back to the chooser, otherwise it will only reset the &X-Server;
 
252
and bring up the login dialog again.</para>
 
253
</listitem>
 
254
 
 
255
<listitem>
 
256
<para>(Optionally on local displays) A
 
257
<guimenuitem>Remote Login</guimenuitem> item that displays a host chooser
 
258
dialog with &XDMCP; servers one can log into remotely.</para>
 
259
</listitem>
 
260
 
 
261
<listitem>
 
262
<para>(Optionally on local displays) A <guimenuitem>Console Mode</guimenuitem>
 
263
item that terminates graphical login and leaves you at the console. See
 
264
<xref linkend="option-consolettys"/> and
 
265
<xref linkend="option-servertty"/>.</para>
 
266
</listitem>
 
267
 
 
268
<listitem>
 
269
<para>(Optionally) A <guimenuitem>Shutdown...</guimenuitem> item that displays
 
270
the <guilabel>Shutdown</guilabel> dialog box.</para>
 
271
</listitem>
 
272
 
 
273
</itemizedlist>
 
274
</listitem>
 
275
 
 
276
</itemizedlist>
 
277
 
 
278
<para>The <guilabel>Shutdown</guilabel> dialog box presents a set of
 
279
buttons that allow one of these actions to be executed:</para>
 
280
 
 
281
<variablelist>
 
282
<varlistentry>
 
283
<term>Turn Off Computer</term> 
 
284
<listitem>
 
285
<para>Shut the system down in a controlled manner, ready for
 
286
power-down.</para>
 
287
</listitem>
 
288
</varlistentry>
 
289
<varlistentry>
 
290
<term>Restart Computer</term>
 
291
<listitem>
 
292
<para>Shut the system down and reboot. For systems that use
 
293
<application>Lilo</application> or <application>Grub</application>,
 
294
an optional drop down box allows you to select a particular operating system
 
295
to be used for the reboot.</para>
 
296
</listitem>
 
297
</varlistentry>
 
298
<varlistentry>
 
299
<term>Schedule...</term> 
 
300
<listitem>
 
301
<para>If this option is enabled, you may use it to enter a more complex
 
302
shutdown dialog. See <xref linkend="option-scheduledsd"/> for details.</para>
 
303
</listitem>
 
304
</varlistentry>
 
305
</variablelist>
 
306
 
 
307
<para>Pressing the <guibutton>Cancel</guibutton> button returns to the
 
308
main &kdm; dialog box. </para>
 
309
 
 
310
</chapter>
 
311
 
 
312
<!-- *********************************************************************** -->
 
313
<chapter id="configuring-kdm">
 
314
<title>Configuring &kdm;</title>
 
315
 
 
316
<para>This chapter assumes that &kdm; is already up and running on your
 
317
system, and that you simply want to change its behavior in some way.</para>
 
318
 
 
319
<para>When &kdm; starts up, it reads its configuration from the folder
 
320
<filename class="directory">$<envar>KDEDIR</envar>/share/config/kdm/</filename>
 
321
(this may
 
322
be <filename class="directory">/etc/kde4/kdm/</filename> or something else
 
323
on your system).</para>
 
324
 
 
325
<para>The main configuration file is &kdmrc;; all other files are
 
326
referenced from there and could be stored under any name anywhere on
 
327
the system - but usually that would not make much sense for obvious
 
328
reasons (one particular exception is referencing configuration files
 
329
of an already installed &xdm; - however when a new &kdm; is installed,
 
330
it will import settings from those files if it finds an already installed
 
331
&xdm;).</para>
 
332
 
 
333
<para>Since &kdm; must run before any user is logged in, it is not
 
334
associated with any particular user. Therefore, it is not possible to have
 
335
user-specific configuration files; all users share the common &kdmrc;.  It
 
336
follows from this that the configuration of &kdm; can only be altered by
 
337
those users that have write access to
 
338
<filename>$<envar>KDEDIR</envar>/share/config/kdm/kdmrc</filename> (normally
 
339
restricted to system administrators logged in as <systemitem
 
340
class="username">root</systemitem>).</para>
 
341
 
 
342
<para>You can view the &kdmrc; file currently in use on your system, and you
 
343
can configure &kdm; by editing this file. Alternatively, you can use the
 
344
graphical configuration tool provided by the &systemsettings; (the 
 
345
<guilabel>Login Screen</guilabel> module in the <guilabel>System Administration</guilabel> category).
 
346
</para>
 
347
 
 
348
<para>The remainder of this chapter describes configuration of &kdm;
 
349
via the &systemsettings; module, and the <link linkend="kdm-files">next
 
350
chapter</link> describes the options available in &kdmrc; itself. If
 
351
you only need to configure for local users, the &systemsettings; module
 
352
should be sufficient for your needs.  If you need to configure remote
 
353
logins, or have multiple &kdm; sessions running, you will need to read
 
354
on.</para>
 
355
 
 
356
<!-- this sect is up to date for 4.4-->
 
357
<sect1 id="kdm-kcontrol-module">
 
358
<sect1info>
 
359
<authorgroup>
 
360
<author>&Thomas.Tanghus; &Thomas.Tanghus.mail;</author>
 
361
<author>&Steffen.Hansen; &Steffen.Hansen.mail;</author>
 
362
<author>&Mike.McBride; &Mike.McBride.mail;</author>
 
363
</authorgroup>
 
364
</sect1info>
 
365
 
 
366
<title>The Login Manager &systemsettings; Module</title>
 
367
 
 
368
<para>Using this module, you can configure the &kde; graphical login
 
369
manager, &kdm;.  You can change how the login screen looks, who has
 
370
access using the login manager and who can shutdown the
 
371
computer.</para>
 
372
 
 
373
<note><para>All settings will be written to the configuration file
 
374
&kdmrc;, which in its original state has many comments to help you
 
375
configure &kdm;.  Using this &systemsettings; module will strip these
 
376
comments from the file.  All available options in &kdmrc; are covered
 
377
in <xref linkend="kdm-files"/>.</para>
 
378
 
 
379
<para>The options listed in this chapter are cross referenced with
 
380
their equivalents in &kdmrc;. All options available in the &systemsettings;
 
381
module are also available directly in &kdmrc; but the reverse is not
 
382
true.</para></note>
 
383
 
 
384
<para>In order to organize all of these options, this module is
 
385
divided into several sections: <link
 
386
linkend="kdmconfig-general"><guilabel>General</guilabel></link>,
 
387
<link linkend="kdmconfig-dialog"><guilabel>Dialog</guilabel></link>, <link
 
388
linkend="kdmconfig-background"><guilabel>Background</guilabel></link>,
 
389
<link
 
390
linkend="kdmconfig-theme"><guilabel>Theme</guilabel></link>,
 
391
<link
 
392
linkend="kdmconfig-shutdown"><guilabel>Shutdown</guilabel></link>,
 
393
<link linkend="kdmconfig-users"><guilabel>Users</guilabel></link> and
 
394
<link
 
395
linkend="kdmconfig-convenience"><guilabel>Convenience</guilabel></link>.</para>
 
396
 
 
397
<para>You can switch between the sections using the tabs at the top of
 
398
the window.</para>
 
399
 
 
400
<note><para>You can only make changes if you run this module with superuser rights.</para></note>
 
401
 
 
402
<sect2 id="kdmconfig-general">
 
403
<title>General</title>
 
404
 
 
405
<para>First you have a drop down box to choose the language for
 
406
your login box, corresponding to setting <option>Language</option> in
 
407
&kdmrc;.</para>
 
408
 
 
409
<para>In the <guilabel>Appearance</guilabel> section you have an option to use 
 
410
&kdm; in themed mode. If <guilabel>Use themed greeter</guilabel> is checked, 
 
411
the settings on the <guilabel>Dialog</guilabel> and <guilabel>Background</guilabel> 
 
412
pages cannot be configured separately.</para>
 
413
 
 
414
<para>While &kde;'s style depends on the settings of the user logged
 
415
in, the style used by &kdm; can be configured using the <guilabel>GUI
 
416
style:</guilabel> and <guilabel>Color scheme:</guilabel> options.
 
417
These correspond to the keys <link
 
418
linkend="option-guistyle"><option>GUIStyle</option></link> and <link
 
419
linkend="option-colorscheme"><option>ColorScheme</option></link> in
 
420
&kdmrc; respectively.</para>
 
421
 
 
422
<para>From the <guilabel>Fonts</guilabel> section of this page you can change the fonts used in the
 
423
login window.  Only fonts available to all users are available here, not
 
424
fonts you have installed on a per user basis.</para>
 
425
 
 
426
<para>You can select three different font styles in this section
 
427
(<guilabel>General:</guilabel>, <guilabel>Failure:</guilabel>,
 
428
<guilabel>Greeting:</guilabel>).  When you click on the
 
429
<guibutton>Choose...</guibutton> button a dialog appears from which you can
 
430
select the new characteristics for the font style.</para>
 
431
 
 
432
<itemizedlist>
 
433
<listitem>
 
434
<para>The <guilabel>General:</guilabel> font is used in all other places in the
 
435
login window.</para>
 
436
</listitem>
 
437
<listitem>
 
438
<para>The <guilabel>Failure:</guilabel> font is used when a login
 
439
fails.</para>
 
440
</listitem>
 
441
<listitem>
 
442
<para>The <guilabel>Greeting:</guilabel> font is the font used for the title
 
443
(Greeting String).</para>
 
444
</listitem>
 
445
</itemizedlist>
 
446
 
 
447
<para>You can also check the box labeled <guilabel>Use anti-aliasing for
 
448
fonts</guilabel> if you want smoothed fonts in the login dialog.</para>
 
449
 
 
450
</sect2>
 
451
 
 
452
<sect2 id="kdmconfig-dialog">
 
453
<title>Dialog</title>
 
454
 
 
455
<para>From this page you can change the visual appearance of &kdm;,
 
456
&kde;'s graphical login manager in non themed mode.</para>
 
457
 
 
458
<para>The <guilabel>Greeting:</guilabel> is the title of the login
 
459
 screen.  Setting this is especially useful if you have many servers users
 
460
 may log in to.  You may use various placeholders, which are described
 
461
 along with the corresponding key
 
462
 <link linkend="option-greetstring"><option>GreetString</option></link>
 
463
 in &kdmrc;.
 
464
</para>
 
465
 
 
466
<para>You can then choose to show either the current system time, a logo or
 
467
nothing special in the login box.  Make your choice in the radio buttons
 
468
labeled <guilabel>Logo area:</guilabel>. This corresponds to <link
 
469
linkend="option-logoarea"><option>LogoArea</option></link> in &kdmrc;</para>
 
470
 
 
471
<para>If you chose <guilabel>Show logo</guilabel> you can now choose a
 
472
logo:</para>
 
473
 
 
474
<itemizedlist>
 
475
<listitem>
 
476
<para>Drop an image file on the image button.</para>
 
477
</listitem>
 
478
<listitem>
 
479
<para>Click on the image button and select a new image from the image chooser
 
480
dialog.</para>
 
481
</listitem>
 
482
</itemizedlist>
 
483
 
 
484
<para>If you do not specify a logo, the default
 
485
<filename>$<envar>KDEDIR</envar>/share/apps/kdm/pics/kdelogo.xpm</filename>
 
486
will be displayed.</para>
 
487
 
 
488
<para>Normally the login box is centered on the screen.  
 
489
Drag the anchor to move the center of the dialog to the desired position. 
 
490
Keyboard control is possible as well: Use the arrow keys or <keycap>Home</keycap> to center. 
 
491
Note that the actual proportions of the dialog are probably different.
 
492
These correspond to the key
 
493
<link linkend="option-greeterpos"><option>GreeterPos</option></link>
 
494
in &kdmrc;.</para>
 
495
 
 
496
</sect2>
 
497
 
 
498
<sect2 id="kdmconfig-background">
 
499
<title>Background</title>
 
500
 
 
501
<para>Here you can change the desktop background which will be displayed
 
502
before a user logs in. Selecting <guilabel>Enable background</guilabel>
 
503
allows you to edit the options on this tab.</para>
 
504
 
 
505
<para>This tab is comprised of three areas:</para>
 
506
 
 
507
<orderedlist>
 
508
<listitem>
 
509
<para>An area for selecting background images</para>
 
510
</listitem>
 
511
<listitem>
 
512
<para>The background Preview Monitor</para>
 
513
</listitem>
 
514
<listitem>
 
515
<para>An area for determining the background color</para>
 
516
</listitem>
 
517
</orderedlist>
 
518
 
 
519
<variablelist>
 
520
<varlistentry>
 
521
<term>Preview Monitor</term>
 
522
<listitem>
 
523
<para>This is a preview window.  It will give you a sense of what to
 
524
expect with each change.</para>
 
525
</listitem>
 
526
</varlistentry>
 
527
 
 
528
<varlistentry>
 
529
<term><guilabel>Background</guilabel></term>
 
530
<listitem>
 
531
<para>This section allows you to load a wallpaper on top of the color
 
532
gradient chosen in the section below.</para>
 
533
 
 
534
<para>There are three choices available here:</para>
 
535
 
 
536
<variablelist>
 
537
<varlistentry>
 
538
<term><guilabel>No Picture</guilabel></term>
 
539
<listitem>
 
540
<para>No picture background will be shown.  The color and pattern
 
541
choices below will still take effect.</para>
 
542
</listitem>
 
543
</varlistentry>
 
544
 
 
545
<varlistentry>
 
546
<term><guilabel>Picture</guilabel></term>
 
547
<listitem>
 
548
<para>A single picture will be used as the background for the selected
 
549
desktops.</para>
 
550
<para>How this picture is positioned and scaled can be fine tuned
 
551
below.</para>
 
552
</listitem>
 
553
</varlistentry>
 
554
 
 
555
<varlistentry>
 
556
<term><guilabel>Slide show</guilabel></term>
 
557
<listitem>
 
558
<para>&kde; allows you to have an automatic slide show of wallpaper
 
559
images. To enable this option, press the <guibutton>Setup...</guibutton>
 
560
button.  In the resulting dialog you may choose any
 
561
image or folder of images available on your computer, using the
 
562
<guibutton>Add...</guibutton> button to navigate your file system.
 
563
<guibutton>Remove</guibutton> will remove the currently selected
 
564
entry from the list.</para>
 
565
 
 
566
<para>You may choose the length of time any image is displayed in the
 
567
<guilabel>Change picture after:</guilabel> box, and you may choose
 
568
<guibutton>Show pictures in random order</guibutton> if you don't want
 
569
them displayed in the order they are listed.</para>
 
570
 
 
571
<tip><para>Displaying wallpaper requires that the image be kept in
 
572
memory.  If you are low on memory, using a small, tiled image or none
 
573
at all is recommended.</para>
 
574
 
 
575
<para>Scaling or centering a small image still requires an image the
 
576
size of your display to be maintained in memory.</para></tip>
 
577
</listitem>
 
578
</varlistentry>
 
579
</variablelist>
 
580
</listitem>
 
581
</varlistentry>
 
582
 
 
583
<varlistentry>
 
584
<term><guilabel>Options</guilabel></term>
 
585
<listitem>
 
586
 
 
587
<variablelist><!-- Positioning -->
 
588
<title><guilabel>Position:</guilabel></title>
 
589
<varlistentry>
 
590
<term>Centered</term>
 
591
<listitem><para>The image will be centered on the screen without changing the
 
592
size of the image.  The background colors will be present anywhere the image
 
593
does not cover.</para> </listitem>
 
594
</varlistentry>
 
595
<varlistentry>
 
596
<term>Tiled</term>
 
597
<listitem><para>The image will be duplicated until it fills the entire
 
598
desktop. The first image will be placed in the upper left corner of the screen,
 
599
and duplicated downward and to the right.</para></listitem>
 
600
</varlistentry>
 
601
<varlistentry>
 
602
<term>Center Tiled</term>
 
603
<listitem><para>The image will be duplicated until it
 
604
fills the entire desktop. The first image will be placed in the center of the
 
605
screen, and duplicated upward, downward to the right, and to the left.</para>
 
606
</listitem></varlistentry>
 
607
<varlistentry>
 
608
<term>Centered Maxpect</term>
 
609
<listitem><para>The image will be placed in the center of the screen.  It will
 
610
be scaled to fit the desktop, but it will not change the aspect ratio of the
 
611
original image.  This will provide you with an image that is not distorted.
 
612
</para></listitem>
 
613
</varlistentry>
 
614
<varlistentry>
 
615
<term>Tiled Maxpect</term>
 
616
<listitem>
 
617
<para>The image will be placed in the corner of the screen.  It will
 
618
be scaled to fit the desktop, but it will not change the aspect ratio
 
619
of the original image.  This will provide you with an image that is
 
620
not distorted.  If there is any space over, the image will be
 
621
duplicated to fill it.  </para>
 
622
</listitem>
 
623
</varlistentry>
 
624
<varlistentry>
 
625
<term>Scaled</term>
 
626
<listitem><para>The image will be scaled to fit the desktop.  It will be
 
627
stretched to fit to all four corners.  This may distort the image.</para></listitem>
 
628
</varlistentry>
 
629
<varlistentry>
 
630
<term>Centered Auto fit</term>
 
631
<listitem>
 
632
<para>If the picture fits the desktop size, this mode works like the
 
633
centered option. If the picture is larger than the desktop then it is
 
634
scaled down to fit while keeping the aspect ratio.
 
635
</para>
 
636
</listitem>
 
637
</varlistentry>
 
638
<varlistentry>
 
639
<term>Scale &amp; Crop</term>
 
640
<listitem>
 
641
<para>Magnify the picture without distorting it until it fills both the
 
642
width and height of the desktop (cropping the picture if necessary), and
 
643
then center it on the desktop.</para>
 
644
</listitem>
 
645
</varlistentry>
 
646
</variablelist>
 
647
 
 
648
<variablelist><!-- Colors -->
 
649
<varlistentry>
 
650
<term><guilabel>Colors:</guilabel></term>
 
651
<listitem>
 
652
<para>The first drop down box allows you to choose the type of color,
 
653
gradient, or pattern to display under (or in place of) wallpaper.</para>
 
654
<tip><para>If you are going to be using a picture as a wallpaper, you
 
655
can skip this section of the dialog box.</para>
 
656
<para>However, if your chosen wallpaper does not cover the entire
 
657
desktop, the chosen colors will still show in the remaining
 
658
space.</para></tip>
 
659
 
 
660
<variablelist>
 
661
<varlistentry>
 
662
<term><guilabel>Single Color</guilabel></term>
 
663
<listitem><para>By choosing this mode, you select one color using the
 
664
first color bar, and the entire background is covered with this one
 
665
color.</para></listitem>
 
666
</varlistentry>
 
667
<varlistentry>
 
668
<term><guilabel>Horizontal Gradient</guilabel></term>
 
669
<listitem><para>By choosing this mode, you select two colors (using both color
 
670
buttons).  &kde; will then start with the primary color selected with the left 
 
671
button on the left edge of the screen, and slowly transform into the blend color
 
672
selected with the right button by the time it gets to the
 
673
right edge of the screen.</para></listitem>
 
674
</varlistentry>
 
675
<varlistentry>
 
676
<term><guilabel>Vertical Gradient</guilabel></term>
 
677
<listitem><para>By choosing this mode, you select two colors (using both color
 
678
buttons).  &kde; will then start with the primary color selected with the left
 
679
button on the top edge of the screen, and slowly transform into the blend color
 
680
selected with the right button as it moves to the bottom of
 
681
the screen.</para></listitem>
 
682
</varlistentry>
 
683
<varlistentry>
 
684
<term><guilabel>Pyramid Gradient</guilabel></term>
 
685
<listitem><para>By choosing this mode, you select two colors (using both color
 
686
buttons).  &kde; will then start with the primary color selected with the left
 
687
button in each corner of the screen, and slowly transform into the blend color
 
688
selected with the right button as it moves to the center of the
 
689
screen.</para></listitem>
 
690
</varlistentry>
 
691
<varlistentry>
 
692
<term><guilabel>Pipecross Gradient</guilabel></term>
 
693
<listitem><para>By choosing this mode, you select two colors (using both color
 
694
buttons).  &kde; will then start with the primary color selected with the left
 
695
button in each corner of the screen, and slowly transform into the blend color
 
696
selected with the right button as it moves to the center of the screen. 
 
697
The shape of this gradient is different than the pyramid gradient.</para></listitem>
 
698
</varlistentry>
 
699
<varlistentry>
 
700
<term><guilabel>Elliptic Gradient</guilabel></term>
 
701
<listitem><para>By choosing this mode, you select two colors (using both color
 
702
buttons).  &kde; will then start with the blend color selected with the right
 
703
button in the center of the screen, and slowly
 
704
transform into the primary color selected by the left button 
 
705
as it moves to the edges, in an elliptical pattern.</para></listitem>
 
706
</varlistentry>
 
707
 
 
708
<varlistentry>
 
709
<term><replaceable>Pattern</replaceable></term>
 
710
<listitem>
 
711
<para>The rest of the list are the names of various patterns
 
712
or textures you can choose.</para>
 
713
<para>For more on patterns, see
 
714
the section <link linkend="bkgnd-patterns">Adding, Removing and
 
715
Modifying Patterns</link>.</para>
 
716
 
 
717
<para>Select the primary color with the first color bar.  If you have
 
718
chosen a pattern that requires two colors to be set the secondary
 
719
color can be set by pressing the appropriate button.</para>
 
720
</listitem>
 
721
</varlistentry>
 
722
</variablelist>
 
723
 
 
724
</listitem>
 
725
</varlistentry>
 
726
</variablelist>
 
727
 
 
728
<variablelist>
 
729
<varlistentry>
 
730
<term><guilabel>Blending:</guilabel></term>
 
731
<listitem>
 
732
<para>The drop down box labeled <guilabel>Blending:</guilabel> contains the
 
733
options to make a smooth transition (blend) from the wallpaper as it
 
734
changes to the background.</para>
 
735
 
 
736
<orderedlist>
 
737
<listitem><para>A drop down box allows you to select the blending mode.
 
738
Many of the modes are similar to blending modes for background colors.  Select
 
739
your mode from the list, and the preview window shows you what it will look
 
740
like.</para></listitem>
 
741
<listitem><para>The <guilabel>Balance</guilabel> slider adjusts the
 
742
blending.  The results can be seen immediately in the preview
 
743
window.</para></listitem>
 
744
<listitem><para>The <guilabel>Reverse roles</guilabel> can reverse the
 
745
role of the picture and the background for some types of
 
746
blending.</para>
 
747
</listitem>
 
748
</orderedlist>
 
749
</listitem>
 
750
</varlistentry>
 
751
</variablelist>
 
752
</listitem>
 
753
</varlistentry>
 
754
</variablelist>
 
755
 
 
756
<sect3 id="bkgnd-advanced">
 
757
<title>Advanced options</title>
 
758
<para>Located below the preview monitor is a button labeled
 
759
<guibutton>Advanced Options</guibutton>.</para>
 
760
 
 
761
<para>To use an external program to determine and change the
 
762
background of &kde;, simply select <guilabel>Use the following program
 
763
for drawing the background</guilabel>.  Available &kde; programs are
 
764
listed, select one to enable it.</para>
 
765
 
 
766
<!--Not in 4.4
 
767
<para>To add a third party application (&eg;
 
768
<application>XEarth</application>) you may use the
 
769
<guibutton>Add...</guibutton> button.  A dialog will open allowing you
 
770
to choose your application, and fill in other data about it.  You may
 
771
remove any entries from this list by selecting it and pressing the
 
772
<guibutton>Remove</guibutton> button.</para>
 
773
 
 
774
<para>Using third party external programs to modify or change the
 
775
background is beyond the scope of this document, see their respective
 
776
documentation for the format of command-line switches and other
 
777
configuration information.</para>
 
778
 
 
779
<para>Also in this section you may choose to set the color of text
 
780
that is used for icons on the desktop.  If you find icon text
 
781
difficult to read against a wallpaper or pattern, you can choose a
 
782
solid color to show beneath text, or enable a shadow under the text to
 
783
enhance its appearance.</para>
 
784
 
 
785
<para>It is possible to set how many lines of text will be shown beneath each icon with the <guilabel>Lines for icon text:</guilabel>   If the text is longer than can be shown in the configured number of lines, it will be truncated.  You can also set a value for the <guilabel>Width for icon text:</guilabel> option.  The value is in pixels, and the default is <guilabel>Auto</guilabel>, which is a default calculated based on the current font.
 
786
</para>
 
787
 
 
788
<para>Finally you can set the <guilabel>Size of the background
 
789
cache:</guilabel>.  The default (2048 KB) is usually a safe
 
790
choice.</para>
 
791
-->
 
792
</sect3>
 
793
 
 
794
<sect3 id="bkgnd-patterns">
 
795
<title>Adding, Removing and Modifying Wallpapers and Patterns</title>
 
796
 
 
797
<para>There is a button under the preview monitor labeled <guibutton>Get
 
798
New Wallpapers</guibutton> that helps you fetch new wallpaper images from a
 
799
selection of popular images from the <ulink
 
800
url="http://www.kde-look.org">KDE-Look</ulink> website.  You can of course
 
801
select any image you have available to use as wallpaper, and it may be
 
802
stored in any location on your hard drive.  To have a wallpaper show up in
 
803
the list automatically for all users, you should save it to the <filename
 
804
class="directory">$<envar>KDEDIR</envar>/share/wallpapers</filename>
 
805
folder.</para>
 
806
 
 
807
<para>A pattern is a picture file which &kde; uses as a template to
 
808
draw your background.  The picture file provides the shapes, but &kde;
 
809
provides the colors.  &kde; is packaged with several patterns, and you also
 
810
can add new patterns.</para>
 
811
 
 
812
<para>To add a new pattern that is available to every user on your
 
813
computer, simply place the file in <filename
 
814
class="directory">$<envar>KDEDIR</envar>/share/apps/kdm/patterns/</filename>.</para>
 
815
 
 
816
<para>Copy a <literal role="extension">.desktop</literal> file from
 
817
this folder, and name it the same as your new pattern image file.
 
818
Modify the contents to suit your new pattern.</para>
 
819
 
 
820
<para>To add a new pattern for a single user, add the files to
 
821
<filename
 
822
class="directory">$<envar>KDEHOME</envar>/share/apps/kdm/patterns/</filename>.</para>
 
823
 
 
824
<para>For best results, the pattern should be a grayscale PNG file.</para>
 
825
 
 
826
</sect3>
 
827
 
 
828
</sect2>
 
829
 
 
830
<sect2 id="kdmconfig-theme">
 
831
<title>Theme</title>
 
832
<para>This page consists of three sections:</para>
 
833
 
 
834
<para>A list of installed themes, where you can select the one to be used.</para>
 
835
 
 
836
<para>A screenshot with a preview of the selected theme and additional 
 
837
information like <guilabel>Copyright</guilabel> and <guilabel>Description</guilabel>.</para>
 
838
 
 
839
<para>Three buttons to install or remove a theme and a button to launch
 
840
the <guilabel>Get Hot New Stuff</guilabel> dialog where you can download new themes.</para>
 
841
 
 
842
<note><para>The settings on this page are only available in themed mode.</para></note>
 
843
 
 
844
</sect2>
 
845
 
 
846
<sect2 id="kdmconfig-shutdown">
 
847
<title>Shutdown</title>
 
848
 
 
849
<para><guilabel>Allow Shutdown</guilabel></para>
 
850
<para>Use this drop down box to choose who is allowed to shut down:</para>
 
851
<itemizedlist>
 
852
<listitem>
 
853
<para><guilabel>Nobody</guilabel>: No one can shutdown the computer using
 
854
&kdm;.  You must be logged in, and execute a command.</para>
 
855
</listitem>
 
856
<listitem>
 
857
<para><guilabel>Everybody</guilabel>:  Everyone can shutdown the computer using
 
858
&kdm;.</para>
 
859
</listitem>
 
860
<listitem><para><guilabel>Only Root</guilabel>: &kdm; requires that the
 
861
<systemitem>root</systemitem> password be entered before shutting down the
 
862
computer.</para></listitem> 
 
863
</itemizedlist>
 
864
 
 
865
<para>You can independently configure who is allowed to issue a
 
866
shutdown command for the <guilabel>Local:</guilabel> and
 
867
<guilabel>Remote:</guilabel> users.</para>
 
868
 
 
869
<para><emphasis>Commands</emphasis></para> <para>Use these text fields to
 
870
define the exact shutdown command.</para> <para>The
 
871
<guilabel>Halt:</guilabel> command defaults to <!-- Are these defaults still
 
872
correct? they disagree with what's in --> <!-- kdmrc -->
 
873
<command>/sbin/halt</command>.  The <guilabel>Reboot:</guilabel> command
 
874
defaults to
 
875
<command>/sbin/reboot</command>.</para>
 
876
 
 
877
<para>When <guilabel>Boot manager</guilabel> is set to <guilabel>Grub</guilabel> 
 
878
or <guilabel>Lilo</guilabel>, &kdm;
 
879
will on reboot offer you options for these boot managers. Note that this
 
880
option is not available on all operating systems.</para>
 
881
 
 
882
</sect2>
 
883
 
 
884
<sect2 id="kdmconfig-users">
 
885
<title>Users</title>
 
886
 
 
887
<para>From here you can change the way users are represented in the
 
888
login window.</para>
 
889
 
 
890
<para>Independently of the users you specify by name, you can use the
 
891
<guilabel>System UIDs</guilabel> to specify a range of valid
 
892
<acronym>UID</acronym>s that are shown in the list.  By default user
 
893
id's under 1000, which are often system or daemon users, and user id's
 
894
over 30000, are not shown.</para>
 
895
 
 
896
<para>You may disable the user list in &kdm; entirely in the
 
897
<guilabel>Users</guilabel> section.  You can choose from:</para>
 
898
 
 
899
<variablelist>
 
900
<varlistentry>
 
901
<term><guilabel>Show list</guilabel></term>
 
902
<listitem>
 
903
<para>Only show users you have specifically not excluded in the list
 
904
alongside</para>
 
905
<para>If you do not check this box, no list will be shown. This is the most secure setting, since an
 
906
attacker would then have to guess a valid login name as well as a
 
907
password. It is also the preferred option if you have more than a
 
908
handful of users to list, or the list itself would become
 
909
unwieldy.</para>
 
910
</listitem>
 
911
</varlistentry>
 
912
<varlistentry>
 
913
<term><guilabel>Autocompletion</guilabel></term>
 
914
<listitem>
 
915
<para>If this option is checked, &kdm; will automatically complete user names while 
 
916
they are typed in the line edit.</para>
 
917
</listitem>
 
918
</varlistentry>
 
919
<varlistentry>
 
920
<term><guilabel>Inverse selection</guilabel></term>
 
921
<listitem>
 
922
<para>Allows you to instead select a list of users that should
 
923
be shown, and all other users will <emphasis>not</emphasis> be
 
924
listed.</para>
 
925
</listitem>
 
926
</varlistentry>
 
927
</variablelist>
 
928
 
 
929
<para>You can also enable the <guilabel>Sort users</guilabel>
 
930
checkbox, to have the user list sorted alphabetically.  If this is
 
931
disabled, users will appear in the order they are listed in the
 
932
password file.  &kdm; will also autocomplete user names if you enable the
 
933
<guilabel>Autocompletion</guilabel> option.</para>
 
934
 
 
935
<para>If you choose to show users, then the login window will show
 
936
images (which you select), of a list of users.  When someone is ready
 
937
to login, they may select their user name/image, enter their password,
 
938
and they are granted access.</para>
 
939
 
 
940
<para>If you permit a user image, then you can configure the <guilabel>
 
941
User Image Source</guilabel>:</para>
 
942
 
 
943
<para>Here you can specify where &kdm; will obtain the images that represent users. 
 
944
<guilabel>System</guilabel> represents the global folder; these are the pictures you can set 
 
945
below. <guilabel>User</guilabel> means that &kdm; should read the user's 
 
946
<filename>$<envar>HOME</envar>/.face.icon</filename> file. 
 
947
The two selections in the middle define the order of preference if both 
 
948
sources are available.
 
949
</para>
 
950
 
 
951
<para>If you choose not to show users, then the login window will be
 
952
more traditional.  Users will need to type their username and password
 
953
to gain entrance.  This is the preferred way if you have many users on
 
954
this terminal.</para>
 
955
 
 
956
</sect2>
 
957
 
 
958
<sect2 id="kdmconfig-convenience">
 
959
<title>Convenience</title>
 
960
 
 
961
<para>In the <guilabel>Convenience</guilabel> tab you can configure
 
962
some options that make life easier for lazy people, like automatic
 
963
login or disabling passwords.</para>
 
964
 
 
965
<important><para>Please think more than twice before using these
 
966
options. Every option in the <guilabel>Convenience</guilabel> tab is
 
967
well-suited to seriously compromise your system security. Practically,
 
968
these options are only to be used in a completely non-critical
 
969
environment, &eg; a private computer at home.  </para></important>
 
970
 
 
971
<sect3 id="loginmanager-convenience-autologin">
 
972
<title>Automatic Login</title>
 
973
 
 
974
<para>Automatic login will give anyone access to a certain account on
 
975
your system without doing any authentication.  You can enable it using
 
976
the option <guilabel>Enable Auto-Login</guilabel>.</para>
 
977
 
 
978
<para>You can choose the account to be used for automatic login from
 
979
the list labeled <guilabel>User:</guilabel>.</para>
 
980
 
 
981
<para>With <guilabel>Lock session</guilabel> the automatically started session 
 
982
will be locked immediately (provided it is a &kde; session). This can be used 
 
983
to obtain a super-fast login restricted to one user.</para>
 
984
 
 
985
<!-- is this true?-->
 
986
<para>Automatic login can be suppressed by pressing the &Shift; key immediately
 
987
after the &X-Server; switches to graphics mode and releasing it when &kdm;'s
 
988
hourglass cursor appears.</para>
 
989
</sect3>
 
990
 
 
991
<sect3 id="loginmanager-convenience-preselecteduser">
 
992
<title><guilabel>Preselected User</guilabel></title>
 
993
 
 
994
<para>You can also choose which user is <quote>preselected</quote>
 
995
when &kdm; starts. The default is <guilabel>None</guilabel>, but you
 
996
can choose <guilabel>Previous</guilabel> to have &kdm; default to the
 
997
last successfully logged in user, or you can
 
998
<guilabel>Specify</guilabel> a particular user to always be selected
 
999
from the list.  You can also have &kdm; set the focus to the password
 
1000
field, so that when you reach the &kdm; login screen, you can type the
 
1001
password immediately.</para>
 
1002
 
 
1003
</sect3>
 
1004
 
 
1005
<sect3 id="loginmanager-convenience-nopasswd">
 
1006
<title><guilabel>Password-Less Login</guilabel></title>
 
1007
 
 
1008
<para>Using this feature, you can allow certain users to login without
 
1009
having to provide their password. Enable this feature using the
 
1010
<guilabel>Enable Password-Less Logins</guilabel> option.</para>
 
1011
 
 
1012
<para>Below this option you'll see a list of users on the system.
 
1013
Enable password-less login for specific users by checking the checkbox
 
1014
next to the login names.  By default, this feature is disabled for
 
1015
all users.</para>
 
1016
 
 
1017
<important><para>Again, this option should only be used in a safe
 
1018
environment. If you enable it on a rather public system you should
 
1019
take care that only users with heavy access restrictions are granted
 
1020
password-less login, &eg;
 
1021
<systemitem>guest</systemitem>.</para></important>
 
1022
 
 
1023
<para>The <guilabel>Automatically login after X server crash</guilabel>
 
1024
option allows you to skip the authentication procedure when your X
 
1025
server accidentally crashed.</para>
 
1026
 
 
1027
</sect3>
 
1028
 
 
1029
</sect2>
 
1030
 
 
1031
</sect1>
 
1032
 
 
1033
</chapter>
 
1034
 
 
1035
&kdmrc-ref;
 
1036
 
 
1037
&theme-ref;
 
1038
 
 
1039
<!-- ************************************************************ -->   
 
1040
<chapter id="configuring-your-system-for-kdm">
 
1041
<title>Configuring your system to use &kdm;</title>
 
1042
 
 
1043
<para>This chapter assumes that your system is already configured to
 
1044
run the &X-Window;, and that you only need to reconfigure it to
 
1045
allow graphical login.</para>
 
1046
 
 
1047
<sect1 id="setting-up-kdm">
 
1048
<title>Setting up &kdm;</title>
 
1049
 
 
1050
<para>The fundamental thing that controls whether your computer boots to a
 
1051
terminal prompt (console mode) or a graphical login prompt is the default
 
1052
runlevel.  The runlevel is set by the program <application> <ulink
 
1053
url="man:init">/sbin/init</ulink></application> under the control of the
 
1054
configuration file <filename>/etc/inittab</filename>. The default runlevels
 
1055
used by different &UNIX; systems (and different &Linux; distributions) vary,
 
1056
but if you look at <filename>/etc/inittab</filename> the start of it should
 
1057
be something like this:</para>
 
1058
 
 
1059
<screen># Default runlevel. The runlevels used by RHS are:
 
1060
# 0 - halt (Do NOT set initdefault to this)
 
1061
# 1 - Single user mode
 
1062
# 2 - Multiuser, without NFS
 
1063
# 3 - Full multiuser mode
 
1064
# 4 - unused
 
1065
# 5 - X11
 
1066
# 6 - reboot (Do NOT set initdefault to this)
 
1067
 
 
1068
id:3:initdefault:  
 
1069
</screen>
 
1070
 
 
1071
<para>All but the last line of this extract are comments. The comments
 
1072
show that runlevel 5 is used for X11 and that runlevel 3 is used for
 
1073
multi-user mode without X11 (console mode). The final line specifies
 
1074
that the default runlevel of the system is 3 (console mode). If your
 
1075
system currently uses graphical login (for example, using &xdm;) its
 
1076
default runlevel will match the runlevel specified for X11.</para>
 
1077
 
 
1078
<para>The runlevel with graphical login (&xdm;) for some common &Linux;
 
1079
distributions is:</para>
 
1080
 
 
1081
<itemizedlist>
 
1082
<listitem><para>5 for &RedHat; 3.x and later, and for &Mandrake;</para></listitem>
 
1083
<listitem><para>4 for Slackware</para></listitem>
 
1084
<listitem><para>3 for &SuSE;. 4.x and 5.x</para></listitem>
 
1085
</itemizedlist>
 
1086
 
 
1087
<para>The first step in configuring your system is to ensure that you
 
1088
can start &kdm; from the command line. Once this is working, you can
 
1089
change your system configuration so that &kdm; starts automatically
 
1090
each time you reboot your system.</para>
 
1091
 
 
1092
<para>To test &kdm;, you must first bring your system to a runlevel
 
1093
that does not run &xdm;. To do so, issue a command like this:</para>
 
1094
 
 
1095
<screen><command>/sbin/init <option>3</option></command></screen>
 
1096
 
 
1097
<para>Instead of the number <option>3</option> you should specify the
 
1098
appropriate runlevel for console mode on your system.</para>
 
1099
 
 
1100
<para>If your system uses Pluggable Authentication Modules
 
1101
(<abbrev>PAM</abbrev>), which is normal with recent &Linux; and &Solaris;
 
1102
systems, you should check that your <abbrev>PAM</abbrev> configuration permits
 
1103
login through the service named <literal>kde</literal>. If you previously used
 
1104
&xdm; successfully, you should not need to make any
 
1105
changes to your <abbrev>PAM</abbrev> configuration in order to use
 
1106
&kdm;. <filename>/etc/pam.conf</filename> or
 
1107
<filename>/etc/pam.d/kde</filename>. Information on configuring
 
1108
<abbrev>PAM</abbrev> is beyond the scope of this handbook, but
 
1109
<abbrev>PAM</abbrev> comes with comprehensive documentation (try looking in
 
1110
<filename>/usr/share/doc/*pam*/html/</filename>).</para>
 
1111
 
 
1112
<para>Now it's time for you to test &kdm; by issuing the following
 
1113
command:</para>
 
1114
 
 
1115
<screen><command>kdm <option>-nodaemon</option></command>
 
1116
</screen>
 
1117
 
 
1118
<para>If you get a &kdm; login dialog and you are able to log in,
 
1119
things are going well.  The main thing that can go wrong here is that
 
1120
the run-time linker might not find the shared &Qt; or &kde; libraries.
 
1121
If you have a binary distribution of the &kde; libraries, make sure
 
1122
&kdm; is installed where the libraries believe &kde; is installed and
 
1123
try setting some environment variables to point to your &kde; and &Qt;
 
1124
libraries.</para>
 
1125
 
 
1126
<para>For example:</para>
 
1127
 
 
1128
<screen><command>export 
 
1129
<option>KDEDIR=<replaceable>/opt/kde</replaceable></option></command>
 
1130
<command>export 
 
1131
<option>QTDIR=<replaceable>/usr/lib/qt4</replaceable></option></command>
 
1132
<command>export 
 
1133
<option>PATH=<replaceable>$KDEDIR/bin:$QTDIR/bin:$PATH</replaceable></option></command>
 
1134
<command>export 
 
1135
<option>LD_LIBRARY_PATH=<replaceable>$KDEDIR/lib:$QTDIR/lib</replaceable></option></command>
 
1136
</screen>
 
1137
 
 
1138
<para>If you are still unsuccessful, try starting &xdm; instead, to
 
1139
make sure that you are not suffering from a more serious X
 
1140
configuration problem.</para>
 
1141
 
 
1142
<para>When you are able to start &kdm; successfully, you can start to
 
1143
replace &xdm; by &kdm;. Again, this is distribution-dependent.</para>
 
1144
 
 
1145
<itemizedlist>
 
1146
<listitem>
 
1147
<para>For &RedHat;, edit <filename>/etc/inittab</filename>, look for this
 
1148
 line:</para>
 
1149
<screen>x:5:respawn:/usr/X11/bin/xdm -nodaemon</screen>
 
1150
<para>and replace with:</para>
 
1151
<screen>x:5:respawn:/opt/kde/bin/kdm</screen>
 
1152
<para>This tells <command>init</command>(8) to respawn &kdm; when the
 
1153
system is in run level 5. Note that &kdm; does not need the
 
1154
 <option>-nodaemon</option> option.</para>
 
1155
</listitem>
 
1156
<listitem>
 
1157
<para>For &Mandrake;, the X11 runlevel in
 
1158
<filename>/etc/inittab</filename> invokes the shell script
 
1159
<filename>/etc/X11/prefdm</filename>, which is set up to select from
 
1160
amongst several display managers, including &kdm;. Make sure that all
 
1161
the paths are correct for your installation.</para> 
 
1162
</listitem>
 
1163
<listitem>
 
1164
<para>For &SuSE;, edit <filename>/sbin/init.d/xdm</filename> to add a
 
1165
first line:</para>
 
1166
 
 
1167
<screen>. /etc/rc.config
 
1168
DISPLAYMANAGER=kdm
 
1169
export DISPLAYMANAGER</screen>
 
1170
</listitem>
 
1171
<listitem><para>For FreeBSD, edit <filename>/etc/ttys</filename> and find
 
1172
the line like this:</para>
 
1173
<screen>ttyv8   "/usr/X11R6/bin/xdm -nodaemon"  xterm   off secure</screen>
 
1174
<para>and edit it to this:</para>
 
1175
<screen>ttyv8   "/opt/kde/bin/kdm"  xterm   on secure</screen>
 
1176
</listitem>
 
1177
 
 
1178
<listitem><para>Most other distributions are a variation of one of
 
1179
these.</para></listitem>
 
1180
</itemizedlist>
 
1181
 
 
1182
<para>At this stage, you can test &kdm; again by bringing your system
 
1183
to the runlevel that should now run &kdm;. To do so, issue a command
 
1184
like this:</para>
 
1185
 
 
1186
<screen><command>/sbin/init <option>5</option></command>
 
1187
</screen>
 
1188
 
 
1189
<para>Instead of the number <option>5</option> you should specify the
 
1190
appropriate runlevel for running X11 on your system.</para>
 
1191
 
 
1192
<para>The final step is to edit the <parameter>initdefault</parameter>
 
1193
entry in <filename>/etc/inittab</filename> to specify the appropriate
 
1194
runlevel for X11.</para>
 
1195
 
 
1196
<warning><para>Before you make this change, ensure that you have a way
 
1197
to reboot your system if a problem occurs. This might be a
 
1198
<quote>rescue</quote> floppy-disk provided by your operating system
 
1199
distribution or a specially-designed <quote>rescue</quote>
 
1200
floppy-disk, such as <literal>tomsrtbt</literal>. Ignore this advice
 
1201
at your peril.</para></warning>
 
1202
 
 
1203
<para>This usually involves changing the line:</para>
 
1204
<screen>id:3:initdefault:</screen>
 
1205
<para>to</para>
 
1206
<screen>id:5:initdefault:</screen>
 
1207
 
 
1208
<para>When you reboot your system, you should end up with the
 
1209
graphical &kdm; login dialog.</para>
 
1210
 
 
1211
<para>If this step is unsuccessful the most likely problem is that the
 
1212
environment used at boot time differs from the environment that you used for
 
1213
testing at the command line.  If you are trying to get two versions of &kde;
 
1214
to co-exist, be particularly careful that the settings you use for your
 
1215
<envar>PATH</envar> and <envar>LD_LIBRARY_PATH</envar> environment variables
 
1216
are consistent, and that the startup scripts are not over-riding them in
 
1217
some way.</para>
 
1218
 
 
1219
</sect1>
 
1220
 
 
1221
</chapter>
 
1222
 
 
1223
<chapter id="different-window-managers-with-kdm">
 
1224
<title>Supporting multiple window managers</title>
 
1225
 
 
1226
<para>&kdm; detects most available window managers and desktop environments when
 
1227
it is run.  Installing a new one should make it automatically available in
 
1228
the &kdm; main dialog's <guimenuitem>Session Type</guimenuitem> submenu.</para>
 
1229
 
 
1230
<para>If you have a very new window manager, or something that &kdm; does
 
1231
not support, the first thing you should check is that the executable to be
 
1232
run is in the <envar>PATH</envar> and has not been renamed by the distributor
 
1233
into something unexpected.</para>
 
1234
 
 
1235
<para>If the case is that the session type is not supported by &kdm; yet
 
1236
(maybe because it is too new), you can quite easily add it.</para>
 
1237
 
 
1238
<para>The session types are defined by <firstterm>.desktop</firstterm> files
 
1239
located in the directories listed in <link
 
1240
linkend="option-sessionsdirs"><option>SessionsDirs</option></link>. The
 
1241
last named directory contains the system-provided default session types
 
1242
and is <filename
 
1243
class="directory">$<envar>KDEDIR</envar>/share/apps/kdm/sessions</filename>
 
1244
in an installation from source. Software upgrades will typically overwrite
 
1245
anything in here, so it is unwise to use it for configuration purposes.
 
1246
Instead, a separate configuration directory should be listed first. It is
 
1247
set to <filename
 
1248
class="directory">$<envar>KDEDIR</envar>/share/config/kdm/sessions</filename>
 
1249
in an installation from source, but distributors often change it to something
 
1250
like <filename class="directory">/etc/kde4/kdm/sessions</filename>.
 
1251
You can simply add an appropriately named <literal
 
1252
role="extension">.desktop</literal> files here. The fields are:</para>
 
1253
 
 
1254
<programlisting>[Desktop Entry]
 
1255
Encoding=UTF-8 <lineannotation>This is fixed to <option>UTF-8</option> and
 
1256
may be omitted</lineannotation>
 
1257
Type=XSession <lineannotation>This is fixed to <option>XSession</option> and
 
1258
may be omitted</lineannotation>
 
1259
Exec=<replaceable>executable name</replaceable> <lineannotation>Passed to
 
1260
<command>eval exec</command> in a Bourne shell</lineannotation>
 
1261
TryExec=<replaceable>executable name</replaceable> <lineannotation>Supported
 
1262
but not required</lineannotation>
 
1263
Name=<replaceable>name to show in the &kdm; session list</replaceable></programlisting>
 
1264
 
 
1265
<para>There are also three <quote>magic</quote> types:</para>
 
1266
 
 
1267
<variablelist>
 
1268
<varlistentry>
 
1269
<term>default</term>
 
1270
<listitem>
 
1271
<para>
 
1272
The default session for &kdm; is normally &kde; but can be configured by the
 
1273
system administrator.
 
1274
</para>
 
1275
</listitem>
 
1276
</varlistentry>
 
1277
<varlistentry>
 
1278
<term>custom</term>
 
1279
<listitem>
 
1280
<para>
 
1281
The Custom session will run the user's ~/.xsession if it exists, falling
 
1282
back to the default session otherwise.
 
1283
</para>
 
1284
</listitem>
 
1285
</varlistentry>
 
1286
<varlistentry>
 
1287
<term>failsafe</term>
 
1288
<listitem>
 
1289
<para>
 
1290
Failsafe will run a very plain session, and is useful only for debugging
 
1291
purposes.
 
1292
</para>
 
1293
</listitem>
 
1294
</varlistentry>
 
1295
</variablelist>
 
1296
 
 
1297
<para>To override a session type, copy the .desktop file from the data dir
 
1298
to the config dir and edit it at will. Removing the shipped session types
 
1299
can be accomplished by <quote>shadowing</quote> them with .desktop files
 
1300
containing Hidden=true.  For the magic session types no .desktop files exist
 
1301
by default, but &kdm; pretends they would, so you can override them like any
 
1302
other type.</para>
 
1303
 
 
1304
</chapter>
 
1305
 
 
1306
<chapter id="xdmcp-with-kdm">
 
1307
<title>Using &kdm; for Remote Logins (&XDMCP;)</title>
 
1308
 
 
1309
<para>&XDMCP; is the Open Group standard, the <quote>X Display Manager
 
1310
Control Protocol</quote>.  This is used to set up connections between
 
1311
remote systems over the network.</para>
 
1312
 
 
1313
<para>&XDMCP; is useful in multiuser situations where there are users
 
1314
with workstations and a more powerful server that can provide the
 
1315
resources to run multiple X sessions.  For example, &XDMCP; is a good
 
1316
way to reuse old computers - a Pentium or even 486 computer with 16 Mb
 
1317
RAM is sufficient to run X itself, and using &XDMCP; such a computer can
 
1318
run a full modern &kde; session from a server.  For the server part,
 
1319
once a single &kde; (or other environment) session is running, running
 
1320
another one requires very few extra resources.</para>
 
1321
 
 
1322
<para>However, allowing another method of login to your machine
 
1323
obviously has security implications.  You should run this service only
 
1324
if you need to allow remote X Servers to start login sessions on your
 
1325
system. Users with a single &UNIX; computer should not need to run
 
1326
this.</para>
 
1327
 
 
1328
</chapter>
 
1329
 
 
1330
<chapter id="advanced-topics">
 
1331
<title>Advanced Topics</title>
 
1332
 
 
1333
<sect1 id="command-sockets">
 
1334
<title>Command Sockets</title>
 
1335
 
 
1336
<para>This is a feature you can use to remote-control &kdm;. It's mostly
 
1337
intended for use by &ksmserver; and &kdesktop; from a running session, but
 
1338
other applications are possible as well.</para>
 
1339
 
 
1340
<para>The sockets are &UNIX; domain sockets which live in subdirectories of the
 
1341
directory specified by <option>FifoDir</option>=. The subdir is the key to
 
1342
addressing and security; the sockets all have the file name
 
1343
<filename>socket</filename> and file permissions
 
1344
<literal>rw-rw-rw-</literal> (0666). This is because some systems don't care
 
1345
for the file permission of the socket files.</para>
 
1346
 
 
1347
<para>There are two types of sockets: the global one (dmctl) and the
 
1348
per-display ones (dmctl-&lt;display&gt;).</para>
 
1349
 
 
1350
<para>The global one's subdir is owned by root, the subdirs of the per-display
 
1351
ones' are owned by the user currently owning the session (root or the
 
1352
logged in user). Group ownership of the subdirs can be set via FifoGroup=,
 
1353
otherwise it's root. The file permissions of the subdirs are rwxr-x---
 
1354
(0750).</para>
 
1355
 
 
1356
<para>The fields of a command are separated by tabs (<token>\t</token>), the
 
1357
fields of a list are separated by spaces, literal spaces in list fields are
 
1358
denoted by <token>\s</token>.</para>
 
1359
 
 
1360
<para>The command is terminated by a newline (<token>\n</token>).</para>
 
1361
 
 
1362
<para>The same applies to replies. The reply on success is
 
1363
<returnvalue>ok</returnvalue>, possibly followed by the requested
 
1364
information. The reply on error is an errno-style word (&eg;
 
1365
<returnvalue>perm</returnvalue>, <returnvalue>noent</returnvalue>, &etc;)
 
1366
followed by a longer explanation.</para>
 
1367
 
 
1368
<variablelist>
 
1369
<title>Global commands:</title>
 
1370
 
 
1371
<varlistentry>
 
1372
<term><command>login</command> <option>display</option>
 
1373
(<parameter>now</parameter> | <parameter>schedule</parameter>) <parameter>user</parameter> <parameter>password</parameter>
 
1374
[session_arguments]</term>
 
1375
<listitem>
 
1376
<para>login user at specified display. if <parameter>now</parameter> is
 
1377
specified, a possibly running session is killed, otherwise the login is done
 
1378
after the session exits. session_arguments are printf-like escaped contents
 
1379
for .dmrc. Unlisted keys will default to previously saved values.</para>
 
1380
</listitem>
 
1381
</varlistentry>
 
1382
 
 
1383
<varlistentry>
 
1384
<term><command>resume</command></term>
 
1385
<listitem>
 
1386
<para>Force return from console mode, even if TTY logins are still
 
1387
active.</para>
 
1388
</listitem>
 
1389
</varlistentry>
 
1390
 
 
1391
<varlistentry>
 
1392
<term><command>manage</command> <parameter>display</parameter>
 
1393
[<parameter>display_class</parameter>
 
1394
[<parameter>auth_name</parameter> <parameter>auth_data</parameter>]]</term>
 
1395
<listitem>
 
1396
<para>Start managing the named foreign display.</para>
 
1397
<para><parameter>display_class</parameter>, if specified and non-empty,
 
1398
will be used for configuration matching; see <xref linkend="kdm-files"/>.
 
1399
</para>
 
1400
<para><parameter>auth_name</parameter> and <parameter>auth_data</parameter>
 
1401
need to be passed if the display requires X authorization. The format is
 
1402
the same as the 2nd and 3rd column of the <command>xauth list</command>
 
1403
output.</para>
 
1404
</listitem>
 
1405
</varlistentry>
 
1406
 
 
1407
<varlistentry>
 
1408
<term><command>unmanage</command> <parameter>display</parameter></term>
 
1409
<listitem>
 
1410
<para>Stop managing the named foreign display.</para>
 
1411
</listitem>
 
1412
</varlistentry>
 
1413
 
 
1414
</variablelist>
 
1415
 
 
1416
<variablelist>
 
1417
<title>Per-display commands:</title>
 
1418
<varlistentry>
 
1419
<term><command>lock</command></term>
 
1420
<listitem>
 
1421
<para>The display is marked as locked. If the &X-Server; crashes in this
 
1422
state, no auto-relogin will be performed even if the option is on.</para>
 
1423
</listitem>
 
1424
</varlistentry>
 
1425
<varlistentry>
 
1426
<term><command>unlock</command></term>
 
1427
<listitem>
 
1428
<para>Reverse the effect of <command>lock</command>, and re-enable
 
1429
auto-relogin.</para>
 
1430
</listitem>
 
1431
</varlistentry>
 
1432
<varlistentry>
 
1433
<term><command>suicide</command></term>
 
1434
<listitem>
 
1435
<para>The currently running session is forcibly terminated. No auto-relogin
 
1436
is attempted, but a scheduled "login" command will be executed.</para>
 
1437
</listitem>
 
1438
</varlistentry>
 
1439
</variablelist>
 
1440
 
 
1441
<variablelist>
 
1442
<title>Commands for all sockets</title>
 
1443
 
 
1444
<varlistentry>
 
1445
<term><command>caps</command></term>
 
1446
<listitem>
 
1447
<para>Returns a list of this socket's capabilities:</para>
 
1448
 
 
1449
<variablelist>
 
1450
<varlistentry>
 
1451
<term><returnvalue>kdm</returnvalue></term>
 
1452
<listitem>
 
1453
<para>identifies &kdm;, in case some other DM implements this protocol,
 
1454
too</para>
 
1455
</listitem>
 
1456
</varlistentry>
 
1457
<varlistentry>
 
1458
<term><returnvalue>list</returnvalue>, <returnvalue>lock</returnvalue>,
 
1459
<returnvalue>suicide</returnvalue>, <returnvalue>login</returnvalue>,
 
1460
<returnvalue>resume</returnvalue>, <returnvalue>manage</returnvalue>
 
1461
</term>
 
1462
<listitem>
 
1463
<para>The respective command is supported</para>
 
1464
</listitem>
 
1465
</varlistentry>
 
1466
<varlistentry>
 
1467
<term><returnvalue>bootoptions</returnvalue></term>
 
1468
<listitem>
 
1469
<para>The <command>listbootoptions</command> command and the
 
1470
<option>=</option> to <command>shutdown</command> are supported</para>
 
1471
</listitem>
 
1472
</varlistentry>
 
1473
<varlistentry>
 
1474
<term><returnvalue>shutdown &lt;list&gt;</returnvalue></term>
 
1475
<listitem>
 
1476
<para><command>shutdown</command> is supported and allowed for the listed
 
1477
users (a comma separated list.)  <returnvalue>*</returnvalue> means all
 
1478
authenticated users.</para>
 
1479
</listitem>
 
1480
</varlistentry>
 
1481
<varlistentry>
 
1482
<term><returnvalue>nuke &lt;list&gt;</returnvalue></term>
 
1483
<listitem>
 
1484
<para>Forced shutdown may be performed by the listed users.</para>
 
1485
</listitem>
 
1486
</varlistentry>
 
1487
<varlistentry>
 
1488
<term><returnvalue>nuke</returnvalue></term>
 
1489
<listitem>
 
1490
<para>Forced shutdown may be performed by everybody</para>
 
1491
</listitem>
 
1492
</varlistentry>
 
1493
<varlistentry>
 
1494
<term><returnvalue>reserve &lt;number&gt;</returnvalue></term>
 
1495
<listitem>
 
1496
<para>Reserve displays are configured, and <returnvalue>number</returnvalue>
 
1497
are available at this time</para>
 
1498
</listitem>
 
1499
</varlistentry>
 
1500
</variablelist>
 
1501
 
 
1502
</listitem>
 
1503
</varlistentry>
 
1504
 
 
1505
<varlistentry>
 
1506
<term><command>list</command> [<parameter>all</parameter> |
 
1507
<parameter>alllocal</parameter>]</term>
 
1508
<listitem>
 
1509
<para>Return a list of running sessions.  By default all active sessions are
 
1510
listed (this is useful for a shutdown warning).  If <parameter>all</parameter>
 
1511
is specified, passive sessions are listed as well.
 
1512
If <parameter>alllocal</parameter> is specified, passive
 
1513
sessions are listed as well, but all incoming remote sessions are
 
1514
skipped (this is useful for a fast user switching agent).</para>
 
1515
<para>Each session entry is a comma separated tuple of:</para>
 
1516
<itemizedlist>
 
1517
<listitem><para>Display or TTY name</para></listitem>
 
1518
<listitem><para>VT name for local sessions, remote host name prefixed by
 
1519
<literal>@</literal> for remote TTY sessions, otherwise empty</para></listitem>
 
1520
<listitem><para>Logged in user's name, empty for passive sessions and
 
1521
outgoing remote sessions (local chooser mode)</para></listitem>
 
1522
<listitem><para>Session type for active local sessions, remote hostname for
 
1523
outgoing remote sessions, empty for passive sessions.</para></listitem>
 
1524
<listitem><para>A Flag field:</para>
 
1525
<itemizedlist><listitem><para><literal>*</literal> for the display belonging
 
1526
to the requesting socket.</para></listitem>
 
1527
<listitem><para><literal>!</literal> for sessions that cannot be killed by the
 
1528
requesting socket.</para></listitem>
 
1529
<listitem><para><literal>t</literal> for TTY sessions.</para></listitem>
 
1530
</itemizedlist>
 
1531
</listitem>
 
1532
</itemizedlist>
 
1533
<para>New fields may be added in the future.</para>
 
1534
</listitem>
 
1535
</varlistentry>
 
1536
 
 
1537
<varlistentry>
 
1538
<term><command>reserve</command></term>
 
1539
<listitem>
 
1540
<para>Start a reserve login screen. If nobody logs in within some
 
1541
time, the display is removed again. When the session on the display
 
1542
exits, the display is removed, too.</para>
 
1543
<para>Permitted only on sockets of local displays and the global
 
1544
socket.</para> 
 
1545
</listitem>
 
1546
</varlistentry>
 
1547
 
 
1548
<varlistentry>
 
1549
<term><command>activate</command>
 
1550
(<parameter>vt</parameter>|<parameter>display</parameter>)</term>
 
1551
<listitem>
 
1552
<para>Switch to a particular VT (virtual terminal). The VT may be specified
 
1553
either directly (&eg; <parameter>vt3</parameter>) or by a display using it
 
1554
(eg; <parameter>:2</parameter>).</para>
 
1555
<para>Permitted only on sockets of local displays and the global
 
1556
socket.</para>
 
1557
</listitem>
 
1558
</varlistentry>
 
1559
 
 
1560
<varlistentry>
 
1561
<term><command>listbootoptions</command></term>
 
1562
<listitem>
 
1563
<para>List available boot options.</para>
 
1564
<para>The return value contains these tokens:</para>
 
1565
<itemizedlist>
 
1566
<listitem>
 
1567
<para>A list of boot options (as shown in &kdm; itself).</para>
 
1568
</listitem>
 
1569
<listitem>
 
1570
<para>The default boot option.</para>
 
1571
</listitem>
 
1572
<listitem>
 
1573
<para>The current boot option.</para>
 
1574
</listitem>
 
1575
</itemizedlist>
 
1576
<para>The default and current option are zero-based indices into the list
 
1577
of boot options. If either one is unset or not determinable, it is -1.</para>
 
1578
</listitem>
 
1579
</varlistentry>
 
1580
 
 
1581
<varlistentry>
 
1582
<term><command>shutdown</command> (<parameter>reboot</parameter> |
 
1583
<parameter>halt</parameter>)
 
1584
[<parameter>=<replaceable>bootchoice</replaceable></parameter>]
 
1585
(<parameter>ask</parameter>|<parameter>trynow</parameter>|<parameter>forcenow</parameter>|<parameter>schedule</parameter>|<parameter>start
 
1586
(<parameter>-1</parameter>|<parameter>end
 
1587
(<parameter>force</parameter>|<parameter>forcemy</parameter>|<parameter>cancel)</parameter>)</parameter>)</parameter>)</term>
 
1588
<listitem>
 
1589
<para>Request a system shutdown, either a reboot or a halt/poweroff.</para>
 
1590
<para>An OS choice for the next boot may be specified from the list returned
 
1591
by <command>listbootoptions</command></para>
 
1592
<para>Shutdowns requested from per-display sockets are executed when the
 
1593
current session on that display exits.  Such a request may pop up a dialog
 
1594
asking for confirmation and/or authentication</para>
 
1595
<para><parameter>start</parameter> is the time for which the shutdown is
 
1596
scheduled.  If it starts with a plus-sign, the current time is added.  Zero
 
1597
means immediately.</para>
 
1598
<para><parameter>end</parameter> is the latest time at which the shutdown
 
1599
should be performed if active sessions are still running.  If it starts with
 
1600
a plus-sign, the start time is added.  -1 means wait infinitely.  If end is
 
1601
through and active sessions are still running, &kdm; can do one of the
 
1602
following:</para>
 
1603
<itemizedlist>
 
1604
<listitem><para><parameter>cancel</parameter> - give up the
 
1605
shutdown</para></listitem>
 
1606
<listitem><para><parameter>force</parameter> - shut down
 
1607
nonetheless</para></listitem>
 
1608
<listitem><para><parameter>forcemy</parameter> - shut down nonetheless if
 
1609
all active sessions belong to the requesting user.
 
1610
Only for per-display sockets.</para></listitem>
 
1611
</itemizedlist>
 
1612
<para><parameter>start</parameter> and <parameter>end</parameter> are
 
1613
specified in seconds since the &UNIX; epoch.</para>
 
1614
<para><parameter>trynow</parameter> is a synonym for <parameter>0 0
 
1615
cancel</parameter>, <parameter>forcenow</parameter> for <parameter>0 0
 
1616
force</parameter> and <parameter>schedule</parameter> for <parameter>0
 
1617
-1</parameter>.</para>
 
1618
<para><parameter>ask</parameter> attempts an immediate shutdown and
 
1619
interacts with the user if active sessions are still running.  Only for
 
1620
per-display sockets.</para>
 
1621
</listitem>
 
1622
</varlistentry>
 
1623
 
 
1624
<varlistentry>
 
1625
<term><command>shutdown cancel</command>
 
1626
[<parameter>local</parameter>|<parameter>global</parameter>}</term>
 
1627
<listitem>
 
1628
<para>Cancel a scheduled shutdown. The global socket always cancels the
 
1629
currently pending shutdown, while per-display sockets default to cancelling
 
1630
their queued request.</para>
 
1631
</listitem>
 
1632
</varlistentry>
 
1633
 
 
1634
<varlistentry>
 
1635
<term><command>shutdown status</command></term>
 
1636
<listitem>
 
1637
<para>Return a list with information about shutdowns.</para>
 
1638
<para>The entries are a comma-separated tuples of:</para>
 
1639
<itemizedlist>
 
1640
<listitem>
 
1641
<para>(<returnvalue>global</returnvalue>|<returnvalue>local</returnvalue>) -
 
1642
pending vs. queued shutdown. A local entry can be returned only by a
 
1643
per-display socket.</para>
 
1644
</listitem>
 
1645
<listitem><para>(<returnvalue>halt</returnvalue>|<returnvalue>reboot</returnvalue>)</para></listitem>
 
1646
<listitem><para>start</para></listitem>
 
1647
<listitem><para>end</para></listitem>
 
1648
<listitem><para>("ask"|"force"|"forcemy"|"cancel")</para></listitem>
 
1649
<listitem><para>Numeric user ID of the requesting user, -1 for the global
 
1650
socket.</para></listitem>
 
1651
<listitem><para>The next boot OS choice or "-" for none.</para></listitem>
 
1652
</itemizedlist>
 
1653
<para>New fields might be added later</para>
 
1654
</listitem>
 
1655
</varlistentry>
 
1656
 
 
1657
</variablelist>
 
1658
 
 
1659
<para>There are two ways of using the sockets:</para>
 
1660
<itemizedlist>
 
1661
<listitem>
 
1662
<para>Connecting them directly. FifoDir is exported as
 
1663
$<envar>DM_CONTROL</envar>; the name of per-display sockets can be derived
 
1664
from $<envar>DISPLAY</envar>.</para>
 
1665
</listitem>
 
1666
<listitem>
 
1667
<para>By using the <command>kdmctl</command> command (&eg; from within a
 
1668
shell script). Try <command>kdmctl</command> <option>-h</option> to find out
 
1669
more.</para>
 
1670
</listitem>
 
1671
</itemizedlist>
 
1672
 
 
1673
<para>Here is an example bash script <quote>reboot into FreeBSD</quote>:</para>
 
1674
 
 
1675
<programlisting>if kdmctl | grep -q shutdown; then
 
1676
  IFS=$'\t'
 
1677
  set -- `kdmctl listbootoptions`
 
1678
  if [ "$1" = ok ]; then
 
1679
    fbsd=$(echo "$2" | tr ' ' '\n' | sed -ne 's,\\s, ,g;/freebsd/I{p;q}')
 
1680
    if [ -n "$fbsd" ]; then
 
1681
      kdmctl shutdown reboot "=$fbsd" ask &gt; /dev/null
 
1682
    else
 
1683
      echo "FreeBSD boot unavailable."
 
1684
    fi
 
1685
  else
 
1686
    echo "Boot options unavailable."
 
1687
  fi
 
1688
else
 
1689
  echo "Cannot reboot system."
 
1690
fi</programlisting>
 
1691
 
 
1692
</sect1>
 
1693
</chapter>
 
1694
 
 
1695
<chapter id="Other-Information">
 
1696
<title>Other sources of information</title>
 
1697
 
 
1698
<para>Since &kdm; is descended from &xdm;, the <ulink
 
1699
url="man:xdm">xdm man page</ulink> may provide useful background
 
1700
information. For X-related problems try the man pages <ulink
 
1701
url="man:X">X</ulink> and <ulink url="man:startx">startx</ulink>. If you have
 
1702
questions about &kdm; that are not answered by this handbook, take advantage of
 
1703
the fact the &kdm; is provided under the terms of the &GNU;
 
1704
General Public License: look at the source code.
 
1705
</para>
 
1706
 
 
1707
</chapter>
 
1708
 
 
1709
 
 
1710
<chapter id="credits"><title>Credits and License</title>
 
1711
 
 
1712
<para>&kdm; is derived from, and includes code from,
 
1713
&xdm; &copy; Keith Packard, MIT X Consortium.</para>
 
1714
 
 
1715
<para>&kdm; 0.1 was written by &Matthias.Ettrich;.  Later versions till &kde;
 
1716
2.0.x were written by &Steffen.Hansen;.  Some new features for &kde; 2.1.x and
 
1717
a major rewrite for &kde; 2.2.x made by &Oswald.Buddenhagen;.</para>
 
1718
 
 
1719
<para>Other parts of the &kdm; code are copyright by the authors, and
 
1720
licensed under the terms of the <ulink url="common/gpl-license.html">&GNU;
 
1721
GPL</ulink>. Anyone is allowed to change &kdm; and redistribute the result
 
1722
as long as the names of the authors are mentioned.</para>
 
1723
 
 
1724
<para>&kdm; requires the &Qt; library, which is copyright Troll Tech AS.</para>
 
1725
 
 
1726
<para>Documentation contributors:
 
1727
<itemizedlist>
 
1728
 
 
1729
<listitem><para>Documentation written by &Steffen.Hansen;
 
1730
&Steffen.Hansen.mail;</para></listitem>
 
1731
 
 
1732
<listitem><para>Documentation extended by Gregor
 
1733
Zumstein<email>zumstein@ssd.ethz.ch</email>. Last update August 9,
 
1734
1998</para></listitem>
 
1735
 
 
1736
<listitem><para>Documentation revised for &kde; 2 by &Neal.Crook;
 
1737
&Neal.Crook.mail;. Last update August 6,
 
1738
2000</para></listitem>
 
1739
 
 
1740
<listitem><para>Documentation extended and revised for &kde; 2.2 and 4.0 by 
 
1741
&Oswald.Buddenhagen; &Oswald.Buddenhagen.mail;.  Last update December 7,
 
1742
2007</para></listitem>
 
1743
 
 
1744
</itemizedlist></para>
 
1745
 
 
1746
<para>Documentation copyright &Steffen.Hansen;, Gregor Zumstein, &Neal.Crook;
 
1747
and &Oswald.Buddenhagen;.
 
1748
This document also includes large parts of the &xdm; man page,
 
1749
which is &copy; Keith Packard.
 
1750
The theme format documentation is heavily based on the GDM manual,
 
1751
which is &copy; Martin K. Petersen, George Lebl, &RedHat;, Inc. and
 
1752
Sun Microsystems, Inc.</para>
 
1753
 
 
1754
<!-- TRANS:CREDIT_FOR_TRANSLATORS -->
 
1755
 
 
1756
&underFDL;
 
1757
 
 
1758
</chapter>
 
1759
 
 
1760
<glossary id="glossary">
 
1761
<title>Glossary</title>
 
1762
 
 
1763
<glossentry id="gloss-greeter">
 
1764
<glossterm>greeter</glossterm>
 
1765
<glossdef><para>The greeter is the login dialog, &ie; the part of &kdm;
 
1766
which the user sees.</para>
 
1767
</glossdef>
 
1768
</glossentry>
 
1769
 
 
1770
<glossentry>
 
1771
<glossterm id="gloss-entropy">entropy</glossterm>
 
1772
<glossdef><para>The entropy of a system is the measure of its
 
1773
unpredictability.  This is used during the generation of random numbers.</para>
 
1774
</glossdef>
 
1775
</glossentry>
 
1776
 
 
1777
</glossary>
 
1778
</book>
 
1779
<!--
 
1780
Local Variables:
 
1781
mode: xml
 
1782
sgml-omittag: nil
 
1783
sgml-shorttag: t
 
1784
End:
 
1785
-->
 
1786