2
<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN"
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 -->
17
<book lang="&language;">
19
<title>The &kdm; Handbook</title>
23
&Oswald.Buddenhagen; &Oswald.Buddenhagen.mail;
25
<othercredit role="developer">
26
&Oswald.Buddenhagen; &Oswald.Buddenhagen.mail;
27
<contrib>Developer</contrib>
29
<othercredit role="reviewer">
30
&Lauri.Watts; &Lauri.Watts.mail;
31
<contrib>Reviewer</contrib>
34
<!-- TRANS:ROLES_OF_TRANSLATORS -->
40
<holder>&Neal.Crook;</holder>
44
<year>2002</year><year>2007</year>
45
<holder>&Oswald.Buddenhagen;</holder>
50
<holder>&Lauri.Watts;</holder>
53
<legalnotice>&FDLNotice;</legalnotice>
55
<date>2007-12-07</date>
56
<releaseinfo>0.06.00</releaseinfo>
59
<para>This document describes &kdm; the &kde; Display Manager. &kdm;
60
is also known as the <quote>Login Manager</quote>.</para>
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>
73
<!-- ********************************************************************** -->
74
<chapter id="introduction">
75
<title>Introduction</title>
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>
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
92
* Sound transparency (if Ade can tell me how!)
93
* Pull in all options from the KControl Module
97
<chapter id="quickstart">
98
<title>Quick Start Guide</title>
100
<para>This is a quick start guide for users who fit the following
105
<para>X is configured and works with the command
106
<command>startx</command> from the commandline.</para>
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
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>
121
<title>Setting up a Default Session</title>
123
<para>Create or open the file <filename>~/.xinitrc</filename></para>
124
<para>If you already have a working <filename>~/.xinitrc</filename>, go to
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>
136
<step><para>Make a link as follows:</para>
137
<screen><userinput><command>ln</command> <option>-s</option> <parameter>~/.xinitrc ~/.xsession</parameter></userinput></screen>
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
145
<para>As <systemitem class="username">root</systemitem>, type
146
<userinput><command>kdm</command></userinput> at the prompt.</para>
148
<para>You should see a login window, which is described more fully in <xref
149
linkend="login" />.</para>
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>
155
<para>If you have other users to configure, you should repeat the procedure
156
above for each of them.</para>
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>
168
<title>The Login Window</title>
170
<para> The user interface to &kdm; consists of dialog boxes. The main
171
dialog box contains:</para>
175
<para>Widgets allowing you to authenticate. When the "classic" authentication
176
method is chosen, these are:</para>
180
<para>A <guilabel>Username:</guilabel> field for you to enter your
185
<para>A <guilabel>Password:</guilabel> field for you to enter your
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>
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
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>
212
<para>A <guibutton>Menu</guibutton> button that opens an action menu
213
with the following items:</para>
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>
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>
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>
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>
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>
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>
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>
269
<para>(Optionally) A <guimenuitem>Shutdown...</guimenuitem> item that displays
270
the <guilabel>Shutdown</guilabel> dialog box.</para>
278
<para>The <guilabel>Shutdown</guilabel> dialog box presents a set of
279
buttons that allow one of these actions to be executed:</para>
283
<term>Turn Off Computer</term>
285
<para>Shut the system down in a controlled manner, ready for
290
<term>Restart Computer</term>
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>
299
<term>Schedule...</term>
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>
307
<para>Pressing the <guibutton>Cancel</guibutton> button returns to the
308
main &kdm; dialog box. </para>
312
<!-- *********************************************************************** -->
313
<chapter id="configuring-kdm">
314
<title>Configuring &kdm;</title>
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>
319
<para>When &kdm; starts up, it reads its configuration from the folder
320
<filename class="directory">$<envar>KDEDIR</envar>/share/config/kdm/</filename>
322
be <filename class="directory">/etc/kde4/kdm/</filename> or something else
323
on your system).</para>
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
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>
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).
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
356
<!-- this sect is up to date for 4.4-->
357
<sect1 id="kdm-kcontrol-module">
360
<author>&Thomas.Tanghus; &Thomas.Tanghus.mail;</author>
361
<author>&Steffen.Hansen; &Steffen.Hansen.mail;</author>
362
<author>&Mike.McBride; &Mike.McBride.mail;</author>
366
<title>The Login Manager &systemsettings; Module</title>
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
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>
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
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>,
390
linkend="kdmconfig-theme"><guilabel>Theme</guilabel></link>,
392
linkend="kdmconfig-shutdown"><guilabel>Shutdown</guilabel></link>,
393
<link linkend="kdmconfig-users"><guilabel>Users</guilabel></link> and
395
linkend="kdmconfig-convenience"><guilabel>Convenience</guilabel></link>.</para>
397
<para>You can switch between the sections using the tabs at the top of
400
<note><para>You can only make changes if you run this module with superuser rights.</para></note>
402
<sect2 id="kdmconfig-general">
403
<title>General</title>
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
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>
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>
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>
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>
434
<para>The <guilabel>General:</guilabel> font is used in all other places in the
438
<para>The <guilabel>Failure:</guilabel> font is used when a login
442
<para>The <guilabel>Greeting:</guilabel> font is the font used for the title
443
(Greeting String).</para>
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>
452
<sect2 id="kdmconfig-dialog">
453
<title>Dialog</title>
455
<para>From this page you can change the visual appearance of &kdm;,
456
&kde;'s graphical login manager in non themed mode.</para>
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>
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>
471
<para>If you chose <guilabel>Show logo</guilabel> you can now choose a
476
<para>Drop an image file on the image button.</para>
479
<para>Click on the image button and select a new image from the image chooser
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>
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>
498
<sect2 id="kdmconfig-background">
499
<title>Background</title>
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>
505
<para>This tab is comprised of three areas:</para>
509
<para>An area for selecting background images</para>
512
<para>The background Preview Monitor</para>
515
<para>An area for determining the background color</para>
521
<term>Preview Monitor</term>
523
<para>This is a preview window. It will give you a sense of what to
524
expect with each change.</para>
529
<term><guilabel>Background</guilabel></term>
531
<para>This section allows you to load a wallpaper on top of the color
532
gradient chosen in the section below.</para>
534
<para>There are three choices available here:</para>
538
<term><guilabel>No Picture</guilabel></term>
540
<para>No picture background will be shown. The color and pattern
541
choices below will still take effect.</para>
546
<term><guilabel>Picture</guilabel></term>
548
<para>A single picture will be used as the background for the selected
550
<para>How this picture is positioned and scaled can be fine tuned
556
<term><guilabel>Slide show</guilabel></term>
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>
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>
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>
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>
584
<term><guilabel>Options</guilabel></term>
587
<variablelist><!-- Positioning -->
588
<title><guilabel>Position:</guilabel></title>
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>
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>
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>
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.
615
<term>Tiled Maxpect</term>
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>
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>
630
<term>Centered Auto fit</term>
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.
639
<term>Scale & Crop</term>
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>
648
<variablelist><!-- Colors -->
650
<term><guilabel>Colors:</guilabel></term>
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
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>
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>
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>
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>
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>
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>
709
<term><replaceable>Pattern</replaceable></term>
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>
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>
730
<term><guilabel>Blending:</guilabel></term>
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>
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
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>
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>
767
<para>To add a third party application (⪚
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>
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>
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>
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.
788
<para>Finally you can set the <guilabel>Size of the background
789
cache:</guilabel>. The default (2048 KB) is usually a safe
794
<sect3 id="bkgnd-patterns">
795
<title>Adding, Removing and Modifying Wallpapers and Patterns</title>
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>
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>
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>
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>
820
<para>To add a new pattern for a single user, add the files to
822
class="directory">$<envar>KDEHOME</envar>/share/apps/kdm/patterns/</filename>.</para>
824
<para>For best results, the pattern should be a grayscale PNG file.</para>
830
<sect2 id="kdmconfig-theme">
832
<para>This page consists of three sections:</para>
834
<para>A list of installed themes, where you can select the one to be used.</para>
836
<para>A screenshot with a preview of the selected theme and additional
837
information like <guilabel>Copyright</guilabel> and <guilabel>Description</guilabel>.</para>
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>
842
<note><para>The settings on this page are only available in themed mode.</para></note>
846
<sect2 id="kdmconfig-shutdown">
847
<title>Shutdown</title>
849
<para><guilabel>Allow Shutdown</guilabel></para>
850
<para>Use this drop down box to choose who is allowed to shut down:</para>
853
<para><guilabel>Nobody</guilabel>: No one can shutdown the computer using
854
&kdm;. You must be logged in, and execute a command.</para>
857
<para><guilabel>Everybody</guilabel>: Everyone can shutdown the computer using
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>
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>
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
875
<command>/sbin/reboot</command>.</para>
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>
884
<sect2 id="kdmconfig-users">
887
<para>From here you can change the way users are represented in the
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>
896
<para>You may disable the user list in &kdm; entirely in the
897
<guilabel>Users</guilabel> section. You can choose from:</para>
901
<term><guilabel>Show list</guilabel></term>
903
<para>Only show users you have specifically not excluded in the list
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
913
<term><guilabel>Autocompletion</guilabel></term>
915
<para>If this option is checked, &kdm; will automatically complete user names while
916
they are typed in the line edit.</para>
920
<term><guilabel>Inverse selection</guilabel></term>
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
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>
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>
940
<para>If you permit a user image, then you can configure the <guilabel>
941
User Image Source</guilabel>:</para>
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.
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>
958
<sect2 id="kdmconfig-convenience">
959
<title>Convenience</title>
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>
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, ⪚ a private computer at home. </para></important>
971
<sect3 id="loginmanager-convenience-autologin">
972
<title>Automatic Login</title>
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>
978
<para>You can choose the account to be used for automatic login from
979
the list labeled <guilabel>User:</guilabel>.</para>
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>
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>
991
<sect3 id="loginmanager-convenience-preselecteduser">
992
<title><guilabel>Preselected User</guilabel></title>
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>
1005
<sect3 id="loginmanager-convenience-nopasswd">
1006
<title><guilabel>Password-Less Login</guilabel></title>
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>
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
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, ⪚
1021
<systemitem>guest</systemitem>.</para></important>
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>
1039
<!-- ************************************************************ -->
1040
<chapter id="configuring-your-system-for-kdm">
1041
<title>Configuring your system to use &kdm;</title>
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>
1047
<sect1 id="setting-up-kdm">
1048
<title>Setting up &kdm;</title>
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>
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
1066
# 6 - reboot (Do NOT set initdefault to this)
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>
1078
<para>The runlevel with graphical login (&xdm;) for some common &Linux;
1079
distributions is:</para>
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>
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>
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>
1095
<screen><command>/sbin/init <option>3</option></command></screen>
1097
<para>Instead of the number <option>3</option> you should specify the
1098
appropriate runlevel for console mode on your system.</para>
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>
1112
<para>Now it's time for you to test &kdm; by issuing the following
1115
<screen><command>kdm <option>-nodaemon</option></command>
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;
1126
<para>For example:</para>
1128
<screen><command>export
1129
<option>KDEDIR=<replaceable>/opt/kde</replaceable></option></command>
1131
<option>QTDIR=<replaceable>/usr/lib/qt4</replaceable></option></command>
1133
<option>PATH=<replaceable>$KDEDIR/bin:$QTDIR/bin:$PATH</replaceable></option></command>
1135
<option>LD_LIBRARY_PATH=<replaceable>$KDEDIR/lib:$QTDIR/lib</replaceable></option></command>
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>
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>
1147
<para>For &RedHat;, edit <filename>/etc/inittab</filename>, look for this
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>
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>
1164
<para>For &SuSE;, edit <filename>/sbin/init.d/xdm</filename> to add a
1167
<screen>. /etc/rc.config
1169
export DISPLAYMANAGER</screen>
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>
1178
<listitem><para>Most other distributions are a variation of one of
1179
these.</para></listitem>
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
1186
<screen><command>/sbin/init <option>5</option></command>
1189
<para>Instead of the number <option>5</option> you should specify the
1190
appropriate runlevel for running X11 on your system.</para>
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>
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>
1203
<para>This usually involves changing the line:</para>
1204
<screen>id:3:initdefault:</screen>
1206
<screen>id:5:initdefault:</screen>
1208
<para>When you reboot your system, you should end up with the
1209
graphical &kdm; login dialog.</para>
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
1223
<chapter id="different-window-managers-with-kdm">
1224
<title>Supporting multiple window managers</title>
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>
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>
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>
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
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
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>
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>
1265
<para>There are also three <quote>magic</quote> types:</para>
1269
<term>default</term>
1272
The default session for &kdm; is normally &kde; but can be configured by the
1273
system administrator.
1281
The Custom session will run the user's ~/.xsession if it exists, falling
1282
back to the default session otherwise.
1287
<term>failsafe</term>
1290
Failsafe will run a very plain session, and is useful only for debugging
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
1306
<chapter id="xdmcp-with-kdm">
1307
<title>Using &kdm; for Remote Logins (&XDMCP;)</title>
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>
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>
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
1330
<chapter id="advanced-topics">
1331
<title>Advanced Topics</title>
1333
<sect1 id="command-sockets">
1334
<title>Command Sockets</title>
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>
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>
1347
<para>There are two types of sockets: the global one (dmctl) and the
1348
per-display ones (dmctl-<display>).</para>
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---
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>
1360
<para>The command is terminated by a newline (<token>\n</token>).</para>
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 (⪚
1365
<returnvalue>perm</returnvalue>, <returnvalue>noent</returnvalue>, &etc;)
1366
followed by a longer explanation.</para>
1369
<title>Global commands:</title>
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>
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>
1384
<term><command>resume</command></term>
1386
<para>Force return from console mode, even if TTY logins are still
1392
<term><command>manage</command> <parameter>display</parameter>
1393
[<parameter>display_class</parameter>
1394
[<parameter>auth_name</parameter> <parameter>auth_data</parameter>]]</term>
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"/>.
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>
1408
<term><command>unmanage</command> <parameter>display</parameter></term>
1410
<para>Stop managing the named foreign display.</para>
1417
<title>Per-display commands:</title>
1419
<term><command>lock</command></term>
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>
1426
<term><command>unlock</command></term>
1428
<para>Reverse the effect of <command>lock</command>, and re-enable
1429
auto-relogin.</para>
1433
<term><command>suicide</command></term>
1435
<para>The currently running session is forcibly terminated. No auto-relogin
1436
is attempted, but a scheduled "login" command will be executed.</para>
1442
<title>Commands for all sockets</title>
1445
<term><command>caps</command></term>
1447
<para>Returns a list of this socket's capabilities:</para>
1451
<term><returnvalue>kdm</returnvalue></term>
1453
<para>identifies &kdm;, in case some other DM implements this protocol,
1458
<term><returnvalue>list</returnvalue>, <returnvalue>lock</returnvalue>,
1459
<returnvalue>suicide</returnvalue>, <returnvalue>login</returnvalue>,
1460
<returnvalue>resume</returnvalue>, <returnvalue>manage</returnvalue>
1463
<para>The respective command is supported</para>
1467
<term><returnvalue>bootoptions</returnvalue></term>
1469
<para>The <command>listbootoptions</command> command and the
1470
<option>=</option> to <command>shutdown</command> are supported</para>
1474
<term><returnvalue>shutdown <list></returnvalue></term>
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>
1482
<term><returnvalue>nuke <list></returnvalue></term>
1484
<para>Forced shutdown may be performed by the listed users.</para>
1488
<term><returnvalue>nuke</returnvalue></term>
1490
<para>Forced shutdown may be performed by everybody</para>
1494
<term><returnvalue>reserve <number></returnvalue></term>
1496
<para>Reserve displays are configured, and <returnvalue>number</returnvalue>
1497
are available at this time</para>
1506
<term><command>list</command> [<parameter>all</parameter> |
1507
<parameter>alllocal</parameter>]</term>
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>
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>
1533
<para>New fields may be added in the future.</para>
1538
<term><command>reserve</command></term>
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
1549
<term><command>activate</command>
1550
(<parameter>vt</parameter>|<parameter>display</parameter>)</term>
1552
<para>Switch to a particular VT (virtual terminal). The VT may be specified
1553
either directly (⪚ <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
1561
<term><command>listbootoptions</command></term>
1563
<para>List available boot options.</para>
1564
<para>The return value contains these tokens:</para>
1567
<para>A list of boot options (as shown in &kdm; itself).</para>
1570
<para>The default boot option.</para>
1573
<para>The current boot option.</para>
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>
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>
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
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>
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>
1625
<term><command>shutdown cancel</command>
1626
[<parameter>local</parameter>|<parameter>global</parameter>}</term>
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>
1635
<term><command>shutdown status</command></term>
1637
<para>Return a list with information about shutdowns.</para>
1638
<para>The entries are a comma-separated tuples of:</para>
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>
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>
1653
<para>New fields might be added later</para>
1659
<para>There are two ways of using the sockets:</para>
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>
1667
<para>By using the <command>kdmctl</command> command (⪚ from within a
1668
shell script). Try <command>kdmctl</command> <option>-h</option> to find out
1673
<para>Here is an example bash script <quote>reboot into FreeBSD</quote>:</para>
1675
<programlisting>if kdmctl | grep -q shutdown; then
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 > /dev/null
1683
echo "FreeBSD boot unavailable."
1686
echo "Boot options unavailable."
1689
echo "Cannot reboot system."
1695
<chapter id="Other-Information">
1696
<title>Other sources of information</title>
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.
1710
<chapter id="credits"><title>Credits and License</title>
1712
<para>&kdm; is derived from, and includes code from,
1713
&xdm; © Keith Packard, MIT X Consortium.</para>
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>
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>
1724
<para>&kdm; requires the &Qt; library, which is copyright Troll Tech AS.</para>
1726
<para>Documentation contributors:
1729
<listitem><para>Documentation written by &Steffen.Hansen;
1730
&Steffen.Hansen.mail;</para></listitem>
1732
<listitem><para>Documentation extended by Gregor
1733
Zumstein<email>zumstein@ssd.ethz.ch</email>. Last update August 9,
1734
1998</para></listitem>
1736
<listitem><para>Documentation revised for &kde; 2 by &Neal.Crook;
1737
&Neal.Crook.mail;. Last update August 6,
1738
2000</para></listitem>
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>
1744
</itemizedlist></para>
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 © Keith Packard.
1750
The theme format documentation is heavily based on the GDM manual,
1751
which is © Martin K. Petersen, George Lebl, &RedHat;, Inc. and
1752
Sun Microsystems, Inc.</para>
1754
<!-- TRANS:CREDIT_FOR_TRANSLATORS -->
1760
<glossary id="glossary">
1761
<title>Glossary</title>
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>
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>