Git commit da486e3d3ae316da38ee5c236566beda5b3974e4 by Sebastian K?gler. Committed on 12/01/2014 at 18:00. Pushed by sebas into branch 'master'.
Delete kdm docs Thanks Burkhard for noticing! CCMAIL:lueck at hube-lueck.de M +0 -1 doc/CMakeLists.txt D +0 -6 doc/kdm/CMakeLists.txt D +0 -1786 doc/kdm/index.docbook D +0 -2402 doc/kdm/kdmrc-ref.docbook D +0 -1348 doc/kdm/theme-ref.docbook http://commits.kde.org/kde-workspace/da486e3d3ae316da38ee5c236566beda5b3974e4 diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt index 1845586..bd0c3af 100644 --- a/doc/CMakeLists.txt +++ b/doc/CMakeLists.txt @@ -1,4 +1,3 @@ -add_subdirectory(kdm) add_subdirectory(klipper) add_subdirectory(kfontview) add_subdirectory(kmenuedit) diff --git a/doc/kdm/CMakeLists.txt b/doc/kdm/CMakeLists.txt deleted file mode 100644 index 02f644e..0000000 --- a/doc/kdm/CMakeLists.txt +++ /dev/null @@ -1,6 +0,0 @@ -set(confproc ${KDEBASE_WORKSPACE_SOURCE_DIR}/kdm/confproc.pl) -set(confdef ${KDEBASE_WORKSPACE_SOURCE_DIR}/kdm/config.def) -set(confdoc ${CMAKE_CURRENT_SOURCE_DIR}/kdmrc-ref.docbook) -add_custom_target(ref - COMMAND ${PERL_EXECUTABLE} -w ${confproc} --doc ${confdef} ${confdoc}) -kdoctools_create_handbook(index.docbook INSTALL_DESTINATION ${HTML_INSTALL_DIR}/en) diff --git a/doc/kdm/index.docbook b/doc/kdm/index.docbook deleted file mode 100644 index e84ee00..0000000 --- a/doc/kdm/index.docbook +++ /dev/null @@ -1,1786 +0,0 @@ -<?xml version="1.0" ?> -<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" -"dtd/kdex.dtd" [ - <!ENTITY kappname "&kdm;"> - <!ENTITY package "kdebase"> - <!ENTITY kdmrc "<filename>kdmrc</filename>"> - <!ENTITY ksmserver "<application>ksmserver</application>"> - <!ENTITY kdesktop "<application>kdesktop</application>"> - <!ENTITY XDMCP "<acronym>XDMCP</acronym>"> - <!ENTITY xdm "<application>xdm</application>"> - <!ENTITY kdmrc-ref SYSTEM "kdmrc-ref.docbook"> - <!ENTITY theme-ref SYSTEM "theme-ref.docbook"> - <!ENTITY % addindex "INCLUDE"> - <!ENTITY % English "INCLUDE" > <!-- change language only here --> -]> - -<book id="kdm" lang="&language;"> -<bookinfo> -<title>The &kdm; Handbook</title> - -<authorgroup> -<author> -&Oswald.Buddenhagen; &Oswald.Buddenhagen.mail; -</author><!-- -<othercredit role="developer"> -&Oswald.Buddenhagen; &Oswald.Buddenhagen.mail; -<contrib>Developer</contrib> -</othercredit> -<othercredit role="reviewer"> -&Lauri.Watts; &Lauri.Watts.mail; -<contrib>Reviewer</contrib> -</othercredit> --> - -<!-- TRANS:ROLES_OF_TRANSLATORS --> - -</authorgroup> - -<copyright> -<year>2000</year> -<holder>&Neal.Crook;</holder> -</copyright> - -<copyright> -<year>2002</year><year>2007</year> -<holder>&Oswald.Buddenhagen;</holder> -</copyright> - -<copyright> -<year>2003</year> -<holder>&Lauri.Watts;</holder> -</copyright> - -<legalnotice>&FDLNotice;</legalnotice> - -<date>2007-12-07</date> -<releaseinfo>0.06.00</releaseinfo> - -<abstract> -<para>This document describes &kdm; the &kde; Display Manager. &kdm; -is also known as the <quote>Login Manager</quote>.</para> -</abstract> - -<keywordset> -<keyword>KDE</keyword> -<keyword>kdm</keyword> -<keyword>xdm</keyword> -<keyword>display manager</keyword> -<keyword>desktop manager</keyword> -<keyword>login manager</keyword> -</keywordset> -</bookinfo> - -<!-- ********************************************************************** --> -<chapter id="introduction"> -<title>Introduction</title> - -<para>&kdm; provides a graphical interface that allows you to log in to a -system. It prompts for login (username) and password, authenticates the user -and starts a <quote>session</quote>. &kdm; is superior to &xdm;, the X -Display Manager, in a number of ways.</para> - -</chapter> - -<!-- Chapters to write --> -<!-- * Just enough config to get it to run and login to KDE - * Adding more session types (GNOME, etc) - * Adding other customizations to XSession (ssh/gpg-agent, etc) - * Further customization to KDM (via the kcontrol module, and by - hand) - * XDMCP by query - * XDMCP by broadcast - * Sound transparency (if Ade can tell me how!) - * Pull in all options from the KControl Module - * More resources ---> - -<chapter id="quickstart"> -<title>Quick Start Guide</title> - -<para>This is a quick start guide for users who fit the following -pattern:</para> - -<itemizedlist> -<listitem> -<para>X is configured and works with the command -<command>startx</command> from the commandline.</para> -</listitem> -<listitem> -<para>Each user will generally only use a single window manager or -desktop environment, and does not change this choice very -often, or is comfortable editing a single text file in order to change -their choice.</para> -</listitem> -</itemizedlist> - -<para>This scenario will be sufficient for many environments where a single -user or several users normally boot the computer and log into their -preferred environment.</para> - -<procedure> -<title>Setting up a Default Session</title> -<step> -<para>Create or open the file <filename>~/.xinitrc</filename></para> -<para>If you already have a working <filename>~/.xinitrc</filename>, go to -the next step</para> -</step> -<step> -<para>If one does not already exist, add a line to the -<filename>~/.xinitrc</filename> to start your preferred window manager -or desktop environment.</para> -<para>For &kde; you should enter:</para> -<screen><userinput>startkde</userinput></screen> -<para>For other window managers or desktop environments, you should -look in their documentation for the correct command.</para> -</step> -<step><para>Make a link as follows:</para> -<screen><userinput><command>ln</command> <option>-s</option> <parameter>~/.xinitrc ~/.xsession</parameter></userinput></screen> -</step> -</procedure> - -<para>At this point, typing <userinput><command>startx</command></userinput> -on the commandline should start X, with a &kde; session. The next task is -to try &kdm;.</para> - -<para>As <systemitem class="username">root</systemitem>, type -<userinput><command>kdm</command></userinput> at the prompt.</para> - -<para>You should see a login window, which is described more fully in <xref -linkend="login" />.</para> - -<para>Typing your normal username and password in the fields provided, and -leaving <option>default</option> selected as the session type should now -open a &kde; session for your user.</para> - -<para>If you have other users to configure, you should repeat the procedure -above for each of them.</para> - -<note> -<para>This is a quick guide to getting up and running only. You probably -will want to customize &kdm; further, for example, to hide the names of the -system accounts, to allow further sessions, and much more. Please read -through the rest of this manual to find out how to do these things.</para> -</note> - -</chapter> - -<chapter id="login"> -<title>The Login Window</title> - -<para> The user interface to &kdm; consists of dialog boxes. The main -dialog box contains:</para> -<itemizedlist> - -<listitem> -<para>Widgets allowing you to authenticate. When the "classic" authentication -method is chosen, these are:</para> -<itemizedlist> - -<listitem> -<para>A <guilabel>Username:</guilabel> field for you to enter your -username.</para> -</listitem> - -<listitem> -<para>A <guilabel>Password:</guilabel> field for you to enter your -password.</para> -</listitem> - -</itemizedlist> -</listitem> - -<listitem> -<para>(Optionally) a list containing entries with the name and graphical -image of each user (for example, a digitized photograph). -Clicking a list entry is equivalent to typing the associated username -into the <guilabel>Username:</guilabel> field.</para> -</listitem> - -<listitem> -<para>(Optionally) a region to the right of or above the -authentication area which can be used to display either a static image or an -analog clock.</para> -</listitem> - -<listitem> -<para>A <guibutton>Login</guibutton> button that validates the -username/password combination and attempts to start a session of the -selected type.</para> -</listitem> - -<listitem> -<para>A <guibutton>Menu</guibutton> button that opens an action menu -with the following items:</para> -<itemizedlist> - -<listitem> -<para>(Optionally) A <guimenuitem>Session Type</guimenuitem> item -to choose the type of session (desktop environment, window manager) to start. -See <xref linkend="different-window-managers-with-kdm"/> to find out -how to configure different session types.</para> -</listitem> - -<listitem> -<para>(Optionally) A <guimenuitem>Authentication Method</guimenuitem> item -to switch between different authentication methods like the classical -username+password, smartcard, biometry, &etc; The actual authenticators -are combinations of <acronym>PAM</acronym> modules and matching frontend -modules (<quote>conversation plugins</quote>). See -<xref linkend="option-pluginslogin"/>.</para> -</listitem> - -<listitem> -<para>(Optionally on local displays) A -<guimenuitem>Switch User...</guimenuitem> item to switch between local -sessions running on different virtual terminals of this computer.</para> -</listitem> - -<listitem> -<para>(Optionally on local displays) A -<guimenuitem>Restart X Server</guimenuitem> item -that terminates the currently running &X-Server;, starts a new one and -displays the login dialog again. You can use this if the display content -seems to be broken somehow.</para> -</listitem> - -<listitem> -<para>(Optionally on remote displays) A -<guimenuitem>Close Connection</guimenuitem> -item that closes the connection to the &XDMCP; server you are currently -connected to. If you got to this server through a host chooser, this will -bring you back to the chooser, otherwise it will only reset the &X-Server; -and bring up the login dialog again.</para> -</listitem> - -<listitem> -<para>(Optionally on local displays) A -<guimenuitem>Remote Login</guimenuitem> item that displays a host chooser -dialog with &XDMCP; servers one can log into remotely.</para> -</listitem> - -<listitem> -<para>(Optionally on local displays) A <guimenuitem>Console Mode</guimenuitem> -item that terminates graphical login and leaves you at the console. See -<xref linkend="option-consolettys"/> and -<xref linkend="option-servertty"/>.</para> -</listitem> - -<listitem> -<para>(Optionally) A <guimenuitem>Shutdown...</guimenuitem> item that displays -the <guilabel>Shutdown</guilabel> dialog box.</para> -</listitem> - -</itemizedlist> -</listitem> - -</itemizedlist> - -<para>The <guilabel>Shutdown</guilabel> dialog box presents a set of -buttons that allow one of these actions to be executed:</para> - -<variablelist> -<varlistentry> -<term>Turn Off Computer</term> -<listitem> -<para>Shut the system down in a controlled manner, ready for -power-down.</para> -</listitem> -</varlistentry> -<varlistentry> -<term>Restart Computer</term> -<listitem> -<para>Shut the system down and reboot. For systems that use -<application>Lilo</application> or <application>Grub</application>, -an optional drop down box allows you to select a particular operating system -to be used for the reboot.</para> -</listitem> -</varlistentry> -<varlistentry> -<term>Schedule...</term> -<listitem> -<para>If this option is enabled, you may use it to enter a more complex -shutdown dialog. See <xref linkend="option-scheduledsd"/> for details.</para> -</listitem> -</varlistentry> -</variablelist> - -<para>Pressing the <guibutton>Cancel</guibutton> button returns to the -main &kdm; dialog box. </para> - -</chapter> - -<!-- *********************************************************************** --> -<chapter id="configuring-kdm"> -<title>Configuring &kdm;</title> - -<para>This chapter assumes that &kdm; is already up and running on your -system, and that you simply want to change its behavior in some way.</para> - -<para>When &kdm; starts up, it reads its configuration from the folder -<filename class="directory">$<envar>KDEDIR</envar>/share/config/kdm/</filename> -(this may -be <filename class="directory">/etc/kde4/kdm/</filename> or something else -on your system).</para> - -<para>The main configuration file is &kdmrc;; all other files are -referenced from there and could be stored under any name anywhere on -the system - but usually that would not make much sense for obvious -reasons (one particular exception is referencing configuration files -of an already installed &xdm; - however when a new &kdm; is installed, -it will import settings from those files if it finds an already installed -&xdm;).</para> - -<para>Since &kdm; must run before any user is logged in, it is not -associated with any particular user. Therefore, it is not possible to have -user-specific configuration files; all users share the common &kdmrc;. It -follows from this that the configuration of &kdm; can only be altered by -those users that have write access to -<filename>$<envar>KDEDIR</envar>/share/config/kdm/kdmrc</filename> (normally -restricted to system administrators logged in as <systemitem -class="username">root</systemitem>).</para> - -<para>You can view the &kdmrc; file currently in use on your system, and you -can configure &kdm; by editing this file. Alternatively, you can use the -graphical configuration tool provided by the &systemsettings; (the -<guilabel>Login Screen</guilabel> module in the <guilabel>System Administration</guilabel> category). -</para> - -<para>The remainder of this chapter describes configuration of &kdm; -via the &systemsettings; module, and the <link linkend="kdm-files">next -chapter</link> describes the options available in &kdmrc; itself. If -you only need to configure for local users, the &systemsettings; module -should be sufficient for your needs. If you need to configure remote -logins, or have multiple &kdm; sessions running, you will need to read -on.</para> - -<!-- this sect is up to date for 4.4--> -<sect1 id="kdm-kcontrol-module"> -<sect1info> -<authorgroup> -<author>&Thomas.Tanghus; &Thomas.Tanghus.mail;</author> -<author>&Steffen.Hansen; &Steffen.Hansen.mail;</author> -<author>&Mike.McBride; &Mike.McBride.mail;</author> -</authorgroup> -</sect1info> - -<title>The Login Manager &systemsettings; Module</title> - -<para>Using this module, you can configure the &kde; graphical login -manager, &kdm;. You can change how the login screen looks, who has -access using the login manager and who can shutdown the -computer.</para> - -<note><para>All settings will be written to the configuration file -&kdmrc;, which in its original state has many comments to help you -configure &kdm;. Using this &systemsettings; module will strip these -comments from the file. All available options in &kdmrc; are covered -in <xref linkend="kdm-files"/>.</para> - -<para>The options listed in this chapter are cross referenced with -their equivalents in &kdmrc;. All options available in the &systemsettings; -module are also available directly in &kdmrc; but the reverse is not -true.</para></note> - -<para>In order to organize all of these options, this module is -divided into several sections: <link -linkend="kdmconfig-general"><guilabel>General</guilabel></link>, -<link linkend="kdmconfig-dialog"><guilabel>Dialog</guilabel></link>, <link -linkend="kdmconfig-background"><guilabel>Background</guilabel></link>, -<link -linkend="kdmconfig-theme"><guilabel>Theme</guilabel></link>, -<link -linkend="kdmconfig-shutdown"><guilabel>Shutdown</guilabel></link>, -<link linkend="kdmconfig-users"><guilabel>Users</guilabel></link> and -<link -linkend="kdmconfig-convenience"><guilabel>Convenience</guilabel></link>.</para> - -<para>You can switch between the sections using the tabs at the top of -the window.</para> - -<note><para>You can only make changes if you run this module with superuser rights.</para></note> - -<sect2 id="kdmconfig-general"> -<title>General</title> - -<para>First you have a drop down box to choose the language for -your login box, corresponding to setting <option>Language</option> in -&kdmrc;.</para> - -<para>In the <guilabel>Appearance</guilabel> section you have an option to use -&kdm; in themed mode. If <guilabel>Use themed greeter</guilabel> is checked, -the settings on the <guilabel>Dialog</guilabel> and <guilabel>Background</guilabel> -pages cannot be configured separately.</para> - -<para>While &kde;'s style depends on the settings of the user logged -in, the style used by &kdm; can be configured using the <guilabel>GUI -style:</guilabel> and <guilabel>Color scheme:</guilabel> options. -These correspond to the keys <link -linkend="option-guistyle"><option>GUIStyle</option></link> and <link -linkend="option-colorscheme"><option>ColorScheme</option></link> in -&kdmrc; respectively.</para> - -<para>From the <guilabel>Fonts</guilabel> section of this page you can change the fonts used in the -login window. Only fonts available to all users are available here, not -fonts you have installed on a per user basis.</para> - -<para>You can select three different font styles in this section -(<guilabel>General:</guilabel>, <guilabel>Failure:</guilabel>, -<guilabel>Greeting:</guilabel>). When you click on the -<guibutton>Choose...</guibutton> button a dialog appears from which you can -select the new characteristics for the font style.</para> - -<itemizedlist> -<listitem> -<para>The <guilabel>General:</guilabel> font is used in all other places in the -login window.</para> -</listitem> -<listitem> -<para>The <guilabel>Failure:</guilabel> font is used when a login -fails.</para> -</listitem> -<listitem> -<para>The <guilabel>Greeting:</guilabel> font is the font used for the title -(Greeting String).</para> -</listitem> -</itemizedlist> - -<para>You can also check the box labeled <guilabel>Use anti-aliasing for -fonts</guilabel> if you want smoothed fonts in the login dialog.</para> - -</sect2> - -<sect2 id="kdmconfig-dialog"> -<title>Dialog</title> - -<para>From this page you can change the visual appearance of &kdm;, -&kde;'s graphical login manager in non themed mode.</para> - -<para>The <guilabel>Greeting:</guilabel> is the title of the login - screen. Setting this is especially useful if you have many servers users - may log in to. You may use various placeholders, which are described - along with the corresponding key - <link linkend="option-greetstring"><option>GreetString</option></link> - in &kdmrc;. -</para> - -<para>You can then choose to show either the current system time, a logo or -nothing special in the login box. Make your choice in the radio buttons -labeled <guilabel>Logo area:</guilabel>. This corresponds to <link -linkend="option-logoarea"><option>LogoArea</option></link> in &kdmrc;</para> - -<para>If you chose <guilabel>Show logo</guilabel> you can now choose a -logo:</para> - -<itemizedlist> -<listitem> -<para>Drop an image file on the image button.</para> -</listitem> -<listitem> -<para>Click on the image button and select a new image from the image chooser -dialog.</para> -</listitem> -</itemizedlist> - -<para>If you do not specify a logo, the default -<filename>$<envar>KDEDIR</envar>/share/apps/kdm/pics/kdelogo.xpm</filename> -will be displayed.</para> - -<para>Normally the login box is centered on the screen. -Drag the anchor to move the center of the dialog to the desired position. -Keyboard control is possible as well: Use the arrow keys or <keycap>Home</keycap> to center. -Note that the actual proportions of the dialog are probably different. -These correspond to the key -<link linkend="option-greeterpos"><option>GreeterPos</option></link> -in &kdmrc;.</para> - -</sect2> - -<sect2 id="kdmconfig-background"> -<title>Background</title> - -<para>Here you can change the desktop background which will be displayed -before a user logs in. Selecting <guilabel>Enable background</guilabel> -allows you to edit the options on this tab.</para> - -<para>This tab is comprised of three areas:</para> - -<orderedlist> -<listitem> -<para>An area for selecting background images</para> -</listitem> -<listitem> -<para>The background Preview Monitor</para> -</listitem> -<listitem> -<para>An area for determining the background color</para> -</listitem> -</orderedlist> - -<variablelist> -<varlistentry> -<term>Preview Monitor</term> -<listitem> -<para>This is a preview window. It will give you a sense of what to -expect with each change.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term><guilabel>Background</guilabel></term> -<listitem> -<para>This section allows you to load a wallpaper on top of the color -gradient chosen in the section below.</para> - -<para>There are three choices available here:</para> - -<variablelist> -<varlistentry> -<term><guilabel>No Picture</guilabel></term> -<listitem> -<para>No picture background will be shown. The color and pattern -choices below will still take effect.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term><guilabel>Picture</guilabel></term> -<listitem> -<para>A single picture will be used as the background for the selected -desktops.</para> -<para>How this picture is positioned and scaled can be fine tuned -below.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term><guilabel>Slide show</guilabel></term> -<listitem> -<para>&kde; allows you to have an automatic slide show of wallpaper -images. To enable this option, press the <guibutton>Setup...</guibutton> -button. In the resulting dialog you may choose any -image or folder of images available on your computer, using the -<guibutton>Add...</guibutton> button to navigate your file system. -<guibutton>Remove</guibutton> will remove the currently selected -entry from the list.</para> - -<para>You may choose the length of time any image is displayed in the -<guilabel>Change picture after:</guilabel> box, and you may choose -<guibutton>Show pictures in random order</guibutton> if you don't want -them displayed in the order they are listed.</para> - -<tip><para>Displaying wallpaper requires that the image be kept in -memory. If you are low on memory, using a small, tiled image or none -at all is recommended.</para> - -<para>Scaling or centering a small image still requires an image the -size of your display to be maintained in memory.</para></tip> -</listitem> -</varlistentry> -</variablelist> -</listitem> -</varlistentry> - -<varlistentry> -<term><guilabel>Options</guilabel></term> -<listitem> - -<variablelist><!-- Positioning --> -<title><guilabel>Position:</guilabel></title> -<varlistentry> -<term>Centered</term> -<listitem><para>The image will be centered on the screen without changing the -size of the image. The background colors will be present anywhere the image -does not cover.</para> </listitem> -</varlistentry> -<varlistentry> -<term>Tiled</term> -<listitem><para>The image will be duplicated until it fills the entire -desktop. The first image will be placed in the upper left corner of the screen, -and duplicated downward and to the right.</para></listitem> -</varlistentry> -<varlistentry> -<term>Center Tiled</term> -<listitem><para>The image will be duplicated until it -fills the entire desktop. The first image will be placed in the center of the -screen, and duplicated upward, downward to the right, and to the left.</para> -</listitem></varlistentry> -<varlistentry> -<term>Centered Maxpect</term> -<listitem><para>The image will be placed in the center of the screen. It will -be scaled to fit the desktop, but it will not change the aspect ratio of the -original image. This will provide you with an image that is not distorted. -</para></listitem> -</varlistentry> -<varlistentry> -<term>Tiled Maxpect</term> -<listitem> -<para>The image will be placed in the corner of the screen. It will -be scaled to fit the desktop, but it will not change the aspect ratio -of the original image. This will provide you with an image that is -not distorted. If there is any space over, the image will be -duplicated to fill it. </para> -</listitem> -</varlistentry> -<varlistentry> -<term>Scaled</term> -<listitem><para>The image will be scaled to fit the desktop. It will be -stretched to fit to all four corners. This may distort the image.</para></listitem> -</varlistentry> -<varlistentry> -<term>Centered Auto fit</term> -<listitem> -<para>If the picture fits the desktop size, this mode works like the -centered option. If the picture is larger than the desktop then it is -scaled down to fit while keeping the aspect ratio. -</para> -</listitem> -</varlistentry> -<varlistentry> -<term>Scale & Crop</term> -<listitem> -<para>Magnify the picture without distorting it until it fills both the -width and height of the desktop (cropping the picture if necessary), and -then center it on the desktop.</para> -</listitem> -</varlistentry> -</variablelist> - -<variablelist><!-- Colors --> -<varlistentry> -<term><guilabel>Colors:</guilabel></term> -<listitem> -<para>The first drop down box allows you to choose the type of color, -gradient, or pattern to display under (or in place of) wallpaper.</para> -<tip><para>If you are going to be using a picture as a wallpaper, you -can skip this section of the dialog box.</para> -<para>However, if your chosen wallpaper does not cover the entire -desktop, the chosen colors will still show in the remaining -space.</para></tip> - -<variablelist> -<varlistentry> -<term><guilabel>Single Color</guilabel></term> -<listitem><para>By choosing this mode, you select one color using the -first color bar, and the entire background is covered with this one -color.</para></listitem> -</varlistentry> -<varlistentry> -<term><guilabel>Horizontal Gradient</guilabel></term> -<listitem><para>By choosing this mode, you select two colors (using both color -buttons). &kde; will then start with the primary color selected with the left -button on the left edge of the screen, and slowly transform into the blend color -selected with the right button by the time it gets to the -right edge of the screen.</para></listitem> -</varlistentry> -<varlistentry> -<term><guilabel>Vertical Gradient</guilabel></term> -<listitem><para>By choosing this mode, you select two colors (using both color -buttons). &kde; will then start with the primary color selected with the left -button on the top edge of the screen, and slowly transform into the blend color -selected with the right button as it moves to the bottom of -the screen.</para></listitem> -</varlistentry> -<varlistentry> -<term><guilabel>Pyramid Gradient</guilabel></term> -<listitem><para>By choosing this mode, you select two colors (using both color -buttons). &kde; will then start with the primary color selected with the left -button in each corner of the screen, and slowly transform into the blend color -selected with the right button as it moves to the center of the -screen.</para></listitem> -</varlistentry> -<varlistentry> -<term><guilabel>Pipecross Gradient</guilabel></term> -<listitem><para>By choosing this mode, you select two colors (using both color -buttons). &kde; will then start with the primary color selected with the left -button in each corner of the screen, and slowly transform into the blend color -selected with the right button as it moves to the center of the screen. -The shape of this gradient is different than the pyramid gradient.</para></listitem> -</varlistentry> -<varlistentry> -<term><guilabel>Elliptic Gradient</guilabel></term> -<listitem><para>By choosing this mode, you select two colors (using both color -buttons). &kde; will then start with the blend color selected with the right -button in the center of the screen, and slowly -transform into the primary color selected by the left button -as it moves to the edges, in an elliptical pattern.</para></listitem> -</varlistentry> - -<varlistentry> -<term><replaceable>Pattern</replaceable></term> -<listitem> -<para>The rest of the list are the names of various patterns -or textures you can choose.</para> -<para>For more on patterns, see -the section <link linkend="bkgnd-patterns">Adding, Removing and -Modifying Patterns</link>.</para> - -<para>Select the primary color with the first color bar. If you have -chosen a pattern that requires two colors to be set the secondary -color can be set by pressing the appropriate button.</para> -</listitem> -</varlistentry> -</variablelist> - -</listitem> -</varlistentry> -</variablelist> - -<variablelist> -<varlistentry> -<term><guilabel>Blending:</guilabel></term> -<listitem> -<para>The drop down box labeled <guilabel>Blending:</guilabel> contains the -options to make a smooth transition (blend) from the wallpaper as it -changes to the background.</para> - -<orderedlist> -<listitem><para>A drop down box allows you to select the blending mode. -Many of the modes are similar to blending modes for background colors. Select -your mode from the list, and the preview window shows you what it will look -like.</para></listitem> -<listitem><para>The <guilabel>Balance</guilabel> slider adjusts the -blending. The results can be seen immediately in the preview -window.</para></listitem> -<listitem><para>The <guilabel>Reverse roles</guilabel> can reverse the -role of the picture and the background for some types of -blending.</para> -</listitem> -</orderedlist> -</listitem> -</varlistentry> -</variablelist> -</listitem> -</varlistentry> -</variablelist> - -<sect3 id="bkgnd-advanced"> -<title>Advanced options</title> -<para>Located below the preview monitor is a button labeled -<guibutton>Advanced Options</guibutton>.</para> - -<para>To use an external program to determine and change the -background of &kde;, simply select <guilabel>Use the following program -for drawing the background</guilabel>. Available &kde; programs are -listed, select one to enable it.</para> - -<!--Not in 4.4 -<para>To add a third party application (⪚ -<application>XEarth</application>) you may use the -<guibutton>Add...</guibutton> button. A dialog will open allowing you -to choose your application, and fill in other data about it. You may -remove any entries from this list by selecting it and pressing the -<guibutton>Remove</guibutton> button.</para> - -<para>Using third party external programs to modify or change the -background is beyond the scope of this document, see their respective -documentation for the format of command-line switches and other -configuration information.</para> - -<para>Also in this section you may choose to set the color of text -that is used for icons on the desktop. If you find icon text -difficult to read against a wallpaper or pattern, you can choose a -solid color to show beneath text, or enable a shadow under the text to -enhance its appearance.</para> - -<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. -</para> - -<para>Finally you can set the <guilabel>Size of the background -cache:</guilabel>. The default (2048 KB) is usually a safe -choice.</para> ---> -</sect3> - -<sect3 id="bkgnd-patterns"> -<title>Adding, Removing and Modifying Wallpapers and Patterns</title> - -<para>There is a button under the preview monitor labeled <guibutton>Get -New Wallpapers</guibutton> that helps you fetch new wallpaper images from a -selection of popular images from the <ulink -url="http://www.kde-look.org">KDE-Look</ulink> website. You can of course -select any image you have available to use as wallpaper, and it may be -stored in any location on your hard drive. To have a wallpaper show up in -the list automatically for all users, you should save it to the <filename -class="directory">$<envar>KDEDIR</envar>/share/wallpapers</filename> -folder.</para> - -<para>A pattern is a picture file which &kde; uses as a template to -draw your background. The picture file provides the shapes, but &kde; -provides the colors. &kde; is packaged with several patterns, and you also -can add new patterns.</para> - -<para>To add a new pattern that is available to every user on your -computer, simply place the file in <filename -class="directory">$<envar>KDEDIR</envar>/share/apps/kdm/patterns/</filename>.</para> - -<para>Copy a <literal role="extension">.desktop</literal> file from -this folder, and name it the same as your new pattern image file. -Modify the contents to suit your new pattern.</para> - -<para>To add a new pattern for a single user, add the files to -<filename -class="directory">$<envar>KDEHOME</envar>/share/apps/kdm/patterns/</filename>.</para> - -<para>For best results, the pattern should be a grayscale PNG file.</para> - -</sect3> - -</sect2> - -<sect2 id="kdmconfig-theme"> -<title>Theme</title> -<para>This page consists of three sections:</para> - -<para>A list of installed themes, where you can select the one to be used.</para> - -<para>A screenshot with a preview of the selected theme and additional -information like <guilabel>Copyright</guilabel> and <guilabel>Description</guilabel>.</para> - -<para>Three buttons to install or remove a theme and a button to launch -the <guilabel>Get Hot New Stuff</guilabel> dialog where you can download new themes.</para> - -<note><para>The settings on this page are only available in themed mode.</para></note> - -</sect2> - -<sect2 id="kdmconfig-shutdown"> -<title>Shutdown</title> - -<para><guilabel>Allow Shutdown</guilabel></para> -<para>Use this drop down box to choose who is allowed to shut down:</para> -<itemizedlist> -<listitem> -<para><guilabel>Nobody</guilabel>: No one can shutdown the computer using -&kdm;. You must be logged in, and execute a command.</para> -</listitem> -<listitem> -<para><guilabel>Everybody</guilabel>: Everyone can shutdown the computer using -&kdm;.</para> -</listitem> -<listitem><para><guilabel>Only Root</guilabel>: &kdm; requires that the -<systemitem>root</systemitem> password be entered before shutting down the -computer.</para></listitem> -</itemizedlist> - -<para>You can independently configure who is allowed to issue a -shutdown command for the <guilabel>Local:</guilabel> and -<guilabel>Remote:</guilabel> users.</para> - -<para><emphasis>Commands</emphasis></para> <para>Use these text fields to -define the exact shutdown command.</para> <para>The -<guilabel>Halt:</guilabel> command defaults to <!-- Are these defaults still -correct? they disagree with what's in --> <!-- kdmrc --> -<command>/sbin/halt</command>. The <guilabel>Reboot:</guilabel> command -defaults to -<command>/sbin/reboot</command>.</para> - -<para>When <guilabel>Boot manager</guilabel> is set to <guilabel>Grub</guilabel> -or <guilabel>Lilo</guilabel>, &kdm; -will on reboot offer you options for these boot managers. Note that this -option is not available on all operating systems.</para> - -</sect2> - -<sect2 id="kdmconfig-users"> -<title>Users</title> - -<para>From here you can change the way users are represented in the -login window.</para> - -<para>Independently of the users you specify by name, you can use the -<guilabel>System UIDs</guilabel> to specify a range of valid -<acronym>UID</acronym>s that are shown in the list. By default user -id's under 1000, which are often system or daemon users, and user id's -over 30000, are not shown.</para> - -<para>You may disable the user list in &kdm; entirely in the -<guilabel>Users</guilabel> section. You can choose from:</para> - -<variablelist> -<varlistentry> -<term><guilabel>Show list</guilabel></term> -<listitem> -<para>Only show users you have specifically not excluded in the list -alongside</para> -<para>If you do not check this box, no list will be shown. This is the most secure setting, since an -attacker would then have to guess a valid login name as well as a -password. It is also the preferred option if you have more than a -handful of users to list, or the list itself would become -unwieldy.</para> -</listitem> -</varlistentry> -<varlistentry> -<term><guilabel>Autocompletion</guilabel></term> -<listitem> -<para>If this option is checked, &kdm; will automatically complete user names while -they are typed in the line edit.</para> -</listitem> -</varlistentry> -<varlistentry> -<term><guilabel>Inverse selection</guilabel></term> -<listitem> -<para>Allows you to instead select a list of users that should -be shown, and all other users will <emphasis>not</emphasis> be -listed.</para> -</listitem> -</varlistentry> -</variablelist> - -<para>You can also enable the <guilabel>Sort users</guilabel> -checkbox, to have the user list sorted alphabetically. If this is -disabled, users will appear in the order they are listed in the -password file. &kdm; will also autocomplete user names if you enable the -<guilabel>Autocompletion</guilabel> option.</para> - -<para>If you choose to show users, then the login window will show -images (which you select), of a list of users. When someone is ready -to login, they may select their user name/image, enter their password, -and they are granted access.</para> - -<para>If you permit a user image, then you can configure the <guilabel> -User Image Source</guilabel>:</para> - -<para>Here you can specify where &kdm; will obtain the images that represent users. -<guilabel>System</guilabel> represents the global folder; these are the pictures you can set -below. <guilabel>User</guilabel> means that &kdm; should read the user's -<filename>$<envar>HOME</envar>/.face.icon</filename> file. -The two selections in the middle define the order of preference if both -sources are available. -</para> - -<para>If you choose not to show users, then the login window will be -more traditional. Users will need to type their username and password -to gain entrance. This is the preferred way if you have many users on -this terminal.</para> - -</sect2> - -<sect2 id="kdmconfig-convenience"> -<title>Convenience</title> - -<para>In the <guilabel>Convenience</guilabel> tab you can configure -some options that make life easier for lazy people, like automatic -login or disabling passwords.</para> - -<important><para>Please think more than twice before using these -options. Every option in the <guilabel>Convenience</guilabel> tab is -well-suited to seriously compromise your system security. Practically, -these options are only to be used in a completely non-critical -environment, ⪚ a private computer at home. </para></important> - -<sect3 id="loginmanager-convenience-autologin"> -<title>Automatic Login</title> - -<para>Automatic login will give anyone access to a certain account on -your system without doing any authentication. You can enable it using -the option <guilabel>Enable Auto-Login</guilabel>.</para> - -<para>You can choose the account to be used for automatic login from -the list labeled <guilabel>User:</guilabel>.</para> - -<para>With <guilabel>Lock session</guilabel> the automatically started session -will be locked immediately (provided it is a &kde; session). This can be used -to obtain a super-fast login restricted to one user.</para> - -<!-- is this true?--> -<para>Automatic login can be suppressed by pressing the &Shift; key immediately -after the &X-Server; switches to graphics mode and releasing it when &kdm;'s -hourglass cursor appears.</para> -</sect3> - -<sect3 id="loginmanager-convenience-preselecteduser"> -<title><guilabel>Preselected User</guilabel></title> - -<para>You can also choose which user is <quote>preselected</quote> -when &kdm; starts. The default is <guilabel>None</guilabel>, but you -can choose <guilabel>Previous</guilabel> to have &kdm; default to the -last successfully logged in user, or you can -<guilabel>Specify</guilabel> a particular user to always be selected -from the list. You can also have &kdm; set the focus to the password -field, so that when you reach the &kdm; login screen, you can type the -password immediately.</para> - -</sect3> - -<sect3 id="loginmanager-convenience-nopasswd"> -<title><guilabel>Password-Less Login</guilabel></title> - -<para>Using this feature, you can allow certain users to login without -having to provide their password. Enable this feature using the -<guilabel>Enable Password-Less Logins</guilabel> option.</para> - -<para>Below this option you'll see a list of users on the system. -Enable password-less login for specific users by checking the checkbox -next to the login names. By default, this feature is disabled for -all users.</para> - -<important><para>Again, this option should only be used in a safe -environment. If you enable it on a rather public system you should -take care that only users with heavy access restrictions are granted -password-less login, ⪚ -<systemitem>guest</systemitem>.</para></important> - -<para>The <guilabel>Automatically login after X server crash</guilabel> -option allows you to skip the authentication procedure when your X -server accidentally crashed.</para> - -</sect3> - -</sect2> - -</sect1> - -</chapter> - -&kdmrc-ref; - -&theme-ref; - -<!-- ************************************************************ --> -<chapter id="configuring-your-system-for-kdm"> -<title>Configuring your system to use &kdm;</title> - -<para>This chapter assumes that your system is already configured to -run the &X-Window;, and that you only need to reconfigure it to -allow graphical login.</para> - -<sect1 id="setting-up-kdm"> -<title>Setting up &kdm;</title> - -<para>The fundamental thing that controls whether your computer boots to a -terminal prompt (console mode) or a graphical login prompt is the default -runlevel. The runlevel is set by the program <application> <ulink -url="man:init">/sbin/init</ulink></application> under the control of the -configuration file <filename>/etc/inittab</filename>. The default runlevels -used by different &UNIX; systems (and different &Linux; distributions) vary, -but if you look at <filename>/etc/inittab</filename> the start of it should -be something like this:</para> - -<screen># Default runlevel. The runlevels used by RHS are: -# 0 - halt (Do NOT set initdefault to this) -# 1 - Single user mode -# 2 - Multiuser, without NFS -# 3 - Full multiuser mode -# 4 - unused -# 5 - X11 -# 6 - reboot (Do NOT set initdefault to this) - -id:3:initdefault: -</screen> - -<para>All but the last line of this extract are comments. The comments -show that runlevel 5 is used for X11 and that runlevel 3 is used for -multi-user mode without X11 (console mode). The final line specifies -that the default runlevel of the system is 3 (console mode). If your -system currently uses graphical login (for example, using &xdm;) its -default runlevel will match the runlevel specified for X11.</para> - -<para>The runlevel with graphical login (&xdm;) for some common &Linux; -distributions is:</para> - -<itemizedlist> -<listitem><para>5 for &RedHat; 3.x and later, and for &Mandrake;</para></listitem> -<listitem><para>4 for Slackware</para></listitem> -<listitem><para>3 for &SuSE;. 4.x and 5.x</para></listitem> -</itemizedlist> - -<para>The first step in configuring your system is to ensure that you -can start &kdm; from the command line. Once this is working, you can -change your system configuration so that &kdm; starts automatically -each time you reboot your system.</para> - -<para>To test &kdm;, you must first bring your system to a runlevel -that does not run &xdm;. To do so, issue a command like this:</para> - -<screen><command>/sbin/init <option>3</option></command></screen> - -<para>Instead of the number <option>3</option> you should specify the -appropriate runlevel for console mode on your system.</para> - -<para>If your system uses Pluggable Authentication Modules -(<abbrev>PAM</abbrev>), which is normal with recent &Linux; and &Solaris; -systems, you should check that your <abbrev>PAM</abbrev> configuration permits -login through the service named <literal>kde</literal>. If you previously used -&xdm; successfully, you should not need to make any -changes to your <abbrev>PAM</abbrev> configuration in order to use -&kdm;. <filename>/etc/pam.conf</filename> or -<filename>/etc/pam.d/kde</filename>. Information on configuring -<abbrev>PAM</abbrev> is beyond the scope of this handbook, but -<abbrev>PAM</abbrev> comes with comprehensive documentation (try looking in -<filename>/usr/share/doc/*pam*/html/</filename>).</para> - -<para>Now it's time for you to test &kdm; by issuing the following -command:</para> - -<screen><command>kdm <option>-nodaemon</option></command> -</screen> - -<para>If you get a &kdm; login dialog and you are able to log in, -things are going well. The main thing that can go wrong here is that -the run-time linker might not find the shared &Qt; or &kde; libraries. -If you have a binary distribution of the &kde; libraries, make sure -&kdm; is installed where the libraries believe &kde; is installed and -try setting some environment variables to point to your &kde; and &Qt; -libraries.</para> - -<para>For example:</para> - -<screen><command>export -<option>KDEDIR=<replaceable>/opt/kde</replaceable></option></command> -<command>export -<option>QTDIR=<replaceable>/usr/lib/qt4</replaceable></option></command> -<command>export -<option>PATH=<replaceable>$KDEDIR/bin:$QTDIR/bin:$PATH</replaceable></option></command> -<command>export -<option>LD_LIBRARY_PATH=<replaceable>$KDEDIR/lib:$QTDIR/lib</replaceable></option></command> -</screen> - -<para>If you are still unsuccessful, try starting &xdm; instead, to -make sure that you are not suffering from a more serious X -configuration problem.</para> - -<para>When you are able to start &kdm; successfully, you can start to -replace &xdm; by &kdm;. Again, this is distribution-dependent.</para> - -<itemizedlist> -<listitem> -<para>For &RedHat;, edit <filename>/etc/inittab</filename>, look for this - line:</para> -<screen>x:5:respawn:/usr/X11/bin/xdm -nodaemon</screen> -<para>and replace with:</para> -<screen>x:5:respawn:/opt/kde/bin/kdm</screen> -<para>This tells <command>init</command>(8) to respawn &kdm; when the -system is in run level 5. Note that &kdm; does not need the - <option>-nodaemon</option> option.</para> -</listitem> -<listitem> -<para>For &Mandrake;, the X11 runlevel in -<filename>/etc/inittab</filename> invokes the shell script -<filename>/etc/X11/prefdm</filename>, which is set up to select from -amongst several display managers, including &kdm;. Make sure that all -the paths are correct for your installation.</para> -</listitem> -<listitem> -<para>For &SuSE;, edit <filename>/sbin/init.d/xdm</filename> to add a -first line:</para> - -<screen>. /etc/rc.config -DISPLAYMANAGER=kdm -export DISPLAYMANAGER</screen> -</listitem> -<listitem><para>For FreeBSD, edit <filename>/etc/ttys</filename> and find -the line like this:</para> -<screen>ttyv8 "/usr/X11R6/bin/xdm -nodaemon" xterm off secure</screen> -<para>and edit it to this:</para> -<screen>ttyv8 "/opt/kde/bin/kdm" xterm on secure</screen> -</listitem> - -<listitem><para>Most other distributions are a variation of one of -these.</para></listitem> -</itemizedlist> - -<para>At this stage, you can test &kdm; again by bringing your system -to the runlevel that should now run &kdm;. To do so, issue a command -like this:</para> - -<screen><command>/sbin/init <option>5</option></command> -</screen> - -<para>Instead of the number <option>5</option> you should specify the -appropriate runlevel for running X11 on your system.</para> - -<para>The final step is to edit the <parameter>initdefault</parameter> -entry in <filename>/etc/inittab</filename> to specify the appropriate -runlevel for X11.</para> - -<warning><para>Before you make this change, ensure that you have a way -to reboot your system if a problem occurs. This might be a -<quote>rescue</quote> floppy-disk provided by your operating system -distribution or a specially-designed <quote>rescue</quote> -floppy-disk, such as <literal>tomsrtbt</literal>. Ignore this advice -at your peril.</para></warning> - -<para>This usually involves changing the line:</para> -<screen>id:3:initdefault:</screen> -<para>to</para> -<screen>id:5:initdefault:</screen> - -<para>When you reboot your system, you should end up with the -graphical &kdm; login dialog.</para> - -<para>If this step is unsuccessful the most likely problem is that the -environment used at boot time differs from the environment that you used for -testing at the command line. If you are trying to get two versions of &kde; -to co-exist, be particularly careful that the settings you use for your -<envar>PATH</envar> and <envar>LD_LIBRARY_PATH</envar> environment variables -are consistent, and that the startup scripts are not over-riding them in -some way.</para> - -</sect1> - -</chapter> - -<chapter id="different-window-managers-with-kdm"> -<title>Supporting multiple window managers</title> - -<para>&kdm; detects most available window managers and desktop environments when -it is run. Installing a new one should make it automatically available in -the &kdm; main dialog's <guimenuitem>Session Type</guimenuitem> submenu.</para> - -<para>If you have a very new window manager, or something that &kdm; does -not support, the first thing you should check is that the executable to be -run is in the <envar>PATH</envar> and has not been renamed by the distributor -into something unexpected.</para> - -<para>If the case is that the session type is not supported by &kdm; yet -(maybe because it is too new), you can quite easily add it.</para> - -<para>The session types are defined by <firstterm>.desktop</firstterm> files -located in the directories listed in <link -linkend="option-sessionsdirs"><option>SessionsDirs</option></link>. The -last named directory contains the system-provided default session types -and is <filename -class="directory">$<envar>KDEDIR</envar>/share/apps/kdm/sessions</filename> -in an installation from source. Software upgrades will typically overwrite -anything in here, so it is unwise to use it for configuration purposes. -Instead, a separate configuration directory should be listed first. It is -set to <filename -class="directory">$<envar>KDEDIR</envar>/share/config/kdm/sessions</filename> -in an installation from source, but distributors often change it to something -like <filename class="directory">/etc/kde4/kdm/sessions</filename>. -You can simply add an appropriately named <literal -role="extension">.desktop</literal> files here. The fields are:</para> - -<programlisting>[Desktop Entry] -Encoding=UTF-8 <lineannotation>This is fixed to <option>UTF-8</option> and -may be omitted</lineannotation> -Type=XSession <lineannotation>This is fixed to <option>XSession</option> and -may be omitted</lineannotation> -Exec=<replaceable>executable name</replaceable> <lineannotation>Passed to -<command>eval exec</command> in a Bourne shell</lineannotation> -TryExec=<replaceable>executable name</replaceable> <lineannotation>Supported -but not required</lineannotation> -Name=<replaceable>name to show in the &kdm; session list</replaceable></programlisting> - -<para>There are also three <quote>magic</quote> types:</para> - -<variablelist> -<varlistentry> -<term>default</term> -<listitem> -<para> -The default session for &kdm; is normally &kde; but can be configured by the -system administrator. -</para> -</listitem> -</varlistentry> -<varlistentry> -<term>custom</term> -<listitem> -<para> -The Custom session will run the user's ~/.xsession if it exists, falling -back to the default session otherwise. -</para> -</listitem> -</varlistentry> -<varlistentry> -<term>failsafe</term> -<listitem> -<para> -Failsafe will run a very plain session, and is useful only for debugging -purposes. -</para> -</listitem> -</varlistentry> -</variablelist> - -<para>To override a session type, copy the .desktop file from the data dir -to the config dir and edit it at will. Removing the shipped session types -can be accomplished by <quote>shadowing</quote> them with .desktop files -containing Hidden=true. For the magic session types no .desktop files exist -by default, but &kdm; pretends they would, so you can override them like any -other type.</para> - -</chapter> - -<chapter id="xdmcp-with-kdm"> -<title>Using &kdm; for Remote Logins (&XDMCP;)</title> - -<para>&XDMCP; is the Open Group standard, the <quote>X Display Manager -Control Protocol</quote>. This is used to set up connections between -remote systems over the network.</para> - -<para>&XDMCP; is useful in multiuser situations where there are users -with workstations and a more powerful server that can provide the -resources to run multiple X sessions. For example, &XDMCP; is a good -way to reuse old computers - a Pentium or even 486 computer with 16 Mb -RAM is sufficient to run X itself, and using &XDMCP; such a computer can -run a full modern &kde; session from a server. For the server part, -once a single &kde; (or other environment) session is running, running -another one requires very few extra resources.</para> - -<para>However, allowing another method of login to your machine -obviously has security implications. You should run this service only -if you need to allow remote X Servers to start login sessions on your -system. Users with a single &UNIX; computer should not need to run -this.</para> - -</chapter> - -<chapter id="advanced-topics"> -<title>Advanced Topics</title> - -<sect1 id="command-sockets"> -<title>Command Sockets</title> - -<para>This is a feature you can use to remote-control &kdm;. It's mostly -intended for use by &ksmserver; and &kdesktop; from a running session, but -other applications are possible as well.</para> - -<para>The sockets are &UNIX; domain sockets which live in subdirectories of the -directory specified by <option>FifoDir</option>=. The subdir is the key to -addressing and security; the sockets all have the file name -<filename>socket</filename> and file permissions -<literal>rw-rw-rw-</literal> (0666). This is because some systems don't care -for the file permission of the socket files.</para> - -<para>There are two types of sockets: the global one (dmctl) and the -per-display ones (dmctl-<display>).</para> - -<para>The global one's subdir is owned by root, the subdirs of the per-display -ones' are owned by the user currently owning the session (root or the -logged in user). Group ownership of the subdirs can be set via FifoGroup=, -otherwise it's root. The file permissions of the subdirs are rwxr-x--- -(0750).</para> - -<para>The fields of a command are separated by tabs (<token>\t</token>), the -fields of a list are separated by spaces, literal spaces in list fields are -denoted by <token>\s</token>.</para> - -<para>The command is terminated by a newline (<token>\n</token>).</para> - -<para>The same applies to replies. The reply on success is -<returnvalue>ok</returnvalue>, possibly followed by the requested -information. The reply on error is an errno-style word (⪚ -<returnvalue>perm</returnvalue>, <returnvalue>noent</returnvalue>, &etc;) -followed by a longer explanation.</para> - -<variablelist> -<title>Global commands:</title> - -<varlistentry> -<term><command>login</command> <option>display</option> -(<parameter>now</parameter> | <parameter>schedule</parameter>) <parameter>user</parameter> <parameter>password</parameter> -[session_arguments]</term> -<listitem> -<para>login user at specified display. if <parameter>now</parameter> is -specified, a possibly running session is killed, otherwise the login is done -after the session exits. session_arguments are printf-like escaped contents -for .dmrc. Unlisted keys will default to previously saved values.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term><command>resume</command></term> -<listitem> -<para>Force return from console mode, even if TTY logins are still -active.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term><command>manage</command> <parameter>display</parameter> -[<parameter>display_class</parameter> -[<parameter>auth_name</parameter> <parameter>auth_data</parameter>]]</term> -<listitem> -<para>Start managing the named foreign display.</para> -<para><parameter>display_class</parameter>, if specified and non-empty, -will be used for configuration matching; see <xref linkend="kdm-files"/>. -</para> -<para><parameter>auth_name</parameter> and <parameter>auth_data</parameter> -need to be passed if the display requires X authorization. The format is -the same as the 2nd and 3rd column of the <command>xauth list</command> -output.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term><command>unmanage</command> <parameter>display</parameter></term> -<listitem> -<para>Stop managing the named foreign display.</para> -</listitem> -</varlistentry> - -</variablelist> - -<variablelist> -<title>Per-display commands:</title> -<varlistentry> -<term><command>lock</command></term> -<listitem> -<para>The display is marked as locked. If the &X-Server; crashes in this -state, no auto-relogin will be performed even if the option is on.</para> -</listitem> -</varlistentry> -<varlistentry> -<term><command>unlock</command></term> -<listitem> -<para>Reverse the effect of <command>lock</command>, and re-enable -auto-relogin.</para> -</listitem> -</varlistentry> -<varlistentry> -<term><command>suicide</command></term> -<listitem> -<para>The currently running session is forcibly terminated. No auto-relogin -is attempted, but a scheduled "login" command will be executed.</para> -</listitem> -</varlistentry> -</variablelist> - -<variablelist> -<title>Commands for all sockets</title> - -<varlistentry> -<term><command>caps</command></term> -<listitem> -<para>Returns a list of this socket's capabilities:</para> - -<variablelist> -<varlistentry> -<term><returnvalue>kdm</returnvalue></term> -<listitem> -<para>identifies &kdm;, in case some other DM implements this protocol, -too</para> -</listitem> -</varlistentry> -<varlistentry> -<term><returnvalue>list</returnvalue>, <returnvalue>lock</returnvalue>, -<returnvalue>suicide</returnvalue>, <returnvalue>login</returnvalue>, -<returnvalue>resume</returnvalue>, <returnvalue>manage</returnvalue> -</term> -<listitem> -<para>The respective command is supported</para> -</listitem> -</varlistentry> -<varlistentry> -<term><returnvalue>bootoptions</returnvalue></term> -<listitem> -<para>The <command>listbootoptions</command> command and the -<option>=</option> to <command>shutdown</command> are supported</para> -</listitem> -</varlistentry> -<varlistentry> -<term><returnvalue>shutdown <list></returnvalue></term> -<listitem> -<para><command>shutdown</command> is supported and allowed for the listed -users (a comma separated list.) <returnvalue>*</returnvalue> means all -authenticated users.</para> -</listitem> -</varlistentry> -<varlistentry> -<term><returnvalue>nuke <list></returnvalue></term> -<listitem> -<para>Forced shutdown may be performed by the listed users.</para> -</listitem> -</varlistentry> -<varlistentry> -<term><returnvalue>nuke</returnvalue></term> -<listitem> -<para>Forced shutdown may be performed by everybody</para> -</listitem> -</varlistentry> -<varlistentry> -<term><returnvalue>reserve <number></returnvalue></term> -<listitem> -<para>Reserve displays are configured, and <returnvalue>number</returnvalue> -are available at this time</para> -</listitem> -</varlistentry> -</variablelist> - -</listitem> -</varlistentry> - -<varlistentry> -<term><command>list</command> [<parameter>all</parameter> | -<parameter>alllocal</parameter>]</term> -<listitem> -<para>Return a list of running sessions. By default all active sessions are -listed (this is useful for a shutdown warning). If <parameter>all</parameter> -is specified, passive sessions are listed as well. -If <parameter>alllocal</parameter> is specified, passive -sessions are listed as well, but all incoming remote sessions are -skipped (this is useful for a fast user switching agent).</para> -<para>Each session entry is a comma separated tuple of:</para> -<itemizedlist> -<listitem><para>Display or TTY name</para></listitem> -<listitem><para>VT name for local sessions, remote host name prefixed by -<literal>@</literal> for remote TTY sessions, otherwise empty</para></listitem> -<listitem><para>Logged in user's name, empty for passive sessions and -outgoing remote sessions (local chooser mode)</para></listitem> -<listitem><para>Session type for active local sessions, remote hostname for -outgoing remote sessions, empty for passive sessions.</para></listitem> -<listitem><para>A Flag field:</para> -<itemizedlist><listitem><para><literal>*</literal> for the display belonging -to the requesting socket.</para></listitem> -<listitem><para><literal>!</literal> for sessions that cannot be killed by the -requesting socket.</para></listitem> -<listitem><para><literal>t</literal> for TTY sessions.</para></listitem> -</itemizedlist> -</listitem> -</itemizedlist> -<para>New fields may be added in the future.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term><command>reserve</command></term> -<listitem> -<para>Start a reserve login screen. If nobody logs in within some -time, the display is removed again. When the session on the display -exits, the display is removed, too.</para> -<para>Permitted only on sockets of local displays and the global -socket.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term><command>activate</command> -(<parameter>vt</parameter>|<parameter>display</parameter>)</term> -<listitem> -<para>Switch to a particular VT (virtual terminal). The VT may be specified -either directly (⪚ <parameter>vt3</parameter>) or by a display using it -(eg; <parameter>:2</parameter>).</para> -<para>Permitted only on sockets of local displays and the global -socket.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term><command>listbootoptions</command></term> -<listitem> -<para>List available boot options.</para> -<para>The return value contains these tokens:</para> -<itemizedlist> -<listitem> -<para>A list of boot options (as shown in &kdm; itself).</para> -</listitem> -<listitem> -<para>The default boot option.</para> -</listitem> -<listitem> -<para>The current boot option.</para> -</listitem> -</itemizedlist> -<para>The default and current option are zero-based indices into the list -of boot options. If either one is unset or not determinable, it is -1.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term><command>shutdown</command> (<parameter>reboot</parameter> | -<parameter>halt</parameter>) -[<parameter>=<replaceable>bootchoice</replaceable></parameter>] -(<parameter>ask</parameter>|<parameter>trynow</parameter>|<parameter>forcenow</parameter>|<parameter>schedule</parameter>|<parameter>start -(<parameter>-1</parameter>|<parameter>end -(<parameter>force</parameter>|<parameter>forcemy</parameter>|<parameter>cancel)</parameter>)</parameter>)</parameter>)</term> -<listitem> -<para>Request a system shutdown, either a reboot or a halt/poweroff.</para> -<para>An OS choice for the next boot may be specified from the list returned -by <command>listbootoptions</command></para> -<para>Shutdowns requested from per-display sockets are executed when the -current session on that display exits. Such a request may pop up a dialog -asking for confirmation and/or authentication</para> -<para><parameter>start</parameter> is the time for which the shutdown is -scheduled. If it starts with a plus-sign, the current time is added. Zero -means immediately.</para> -<para><parameter>end</parameter> is the latest time at which the shutdown -should be performed if active sessions are still running. If it starts with -a plus-sign, the start time is added. -1 means wait infinitely. If end is -through and active sessions are still running, &kdm; can do one of the -following:</para> -<itemizedlist> -<listitem><para><parameter>cancel</parameter> - give up the -shutdown</para></listitem> -<listitem><para><parameter>force</parameter> - shut down -nonetheless</para></listitem> -<listitem><para><parameter>forcemy</parameter> - shut down nonetheless if -all active sessions belong to the requesting user. -Only for per-display sockets.</para></listitem> -</itemizedlist> -<para><parameter>start</parameter> and <parameter>end</parameter> are -specified in seconds since the &UNIX; epoch.</para> -<para><parameter>trynow</parameter> is a synonym for <parameter>0 0 -cancel</parameter>, <parameter>forcenow</parameter> for <parameter>0 0 -force</parameter> and <parameter>schedule</parameter> for <parameter>0 --1</parameter>.</para> -<para><parameter>ask</parameter> attempts an immediate shutdown and -interacts with the user if active sessions are still running. Only for -per-display sockets.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term><command>shutdown cancel</command> -[<parameter>local</parameter>|<parameter>global</parameter>}</term> -<listitem> -<para>Cancel a scheduled shutdown. The global socket always cancels the -currently pending shutdown, while per-display sockets default to cancelling -their queued request.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term><command>shutdown status</command></term> -<listitem> -<para>Return a list with information about shutdowns.</para> -<para>The entries are a comma-separated tuples of:</para> -<itemizedlist> -<listitem> -<para>(<returnvalue>global</returnvalue>|<returnvalue>local</returnvalue>) - -pending vs. queued shutdown. A local entry can be returned only by a -per-display socket.</para> -</listitem> -<listitem><para>(<returnvalue>halt</returnvalue>|<returnvalue>reboot</returnvalue>)</para></listitem> -<listitem><para>start</para></listitem> -<listitem><para>end</para></listitem> -<listitem><para>("ask"|"force"|"forcemy"|"cancel")</para></listitem> -<listitem><para>Numeric user ID of the requesting user, -1 for the global -socket.</para></listitem> -<listitem><para>The next boot OS choice or "-" for none.</para></listitem> -</itemizedlist> -<para>New fields might be added later</para> -</listitem> -</varlistentry> - -</variablelist> - -<para>There are two ways of using the sockets:</para> -<itemizedlist> -<listitem> -<para>Connecting them directly. FifoDir is exported as -$<envar>DM_CONTROL</envar>; the name of per-display sockets can be derived -from $<envar>DISPLAY</envar>.</para> -</listitem> -<listitem> -<para>By using the <command>kdmctl</command> command (⪚ from within a -shell script). Try <command>kdmctl</command> <option>-h</option> to find out -more.</para> -</listitem> -</itemizedlist> - -<para>Here is an example bash script <quote>reboot into FreeBSD</quote>:</para> - -<programlisting>if kdmctl | grep -q shutdown; then - IFS=$'\t' - set -- `kdmctl listbootoptions` - if [ "$1" = ok ]; then - fbsd=$(echo "$2" | tr ' ' '\n' | sed -ne 's,\\s, ,g;/freebsd/I{p;q}') - if [ -n "$fbsd" ]; then - kdmctl shutdown reboot "=$fbsd" ask > /dev/null - else - echo "FreeBSD boot unavailable." - fi - else - echo "Boot options unavailable." - fi -else - echo "Cannot reboot system." -fi</programlisting> - -</sect1> -</chapter> - -<chapter id="Other-Information"> -<title>Other sources of information</title> - -<para>Since &kdm; is descended from &xdm;, the <ulink -url="man:xdm">xdm man page</ulink> may provide useful background -information. For X-related problems try the man pages <ulink -url="man:X">X</ulink> and <ulink url="man:startx">startx</ulink>. If you have -questions about &kdm; that are not answered by this handbook, take advantage of -the fact the &kdm; is provided under the terms of the &GNU; -General Public License: look at the source code. -</para> - -</chapter> - - -<chapter id="credits"><title>Credits and License</title> - -<para>&kdm; is derived from, and includes code from, -&xdm; © Keith Packard, MIT X Consortium.</para> - -<para>&kdm; 0.1 was written by &Matthias.Ettrich;. Later versions till &kde; -2.0.x were written by &Steffen.Hansen;. Some new features for &kde; 2.1.x and -a major rewrite for &kde; 2.2.x made by &Oswald.Buddenhagen;.</para> - -<para>Other parts of the &kdm; code are copyright by the authors, and -licensed under the terms of the <ulink url="common/gpl-license.html">&GNU; -GPL</ulink>. Anyone is allowed to change &kdm; and redistribute the result -as long as the names of the authors are mentioned.</para> - -<para>&kdm; requires the &Qt; library, which is copyright Troll Tech AS.</para> - -<para>Documentation contributors: -<itemizedlist> - -<listitem><para>Documentation written by &Steffen.Hansen; -&Steffen.Hansen.mail;</para></listitem> - -<listitem><para>Documentation extended by Gregor -Zumstein<email>zumstein at ssd.ethz.ch</email>. Last update August 9, -1998</para></listitem> - -<listitem><para>Documentation revised for &kde; 2 by &Neal.Crook; -&Neal.Crook.mail;. Last update August 6, -2000</para></listitem> - -<listitem><para>Documentation extended and revised for &kde; 2.2 and 4.0 by -&Oswald.Buddenhagen; &Oswald.Buddenhagen.mail;. Last update December 7, -2007</para></listitem> - -</itemizedlist></para> - -<para>Documentation copyright &Steffen.Hansen;, Gregor Zumstein, &Neal.Crook; -and &Oswald.Buddenhagen;. -This document also includes large parts of the &xdm; man page, -which is © Keith Packard. -The theme format documentation is heavily based on the GDM manual, -which is © Martin K. Petersen, George Lebl, &RedHat;, Inc. and -Sun Microsystems, Inc.</para> - -<!-- TRANS:CREDIT_FOR_TRANSLATORS --> - -&underFDL; - -</chapter> - -<glossary id="glossary"> -<title>Glossary</title> - -<glossentry id="gloss-greeter"> -<glossterm>greeter</glossterm> -<glossdef><para>The greeter is the login dialog, &ie; the part of &kdm; -which the user sees.</para> -</glossdef> -</glossentry> - -<glossentry> -<glossterm id="gloss-entropy">entropy</glossterm> -<glossdef><para>The entropy of a system is the measure of its -unpredictability. This is used during the generation of random numbers.</para> -</glossdef> -</glossentry> - -</glossary> -</book> -<!-- -Local Variables: -mode: xml -sgml-omittag: nil -sgml-shorttag: t -End: ---> - diff --git a/doc/kdm/kdmrc-ref.docbook b/doc/kdm/kdmrc-ref.docbook deleted file mode 100644 index e83f874..0000000 --- a/doc/kdm/kdmrc-ref.docbook +++ /dev/null @@ -1,2402 +0,0 @@ -<!-- generated from ../../kdm/config.def - DO NOT EDIT! --> - -<chapter id="kdm-files"> -<title>The Files &kdm; Uses for Configuration</title> - -<para>This chapter documents the files that control &kdm;'s behavior. -Some of this can be also controlled from the &systemsettings; module, but -not all.</para> - -<sect1 id="kdmrc"> -<title>&kdmrc; - The &kdm; master configuration file</title> - -<para>The basic format of the file is <quote>INI-like</quote>. -Options are key/value pairs, placed in sections. -Everything in the file is case sensitive. -Syntactic errors and unrecognized key/section identifiers cause &kdm; to -issue non-fatal error messages.</para> - -<para>Lines beginning with <literal>#</literal> are comments; empty lines -are ignored as well.</para> - -<para>Sections are denoted by -<literal>[</literal><replaceable>Name of Section</replaceable><literal>]</literal>. -</para> - -<para>You can configure every X-display individually.</para> -<para>Every display has a display name, which consists of a host name -(which is empty for local displays specified in <option>StaticServers</option> -or <option>ReserveServers</option>), a colon, and a display number. -Additionally, a display belongs to a -display class (which can be ignored in most cases).</para> - -<para>Sections with display-specific settings have the formal syntax -<literal>[X-</literal> <replaceable>host</replaceable> [ <literal>:</literal> <replaceable>number</replaceable> [ <literal>_</literal> <replaceable>class</replaceable> ] ] <literal>-</literal> <replaceable>sub-section</replaceable> <literal>]</literal> -</para> -<para>All sections with the same <replaceable>sub-section</replaceable> -make up a section class.</para> - -<para>You can use the wildcard <literal>*</literal> (match any) for -<replaceable>host</replaceable>, <replaceable>number</replaceable>, -and <replaceable>class</replaceable>. You may omit trailing components; -they are assumed to be <literal>*</literal> then. The host part may be a -domain specification like <replaceable>.inf.tu-dresden.de</replaceable> -or the wildcard <literal>+</literal> (match non-empty).</para> - -<para>From which section a setting is actually taken is determined by -these rules:</para> - -<itemizedlist> -<listitem> -<para>An exact match takes precedence over a partial match (for the -host part), which in turn takes precedence over a wildcard -(<literal>+</literal> taking precendence over <literal>*</literal>).</para> -</listitem> - -<listitem> -<para>Precedence decreases from left to right for equally exact matches.</para> -</listitem> - -<listitem> - -<para> -Example: display name <quote>myhost.foo:0</quote>, class <quote>dpy</quote> -</para> -<itemizedlist> -<listitem> -<para>[X-myhost.foo:0_dpy] precedes</para> -</listitem> -<listitem> -<para>[X-myhost.foo:0_*] (same as [X-myhost.foo:0]) precedes</para> -</listitem> -<listitem> -<para>[X-myhost.foo:*_dpy] precedes</para> -</listitem> -<listitem> -<para>[X-myhost.foo:*_*] (same as [X-myhost.foo]) precedes</para> -</listitem> -<listitem> -<para>[X-.foo:*_*] (same as [X-.foo]) precedes</para> -</listitem> -<listitem> -<para>[X-+:0_dpy] precedes</para> -</listitem> -<listitem> -<para>[X-*:0_dpy] precedes</para> -</listitem> -<listitem> -<para>[X-*:0_*] (same as [X-*:0]) precedes</para> -</listitem> -<listitem> -<para>[X-*:*_*] (same as [X-*]).</para> -</listitem> -<listitem> -<para>These sections do <emphasis>not</emphasis> match this display:</para> -<para>[X-hishost], [X-myhost.foo:0_dec], [X-*:1], [X-:*]</para> -</listitem> -</itemizedlist> - -</listitem> - -</itemizedlist> - -<para>Common sections are [X-*] (all displays), [X-:*] (all local displays) -and [X-:0] (the first local display).</para> - -<para>The format for all keys is -<userinput><option><replaceable>key</replaceable></option> <literal>=</literal> <parameter>value</parameter></userinput>. -Keys are only valid in the section class they are defined for. -Some keys do not apply to particular displays, in which case they are ignored. -</para> - -<para>If a setting is not found in any matching section, the default -is used.</para> - -<para>Special characters need to be backslash-escaped (leading and trailing -spaces (<literal>\s</literal>), tab (<literal>\t</literal>), linefeed -(<literal>\n</literal>), carriage return (<literal>\r</literal>) and the -backslash itself (<literal>\\</literal>)).</para> -<para>In lists, fields are separated with commas without whitespace in between. -</para> -<para>Some command strings are subject to simplified sh-style word splitting: -single quotes (<literal>'</literal>) and double quotes (<literal>"</literal>) -have the usual meaning; the backslash quotes everything (not only special -characters). Note that the backslashes need to be doubled because of the -two levels of quoting.</para> - -<note><para>A pristine &kdmrc; is very thoroughly commented. -All comments will be lost if you change this file with the -&systemsettings; frontend.</para></note> - - -<sect2 id="kdmrc-general"> -<title>The [General] section of &kdmrc;</title> - -<para> -This section contains global options that do not fit into any specific section. -</para> - -<variablelist> - -<varlistentry> -<term id="option-configversion"><option>ConfigVersion</option></term> -<listitem> -<para> -This option exists solely for the purpose of clean automatic upgrades. -<emphasis>Do not</emphasis> change it, you may interfere with future -upgrades and this could result in &kdm; failing to run. -</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-staticservers"><option>StaticServers</option></term> -<listitem> -<para> -List of displays (&X-Server;s) permanently managed by &kdm;. Displays with a -hostname are foreign displays which are expected to be already running, -the others are local displays for which &kdm; starts an own &X-Server;; -see <option>ServerCmd</option>. Each display may belong to a display class; -append it to the display name separated by an underscore. -See <xref linkend="kdmrc-xservers"/> for the details. -</para> -<para>The default is <quote>:0</quote>.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-reserveservers"><option>ReserveServers</option></term> -<listitem> -<para> -List of on-demand displays. See <option>StaticServers</option> for syntax. -</para> -<para>Empty by default.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-servervts"><option>ServerVTs</option></term> -<listitem> -<para> -List of Virtual Terminals to allocate to &X-Server;s. For negative numbers the -absolute value is used, and the <acronym>VT</acronym> will be allocated only -if the kernel says it is free. If &kdm; exhausts this list, it will allocate -free <acronym>VT</acronym>s greater than the absolute value of the last entry -in this list. -Currently Linux only. -</para> -<para>Empty by default.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-consolettys"><option>ConsoleTTYs</option></term> -<listitem> -<para> -This option is for operating systems (<acronym>OS</acronym>s) with support -for virtual terminals (<acronym>VT</acronym>s), by both &kdm; and the -<acronym>OS</acronym>s itself. -Currently this applies only to Linux. -</para><para> -When &kdm; switches to console mode, it starts monitoring all -<acronym>TTY</acronym> lines listed here (without the leading -<literal>/dev/</literal>). -If none of them is active for some time, &kdm; switches back to the X login. -</para> -<para>Empty by default.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-pidfile"><option>PidFile</option></term> -<listitem> -<para> -The filename specified will be created to contain an ASCII representation -of the process ID of the main &kdm; process; the PID will not be stored -if the filename is empty. -</para> -<para>Empty by default.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-lockpidfile"><option>LockPidFile</option></term> -<listitem> -<para> -This option controls whether &kdm; uses file locking to keep multiple -display managers from running onto each other. -</para> -<para>The default is <quote>true</quote>.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-authdir"><option>AuthDir</option></term> -<listitem> -<para> -This names a directory under which &kdm; stores &X-Server; authorization -files while initializing the session. &kdm; expects the system to clean up -this directory from stale files on reboot. -</para><para> -The authorization file to be used for a particular display can be -specified with the <option>AuthFile</option> option in [X-*-Core]. -</para> -<para>The default is <quote>/var/run/xauth</quote>.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-autorescan"><option>AutoRescan</option></term> -<listitem> -<para> -This boolean controls whether &kdm; automatically re-reads its -configuration files if it finds them to have changed. -</para> -<para>The default is <quote>true</quote>.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-exportlist"><option>ExportList</option></term> -<listitem> -<para> -Additional environment variables &kdm; should pass on to all programs it runs. -<envar>LD_LIBRARY_PATH</envar> and <envar>XCURSOR_THEME</envar> are good candidates; -otherwise, it should not be necessary very often. -</para> -<para>Empty by default.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-randomfile"><option>RandomFile</option></term> -<listitem> -<para> -If the system has no native entropy source like /dev/urandom (see -<option>RandomDevice</option>) and no entropy daemon like EGD (see -<option>PrngdSocket</option> and <option>PrngdPort</option>) is running, -&kdm; will fall back to its own pseudo-random number generator -that will, among other things, successively checksum parts of this file -(which, obviously, should change frequently). -</para><para> -This option does not exist on Linux and various BSDs. -</para> -<para>The default is <quote>/dev/mem</quote>.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-prngdsocket"><option>PrngdSocket</option></term> -<listitem> -<para> -If the system has no native entropy source like /dev/urandom (see -<option>RandomDevice</option>), read random data from a Pseudo-Random -Number Generator Daemon, -like EGD (http://egd.sourceforge.net) via this UNIX domain socket. -</para><para> -This option does not exist on Linux and various BSDs. -</para> -<para>Empty by default.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-prngdport"><option>PrngdPort</option></term> -<listitem> -<para> -Same as <option>PrngdSocket</option>, only use a TCP socket on localhost. -</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-randomdevice"><option>RandomDevice</option></term> -<listitem> -<para> -The path to a character device which &kdm; should read random data from. -Empty means to use the system's preferred entropy device if there is one. -</para><para> -This option does not exist on OpenBSD, as it uses the arc4_random -function instead. -</para> -<para>Empty by default.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-fifodir"><option>FifoDir</option></term> -<listitem> -<para> -The directory in which the command sockets should -be created; make it empty to disable them. -</para> -<para>The default is <quote>/var/run/xdmctl</quote>.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-fifogroup"><option>FifoGroup</option></term> -<listitem> -<para> -The group to which the global command socket should belong; -can be either a name or a numerical ID. -</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-greeteruid"><option>GreeterUID</option></term> -<listitem> -<para> -The user the greeter should run as. Empty results in <systemitem class="username">root</systemitem>. -Consider the impact on <option>LogSource</option> when setting it. -</para> -<para>Empty by default.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-datadir"><option>DataDir</option></term> -<listitem> -<para> -The directory in which &kdm; should store persistent working data; such data -is, for example, the previous user that logged in on a particular display. -</para> -<para>The default is <quote>/var/lib/kdm</quote>.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-dmrcdir"><option>DmrcDir</option></term> -<listitem> -<para> -The directory in which &kdm; should store users' <filename>.dmrc</filename> files. This is only -needed if the home directories are not readable before actually logging in -(like with AFS). -</para> -<para>Empty by default.</para> -</listitem> -</varlistentry> - -</variablelist> -</sect2> - - -<sect2 id="kdmrc-xdmcp"> -<title>The [Xdmcp] section of &kdmrc;</title> - -<para> -This section contains options that control &kdm;'s handling of -&XDMCP; requests. -</para> - -<variablelist> - -<varlistentry> -<term id="option-enable"><option>Enable</option></term> -<listitem> -<para> -Whether &kdm; should listen to incoming &XDMCP; requests. -</para> -<para>The default is <quote>true</quote>.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-port"><option>Port</option></term> -<listitem> -<para> -This indicates the UDP port number which &kdm; uses to listen for incoming -&XDMCP; requests. Unless you need to debug the system, leave this with its -default value. -</para> -<para>The default is <quote>177</quote>.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-keyfile"><option>KeyFile</option></term> -<listitem> -<para> -XDM-AUTHENTICATION-1 style &XDMCP; authentication requires a private -key to be shared between &kdm; and the terminal. This option specifies -the file containing those values. Each entry in the file consists of a -display name and the shared key. -</para> -<para>Empty by default.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-xaccess"><option>Xaccess</option></term> -<listitem> -<para> -To prevent unauthorized &XDMCP; service and to allow forwarding of &XDMCP; -IndirectQuery requests, this file contains a database of hostnames which -are either allowed direct access to this machine, or have a list of hosts -to which queries should be forwarded to. The format of this file is -described in <xref linkend="kdmrc-xaccess"/>. -</para> -<para>The default is <quote>${<envar>kde_confdir</envar>}/kdm/Xaccess</quote>.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-choicetimeout"><option>ChoiceTimeout</option></term> -<listitem> -<para> -Number of seconds to wait for the display to respond after the user has -selected a host from the chooser. If the display sends an &XDMCP; -IndirectQuery within this time, the request is forwarded to the chosen -host; otherwise, it is assumed to be from a new session and the chooser -is offered again. -</para> -<para>The default is <quote>15</quote>.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-removedomainname"><option>RemoveDomainname</option></term> -<listitem> -<para> -When computing the display name for &XDMCP; clients, the name resolver will -typically create a fully qualified host name for the terminal. As this is -sometimes confusing, &kdm; will remove the domain name portion of the host -name if it is the same as the domain name of the local host when this option -is enabled. -</para> -<para>The default is <quote>true</quote>.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-sourceaddress"><option>SourceAddress</option></term> -<listitem> -<para> -Use the numeric IP address of the incoming connection on multihomed hosts -instead of the host name. This is to avoid trying to connect on the wrong -interface which might be down at this time. -</para> -<para>The default is <quote>false</quote>.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-willing"><option>Willing</option></term> -<listitem> -<para> -This specifies a program which is run (as -<systemitem class="username">root</systemitem>) when an &XDMCP; -DirectQuery or BroadcastQuery is received and this host is configured -to offer &XDMCP; display management. The output of this program may be -displayed in a chooser window. If no program is specified, the string -<quote>Willing to manage</quote> is sent. -</para> -<para>Empty by default.</para> -</listitem> -</varlistentry> - -</variablelist> -</sect2> - - -<sect2 id="kdmrc-shutdown"> -<title>The [Shutdown] section of &kdmrc;</title> - -<para> -This section contains global options concerning system shutdown. -</para> - -<variablelist> - -<varlistentry> -<term id="option-haltcmd"><option>HaltCmd</option></term> -<listitem> -<para> -The command (subject to word splitting) to run to halt/poweroff the system. -</para><para> -The default is something reasonable for the system on which &kdm; was built, like -<command>/sbin/shutdown <option>-h</option> <parameter>now</parameter></command>. -</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-rebootcmd"><option>RebootCmd</option></term> -<listitem> -<para> -The command (subject to word splitting) to run to reboot the system. -</para><para> -The default is something reasonable for the system &kdm; on which was built, like -<command>/sbin/shutdown <option>-r</option> <parameter>now</parameter></command>. -</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-allowfifo"><option>AllowFifo</option></term> -<listitem> -<para> -Whether it is allowed to shut down the system via the global command socket. -</para> -<para>The default is <quote>false</quote>.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-allowfifonow"><option>AllowFifoNow</option></term> -<listitem> -<para> -Whether it is allowed to abort active sessions when shutting down the -system via the global command socket. -</para><para> -This will have no effect unless <option>AllowFifo</option> is enabled. -</para> -<para>The default is <quote>true</quote>.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-bootmanager"><option>BootManager</option></term> -<listitem> -<para> -The boot manager &kdm; should use for offering boot options in the -shutdown dialog. -</para> -<variablelist> -<varlistentry> -<term><parameter>None</parameter></term> -<listitem><para>no boot manager</para></listitem> -</varlistentry> -<varlistentry> -<term><parameter>Grub</parameter></term> -<listitem><para>Grub boot manager</para></listitem> -</varlistentry> -<varlistentry> -<term><parameter>Grub2</parameter></term> -<listitem><para>Grub2 boot manager</para></listitem> -</varlistentry> -<varlistentry> -<term><parameter>Lilo</parameter></term> -<listitem><para>Lilo boot manager (Linux on i386 & x86-64 only)</para></listitem> -</varlistentry> -</variablelist> -<para>The default is <quote>None</quote>.</para> -</listitem> -</varlistentry> - -</variablelist> -</sect2> - - -<sect2 id="kdmrc-core"> -<title>The [X-*-Core] section class of &kdmrc;</title> - -<para> -This section class contains options concerning the configuration -of the &kdm; backend (core). -</para> - -<variablelist> - -<varlistentry> -<term id="option-opendelay"><option>OpenDelay</option></term> -<listitem> -<para> -See <option>OpenRepeat</option>. -</para> -<para>The default is <quote>15</quote>.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-opentimeout"><option>OpenTimeout</option></term> -<listitem> -<para> -See <option>OpenRepeat</option>. -</para> -<para>The default is <quote>120</quote>.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-openrepeat"><option>OpenRepeat</option></term> -<listitem> -<para> -These options control the behavior of &kdm; when attempting to open a -connection to an &X-Server;. <option>OpenDelay</option> is the length -of the pause (in seconds) between successive attempts, -<option>OpenRepeat</option> is the number of attempts to make and -<option>OpenTimeout</option> is the amount of time to spend on a -connection attempt. After <option>OpenRepeat</option> attempts have been -made, or if <option>OpenTimeout</option> seconds elapse in any particular -connection attempt, the start attempt is considered failed. -</para> -<para>The default is <quote>5</quote>.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-startattempts"><option>StartAttempts</option></term> -<listitem> -<para> -How many times &kdm; should attempt to start a <literal>foreign</literal> -display listed in <option>StaticServers</option> before giving up -and disabling it. -Local displays are attempted only once, and &XDMCP; displays are retried -indefinitely by the client (unless the option <option>-once</option> -was given to the &X-Server;). -</para> -<para>The default is <quote>4</quote>.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-serverattempts"><option>ServerAttempts</option></term> -<listitem> -<para> -How many times &kdm; should attempt to start up a local &X-Server;. -Starting up includes executing it and waiting for it to come up. -</para> -<para>The default is <quote>1</quote>.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-servertimeout"><option>ServerTimeout</option></term> -<listitem> -<para> -How many seconds &kdm; should wait for a local &X-Server; to come up. -</para> -<para>The default is <quote>30</quote>.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-servercmd"><option>ServerCmd</option></term> -<listitem> -<para> -The command line to start the &X-Server;, without display number and VT spec. -Note that with some &X-Server;s (in particular, OpenSolaris') it is necessary -to put most additional arguments into <option>ServerArgsLocal</option> and -<option>ServerArgsRemote</option> even if they are the same for both. -This string is subject to word splitting. -</para><para> -The default is something reasonable for the system on which &kdm; was built, -like <command>/usr/X11R6/bin/X</command>. -</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-serverargslocal"><option>ServerArgsLocal</option></term> -<listitem> -<para> -Additional arguments for the &X-Server;s for local sessions. -This string is subject to word splitting. -</para> -<para>Empty by default.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-serverargsremote"><option>ServerArgsRemote</option></term> -<listitem> -<para> -Additional arguments for the &X-Server;s for remote sessions. -This string is subject to word splitting. -</para> -<para>Empty by default.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-servervt"><option>ServerVT</option></term> -<listitem> -<para> -The VT the &X-Server; should run on. -<option>ServerVTs</option> should be used instead of this option. -Leave it zero to let &kdm; assign a <acronym>VT</acronym> automatically. -Set it to <literal>-1</literal> to avoid assigning a <acronym>VT</acronym> -alltogether - this is required for setups with multiple physical consoles. -Currently Linux only. -</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-servertty"><option>ServerTTY</option></term> -<listitem> -<para> -This option is for <acronym>OS</acronym>s without support for -<acronym>VT</acronym>s, either by &kdm; or the <acronym>OS</acronym> itself. -Currently this applies to all <acronym>OS</acronym>s but Linux. -</para><para> -When &kdm; switches to console mode, it starts monitoring this -<acronym>TTY</acronym> line (specified without the leading -<literal>/dev/</literal>) for activity. If the line is not used for some time, -&kdm; switches back to the X login. -</para> -<para>Empty by default.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-serveruid"><option>ServerUID</option></term> -<listitem> -<para> -The user the &X-Server; should run as. Empty results in <systemitem class="username">root</systemitem>. -</para> -<para>Empty by default.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-pinginterval"><option>PingInterval</option></term> -<listitem> -<para> -See <option>PingTimeout</option>. -</para> -<para>The default is <quote>5</quote>.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-pingtimeout"><option>PingTimeout</option></term> -<listitem> -<para> -To discover when <emphasis>remote</emphasis> displays disappear, &kdm; -regularly pings them. -<option>PingInterval</option> specifies the time (in minutes) between the -pings and <option>PingTimeout</option> specifies the maximum amount of -time (in minutes) to wait for the terminal to respond to the request. If -the terminal does not respond, the session is declared dead and terminated. -</para><para> -If you frequently use X terminals which can become isolated from -the managing host, you may wish to increase the timeout. The only worry -is that sessions will continue to exist after the terminal has been -accidentally disabled. -</para> -<para>The default is <quote>5</quote>.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-terminateserver"><option>TerminateServer</option></term> -<listitem> -<para> -Whether &kdm; should restart the local &X-Server; after session exit instead -of resetting it. Use this if the &X-Server; leaks memory or crashes the system -on reset attempts. -</para> -<para>The default is <quote>false</quote>.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-authorize"><option>Authorize</option></term> -<listitem> -<para> -Controls whether &kdm; generates and uses authorization for -<emphasis>local</emphasis> &X-Server; connections. -For &XDMCP; displays the authorization requested by the display is used; -foreign non-&XDMCP; displays do not support authorization at all. -</para> -<para>The default is <quote>true</quote>.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-authnames"><option>AuthNames</option></term> -<listitem> -<para> -If <option>Authorize</option> is true, use the authorization mechanisms -listed herein. The MIT-MAGIC-COOKIE-1 authorization is always available; -XDM-AUTHORIZATION-1, SUN-DES-1 and MIT-KERBEROS-5 might be available as well, -depending on the build configuration. -</para> -<para>The default is <quote>DEF_AUTH_NAME</quote>.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-resetforauth"><option>ResetForAuth</option></term> -<listitem> -<para> -Some <emphasis>old</emphasis> &X-Server;s re-read the authorization file -at &X-Server; reset time, instead of when checking the initial connection. -As &kdm; generates the authorization information just before connecting to -the display, an old &X-Server; would not get up-to-date authorization -information. This option causes &kdm; to send SIGHUP to the &X-Server; -after setting up the file, causing an additional &X-Server; reset to occur, -during which time the new authorization information will be read. -</para> -<para>The default is <quote>false</quote>.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-authfile"><option>AuthFile</option></term> -<listitem> -<para> -This file is used to communicate the authorization data from &kdm; to -the &X-Server;, using the <option>-auth</option> &X-Server; command line -option. It should be kept in a directory which is not world-writable -as it could easily be removed, disabling the authorization mechanism in -the &X-Server;. If not specified, a random name is generated from -<option>AuthDir</option> and the name of the display. -</para> -<para>Empty by default.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-resources"><option>Resources</option></term> -<listitem> -<para> -This option specifies the name of the file to be loaded by -<command>xrdb</command> as the resource database onto the root window -of screen 0 of the display. KDE programs generally do not use -X-resources, so this option is only needed if the <option>Setup</option> -program needs some X-resources. -</para> -<para>Empty by default.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-xrdb"><option>Xrdb</option></term> -<listitem> -<para> -The <command>xrdb</command> program to use to read the X-resources file -specified in <option>Recources</option>. -The command is subject to word splitting. -</para> -<para>The default is <quote>${<envar>x_bindir</envar>}/xrdb</quote>.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-setup"><option>Setup</option></term> -<listitem> -<para> -This string is subject to word splitting. -It specifies a program which is run (as -<systemitem class="username">root</systemitem>) before offering the -greeter window. This may be used to change the appearance of the screen -around the greeter window or to put up other windows (e.g., you may want -to run <command>xconsole</command> here). -Usually, a script named <command>Xsetup</command> is used here. -See <xref linkend="kdmrc-xsetup"/>. -</para> -<para>Empty by default.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-startup"><option>Startup</option></term> -<listitem> -<para> -This string is subject to word splitting. -It specifies a program which is run (as -<systemitem class="username">root</systemitem>) after the user -authentication process succeeds. -Usually, a script named <command>Xstartup</command> is used here. -See <xref linkend="kdmrc-xstartup"/>. -</para> -<para>Empty by default.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-reset"><option>Reset</option></term> -<listitem> -<para> -This string is subject to word splitting. -It specifies a program which is run (as -<systemitem class="username">root</systemitem>) after the session -terminates. -Usually, a script named <command>Xreset</command> is used here. -See <xref linkend="kdmrc-xreset"/>. -</para> -<para>Empty by default.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-session"><option>Session</option></term> -<listitem> -<para> -This string is subject to word splitting. -It specifies the session program to be executed (as the user owning -the session). -Usually, a script named <command>Xsession</command> is used here. -See <xref linkend="kdmrc-xsession"/>. -</para> -<para>The default is <quote>${<envar>x_bindir</envar>}/xterm -ls -T</quote>.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-failsafeclient"><option>FailsafeClient</option></term> -<listitem> -<para> -If the <option>Session</option> program fails to execute, &kdm; will -fall back to this program. This program is executed with no arguments, -but executes using the same environment variables as the session would -have had (see <xref linkend="kdmrc-xsession"/>). -</para> -<para>The default is <quote>${<envar>x_bindir</envar>}/xterm</quote>.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-userpath"><option>UserPath</option></term> -<listitem> -<para> -The <envar>PATH</envar> environment variable for -non-<systemitem class="username">root</systemitem> <option>Session</option>s. -</para><para> -The default depends on the system &kdm; was built on. -</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-systempath"><option>SystemPath</option></term> -<listitem> -<para> -The <envar>PATH</envar> environment variable for all programs but -non-<systemitem class="username">root</systemitem> -<option>Session</option>s. Note that it is good practice not to include -<literal>.</literal> (the current directory) into this entry. -</para><para> -The default depends on the system &kdm; was built on. -</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-systemshell"><option>SystemShell</option></term> -<listitem> -<para> -The <envar>SHELL</envar> environment variable for all programs but the -<option>Session</option>. -</para> -<para>The default is <quote>/bin/sh</quote>.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-userauthdir"><option>UserAuthDir</option></term> -<listitem> -<para> -When &kdm; is unable to write to the usual user authorization file -($<envar>HOME</envar>/.Xauthority), it creates a unique file name in this -directory and points the environment variable <envar>XAUTHORITY</envar> -at the created file. -</para> -<para>The default is <quote>/tmp</quote>.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-forceuserauthdir"><option>ForceUserAuthDir</option></term> -<listitem> -<para> -If true, <option>UserAuthDir</option> will be used unconditionally. -</para> -<para>The default is <quote>false</quote>.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-autorelogin"><option>AutoReLogin</option></term> -<listitem> -<para> -If enabled, &kdm; will automatically restart a session after an &X-Server; -crash (or if it is killed by Alt-Ctrl-BackSpace). Note that enabling this -feature opens a security hole: a secured display lock can be circumvented -(unless &kde;'s built-in screen locker is used). -</para> -<para>The default is <quote>false</quote>.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-allowrootlogin"><option>AllowRootLogin</option></term> -<listitem> -<para> -If disabled, do not allow <systemitem class="username">root</systemitem> -(and any other user with UID = 0) to log in directly. -</para> -<para>The default is <quote>true</quote>.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-allownullpasswd"><option>AllowNullPasswd</option></term> -<listitem> -<para> -If disabled, only users that have passwords assigned can log in. -</para> -<para>The default is <quote>true</quote>.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-allowshutdown"><option>AllowShutdown</option></term> -<listitem> -<para> -Who is allowed to shut down the system. This applies both to the -greeter and to the command sockets. -</para> -<variablelist> -<varlistentry> -<term><parameter>None</parameter></term> -<listitem><para>no <guilabel>Shutdown...</guilabel> menu entry is shown at all</para></listitem> -</varlistentry> -<varlistentry> -<term><parameter>Root</parameter></term> -<listitem><para>the <systemitem class="username">root</systemitem> password must be entered to shut down</para></listitem> -</varlistentry> -<varlistentry> -<term><parameter>All</parameter></term> -<listitem><para>everybody can shut down the machine</para></listitem> -</varlistentry> -</variablelist> -<para>The default is <quote>All</quote>.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-allowsdforcenow"><option>AllowSdForceNow</option></term> -<listitem> -<para> -Who is allowed to abort active sessions when shutting down. -</para> -<variablelist> -<varlistentry> -<term><parameter>None</parameter></term> -<listitem><para>no forced shutdown is allowed at all</para></listitem> -</varlistentry> -<varlistentry> -<term><parameter>Root</parameter></term> -<listitem><para>the <systemitem class="username">root</systemitem> password must be entered to shut down forcibly</para></listitem> -</varlistentry> -<varlistentry> -<term><parameter>All</parameter></term> -<listitem><para>everybody can shut down the machine forcibly</para></listitem> -</varlistentry> -</variablelist> -<para>The default is <quote>All</quote>.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-defaultsdmode"><option>DefaultSdMode</option></term> -<listitem> -<para> -The default choice for the shutdown condition/timing. -</para> -<variablelist> -<varlistentry> -<term><parameter>Schedule</parameter></term> -<listitem><para>shut down after all active sessions exit (possibly at once)</para></listitem> -</varlistentry> -<varlistentry> -<term><parameter>TryNow</parameter></term> -<listitem><para>shut down, if no active sessions are open; otherwise, do nothing</para></listitem> -</varlistentry> -<varlistentry> -<term><parameter>ForceNow</parameter></term> -<listitem><para>shut down unconditionally</para></listitem> -</varlistentry> -</variablelist> -<para>The default is <quote>Schedule</quote>.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-scheduledsd"><option>ScheduledSd</option></term> -<listitem> -<para> -How to offer shutdown scheduling options: -</para> -<variablelist> -<varlistentry> -<term><parameter>Never</parameter></term> -<listitem><para>not at all</para></listitem> -</varlistentry> -<varlistentry> -<term><parameter>Optional</parameter></term> -<listitem><para>as a button in the simple shutdown dialogs</para></listitem> -</varlistentry> -<varlistentry> -<term><parameter>Always</parameter></term> -<listitem><para>instead of the simple shutdown dialogs</para></listitem> -</varlistentry> -</variablelist> -<para>The default is <quote>Never</quote>.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-nopassenable"><option>NoPassEnable</option></term> -<listitem> -<para> -Enable password-less logins on this display. <emphasis>Use with extreme care!</emphasis> -</para> -<para>The default is <quote>false</quote>.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-nopassusers"><option>NoPassUsers</option></term> -<listitem> -<para> -The users that do not need to provide a password to log in. -Items which are prefixed with <literal>@</literal> represent all users in the -user group named by that item. -<literal>*</literal> means all users but -<systemitem class="username">root</systemitem> -(and any other user with UID = 0). -<emphasis>Never</emphasis> list <systemitem class="username">root</systemitem>. -</para> -<para>Empty by default.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-autologinenable"><option>AutoLoginEnable</option></term> -<listitem> -<para> -Enable automatic login. <emphasis>Use with extreme care!</emphasis> -</para> -<para>The default is <quote>false</quote>.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-autologinagain"><option>AutoLoginAgain</option></term> -<listitem> -<para> -If true, auto-login after logout. If false, auto-login is performed only -when a display session starts up. -</para> -<para>The default is <quote>false</quote>.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-autologindelay"><option>AutoLoginDelay</option></term> -<listitem> -<para> -The delay in seconds before automatic login kicks in. This is also known as -<quote>Timed Login</quote>. -</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-autologinuser"><option>AutoLoginUser</option></term> -<listitem> -<para> -The user to log in automatically. <emphasis>Never</emphasis> specify <systemitem class="username">root</systemitem>! -</para> -<para>Empty by default.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-autologinpass"><option>AutoLoginPass</option></term> -<listitem> -<para> -The password for the user to log in automatically. This is <emphasis>not</emphasis> required -unless the user is logged into a <acronym>NIS</acronym> or Kerberos domain. If you use this -option, you should <command>chmod <option>600</option> <filename>kdmrc</filename></command> for obvious reasons. -</para> -<para>Empty by default.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-autologinlocked"><option>AutoLoginLocked</option></term> -<listitem> -<para> -Immediately lock the automatically started session. This works only with -KDE sessions. -</para> -<para>The default is <quote>false</quote>.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-sessionsdirs"><option>SessionsDirs</option></term> -<listitem> -<para> -A list of directories containing session type definitions. -Ordered by falling priority. -</para> -<para>The default is <quote>${<envar>kde_datadir</envar>}/kdm/sessions</quote>.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-clientlogfile"><option>ClientLogFile</option></term> -<listitem> -<para> -The file (relative to the user's home directory) to redirect the session -output to. -</para><para> -The following character pairs are replaced by their value: -<variablelist> -<varlistentry> -<term><parameter>%d</parameter></term> -<listitem><para>name of the current display</para></listitem> -</varlistentry> -<varlistentry> -<term><parameter>%u</parameter></term> -<listitem><para>login name of the current user</para></listitem> -</varlistentry> -<varlistentry> -<term><parameter>%r</parameter></term> -<listitem><para>empty at first. See below.</para></listitem> -</varlistentry> -<varlistentry> -<term><parameter>%%</parameter></term> -<listitem><para>a single <literal>%</literal></para></listitem> -</varlistentry> -</variablelist> -When the constructed filename cannot be used safely and the specification -contains -<literal>%</literal><replaceable>stuff</replaceable><literal>r</literal>, -other names will be tried - this time expanding -<literal>%</literal><replaceable>stuff</replaceable><literal>r</literal> -to <replaceable>stuff</replaceable> followed by a random number. -</para> -<para>The default is <quote>.xsession-errors</quote>.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-clientlogfallback"><option>ClientLogFallback</option></term> -<listitem> -<para> -Fallback when <option>ClientLogFile</option> cannot be used. The same expansions are -supported. <emphasis>Do not</emphasis> use relative paths here. -</para> -<para>The default is <quote>/tmp/xerr-%u-%d%-r</quote>.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-usesessreg"><option>UseSessReg</option></term> -<listitem> -<para> -Specify whether &kdm;'s built-in utmp/wtmp/lastlog registration should -be used. If it is not, the tool <command>sessreg</command> should be used -in the <option>Startup</option> and <option>Reset</option> scripts, or, -alternatively, the pam_lastlog module should be used on -<acronym>PAM</acronym>-enabled systems. -</para> -<para>The default is <quote>true</quote>.</para> -</listitem> -</varlistentry> - -</variablelist> -</sect2> - - -<sect2 id="kdmrc-greeter"> -<title>The [X-*-Greeter] section class of &kdmrc;</title> - -<para> -This section class contains options concerning the configuration -of the &kdm; frontend (greeter). -</para> - -<variablelist> - -<varlistentry> -<term id="option-guistyle"><option>GUIStyle</option></term> -<listitem> -<para> -Specify the widget style for the greeter. Empty means to use the -built-in default which currently is <literal>Oxygen-air</literal>. -</para> -<para>Empty by default.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-colorscheme"><option>ColorScheme</option></term> -<listitem> -<para> -Specify the widget color scheme for the greeter. Empty means to use the -built-in default which currently is <literal>Oxygen-air</literal>. -</para> -<para>Empty by default.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-logoarea"><option>LogoArea</option></term> -<listitem> -<para> -What should be shown in the greeter righthand of the input lines (if -<option>UserList</option> is disabled) or above them (if -<option>UserList</option> is enabled): -</para> -<variablelist> -<varlistentry> -<term><parameter>None</parameter></term> -<listitem><para>nothing</para></listitem> -</varlistentry> -<varlistentry> -<term><parameter>Logo</parameter></term> -<listitem><para>the image specified by <option>LogoPixmap</option></para></listitem> -</varlistentry> -<varlistentry> -<term><parameter>Clock</parameter></term> -<listitem><para>a neat analog clock</para></listitem> -</varlistentry> -</variablelist> -<para>The default is <quote>Clock</quote>.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-logopixmap"><option>LogoPixmap</option></term> -<listitem> -<para> -The image to show in the greeter if <option>LogoArea</option> is -<literal>Logo</literal>. -</para> -<para>Empty by default.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-greeterpos"><option>GreeterPos</option></term> -<listitem> -<para> -The relative coordinates (percentages of the screen size; X,Y) at which -the center of the greeter is put. &kdm; aligns the greeter to the edges -of the screen it would cross otherwise. -</para> -<para>The default is <quote>50,50</quote>.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-greeterscreen"><option>GreeterScreen</option></term> -<listitem> -<para> -The screen the greeter should be displayed on in multi-headed and Xinerama -setups. The numbering starts with 0. For Xinerama, it corresponds to the -listing order in the active ServerLayout section of XF86Config; -1 means -to use the upper-left screen, -2 means to use the upper-right screen. -</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-greetstring"><option>GreetString</option></term> -<listitem> -<para> -The headline in the greeter. An empty greeting means none at all. -</para><para> -The following character pairs are replaced by their value: -<variablelist> -<varlistentry> -<term><parameter>%d</parameter></term> -<listitem><para>name of the current display</para></listitem> -</varlistentry> -<varlistentry> -<term><parameter>%h</parameter></term> -<listitem><para>local host name, possibly with the - domain name</para></listitem> -</varlistentry> -<varlistentry> -<term><parameter>%n</parameter></term> -<listitem><para>local node name, most probably the host name without the - domain name</para></listitem> -</varlistentry> -<varlistentry> -<term><parameter>%s</parameter></term> -<listitem><para>operating system</para></listitem> -</varlistentry> -<varlistentry> -<term><parameter>%r</parameter></term> -<listitem><para>operating system version</para></listitem> -</varlistentry> -<varlistentry> -<term><parameter>%m</parameter></term> -<listitem><para>machine (hardware) type</para></listitem> -</varlistentry> -<varlistentry> -<term><parameter>%%</parameter></term> -<listitem><para>a single <literal>%</literal></para></listitem> -</varlistentry> -</variablelist> -</para> -<para>The default is <quote>Welcome to %s at %n</quote>.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-antialiasing"><option>AntiAliasing</option></term> -<listitem> -<para> -Whether the fonts used in the greeter should be antialiased. -</para> -<para>The default is <quote>false</quote>.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-greetfont"><option>GreetFont</option></term> -<listitem> -<para> -The font for the greeter headline. The value is encoded. -</para> -<para>The default is <quote>Serif 20pt bold</quote>.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-stdfont"><option>StdFont</option></term> -<listitem> -<para> -The normal font used in the greeter. The value is encoded. -</para> -<para>The default is <quote>Sans Serif 10pt</quote>.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-failfont"><option>FailFont</option></term> -<listitem> -<para> -The font used for the <quote>Login Failed</quote> message. The value is encoded. -</para> -<para>The default is <quote>Sans Serif 10pt bold</quote>.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-numlock"><option>NumLock</option></term> -<listitem> -<para> -What to do with the Num Lock modifier for the time the greeter is running: -</para> -<variablelist> -<varlistentry> -<term><parameter>Off</parameter></term> -<listitem><para>turn off</para></listitem> -</varlistentry> -<varlistentry> -<term><parameter>On</parameter></term> -<listitem><para>turn on</para></listitem> -</varlistentry> -<varlistentry> -<term><parameter>Keep</parameter></term> -<listitem><para>do not change the state</para></listitem> -</varlistentry> -</variablelist> -<para>The default is <quote>Keep</quote>.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-language"><option>Language</option></term> -<listitem> -<para> -Language and locale to use in the greeter, encoded like $<envar>LANGUAGE</envar>. -If empty, the settings from the environment are used. -</para> -<para>Empty by default.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-usercompletion"><option>UserCompletion</option></term> -<listitem> -<para> -Enable autocompletion in the username line edit. -</para> -<para>The default is <quote>false</quote>.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-userlist"><option>UserList</option></term> -<listitem> -<para> -Show a user list with unix login names, real names, and images in the greeter. -</para> -<para>The default is <quote>true</quote>.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-showusers"><option>ShowUsers</option></term> -<listitem> -<para> -This option controls which users will be shown in the user view -(<option>UserList</option>) and/or offered for autocompletion -(<option>UserCompletion</option>). -If it is <literal>Selected</literal>, <option>SelectedUsers</option> contains -the final list of users. -If it is <literal>NotHidden</literal>, the initial user list contains all -users found on the system. Users contained in <option>HiddenUsers</option> are -removed from the list, just like all users with a UID greater than specified -in <option>MaxShowUID</option> and users with a non-zero UID less than -specified in <option>MinShowUID</option>. -Items in <option>SelectedUsers</option> and <option>HiddenUsers</option> -which are prefixed with <literal>@</literal> represent all users in the -user group named by that item. -Finally, the user list will be sorted alphabetically, if -<option>SortUsers</option> is enabled. -</para> -<para>The default is <quote>NotHidden</quote>.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-selectedusers"><option>SelectedUsers</option></term> -<listitem> -<para> -See <option>ShowUsers</option>. -</para> -<para>Empty by default.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-hiddenusers"><option>HiddenUsers</option></term> -<listitem> -<para> -See <option>ShowUsers</option>. -</para> -<para>Empty by default.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-minshowuid"><option>MinShowUID</option></term> -<listitem> -<para> -See <option>ShowUsers</option>. -</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-maxshowuid"><option>MaxShowUID</option></term> -<listitem> -<para> -See <option>ShowUsers</option>. -</para> -<para>The default is <quote>65535</quote>.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-sortusers"><option>SortUsers</option></term> -<listitem> -<para> -See <option>ShowUsers</option>. -</para> -<para>The default is <quote>true</quote>.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-facesource"><option>FaceSource</option></term> -<listitem> -<para> -If <option>UserList</option> is enabled, this specifies where &kdm; gets the -images from: -</para> -<variablelist> -<varlistentry> -<term><parameter>AdminOnly</parameter></term> -<listitem><para>from <filename><<option>FaceDir</option>>/$<envar>USER</envar>.face[.icon]</filename></para></listitem> -</varlistentry> -<varlistentry> -<term><parameter>PreferAdmin</parameter></term> -<listitem><para>prefer <<option>FaceDir</option>>, fallback on $<envar>HOME</envar></para></listitem> -</varlistentry> -<varlistentry> -<term><parameter>PreferUser</parameter></term> -<listitem><para>... and the other way round</para></listitem> -</varlistentry> -<varlistentry> -<term><parameter>UserOnly</parameter></term> -<listitem><para>from the user's <filename>$<envar>HOME</envar>/.face[.icon]</filename></para></listitem> -</varlistentry> -</variablelist> - -<para> -The images can be in any format Qt recognizes, but the filename -must match &kdm;'s expectations: <literal>.face.icon</literal> should be a -48x48 icon, while <literal>.face</literal> should be a 300x300 image. -Currently the big image is used only as a fallback and is scaled down, -but in the future it might be displayed full-size in the logo area or a -tooltip. -To be accessible to &kdm;, the images must be world readable and their -parent directories must be world executable. -</para> -<para>The default is <quote>AdminOnly</quote>.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-facedir"><option>FaceDir</option></term> -<listitem> -<para> -See <option>FaceSource</option>. -</para> -<para>The default is <quote>${<envar>kde_datadir</envar>}/kdm/faces</quote>.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-preselectuser"><option>PreselectUser</option></term> -<listitem> -<para> -Specify, if/which user should be preselected for log in: -</para> -<variablelist> -<varlistentry> -<term><parameter>None</parameter></term> -<listitem><para>do not preselect any user</para></listitem> -</varlistentry> -<varlistentry> -<term><parameter>Previous</parameter></term> -<listitem><para>the user which successfully logged in last time</para></listitem> -</varlistentry> -<varlistentry> -<term><parameter>Default</parameter></term> -<listitem><para>the user specified in the <option>DefaultUser</option> option</para></listitem> -</varlistentry> -</variablelist> - -<para> -If <option>FocusPasswd</option> is enabled and a user was preselected, -the cursor is placed in the password input field automatically. -</para> -<note><para>Enabling user preselection can be considered a security hole, -as it presents a valid login name to a potential attacker, so he -<quote>only</quote> needs to guess the password. On the other hand, -one could set <option>DefaultUser</option> to a fake login name.</para></note> -<para> -</para> -<para>The default is <quote>None</quote>.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-defaultuser"><option>DefaultUser</option></term> -<listitem> -<para> -See <option>PreselectUser</option>. -</para> -<para>Empty by default.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-focuspasswd"><option>FocusPasswd</option></term> -<listitem> -<para> -See <option>PreselectUser</option>. -</para> -<para>The default is <quote>false</quote>.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-echopasswd"><option>EchoPasswd</option></term> -<listitem> -<para> -If this is true, the entered password is echoed as bullets. Otherwise, -no feedback is given at all. -</para> -<para>The default is <quote>true</quote>.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-usebackground"><option>UseBackground</option></term> -<listitem> -<para> -If enabled, &kdm; will automatically start the <command>krootimage</command> -program to set up the background; otherwise, the <option>Setup</option> -program is responsible for the background. -</para> -<para>The default is <quote>true</quote>.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-backgroundcfg"><option>BackgroundCfg</option></term> -<listitem> -<para> -The configuration file to be used by <command>krootimage</command>. -It contains a section named <literal>[Desktop0]</literal> like -<filename>kdesktoprc</filename> does. Its options are not described -herein; guess their meanings or use the control center. -</para> -<para>The default is <quote>${<envar>kde_confdir</envar>}/kdm/backgroundrc</quote>.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-grabinput"><option>GrabInput</option></term> -<listitem> -<para> -To improve security, the greeter may grab mouse and keyboard input so -no other X clients can eavesdrop it. However, the X authorization -mechanism will usually prevent malicious X clients from connecting -in the first place. Consequently, enabling grabs for local displays -is pointless and only marginally improves security for remote displays. -</para> -<note><para>The mouse grab will make on-screen keyboards unusable. -</para></note> -<para> -</para> -<variablelist> -<varlistentry> -<term><parameter>Never</parameter></term> -<listitem><para>never grab</para></listitem> -</varlistentry> -<varlistentry> -<term><parameter>IfNoAuth</parameter></term> -<listitem><para>grab if the display requires no X authorization</para></listitem> -</varlistentry> -<varlistentry> -<term><parameter>Always</parameter></term> -<listitem><para>always grab</para></listitem> -</varlistentry> -</variablelist> -<para>The default is <quote>IfNoAuth</quote>.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-grabserver"><option>GrabServer</option></term> -<listitem> -<para> -To improve security, the greeter grabs the &X-Server; and then the input -when it starts up. This option specifies if the &X-Server; grab should be held -for the duration of the name/password reading. When disabled, the &X-Server; -is ungrabbed after the input grabs succeed; otherwise, the &X-Server; is -grabbed until just before the session begins. -</para> -<note><para>Enabling this option disables <option>UseBackground</option> and -<option>Setup</option>.</para></note> -<para> -</para> -<para>The default is <quote>false</quote>.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-grabtimeout"><option>GrabTimeout</option></term> -<listitem> -<para> -This option specifies the maximum time &kdm; will wait for the grabs to -succeed. A grab may fail if some other X-client has the &X-Server; or the -keyboard grabbed, or possibly if the network latencies are very high. You -should be cautious when raising the timeout, as a user can be spoofed by -a look-alike window on the display. If a grab fails, &kdm; kills and -restarts the &X-Server; (if possible) and the session. -</para> -<para>The default is <quote>3</quote>.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-authcomplain"><option>AuthComplain</option></term> -<listitem> -<para> -Warn, if a display has no X-authorization. This will be the case if -<itemizedlist> - <listitem><para> - the authorization file for a local &X-Server; could not be created, - </para></listitem> - <listitem><para> - a remote display from &XDMCP; did not request any authorization or - </para></listitem> - <listitem><para> - the display is a <quote>foreign</quote> display specified in - <option>StaticServers</option>. - </para></listitem> -</itemizedlist> -</para> -<para>The default is <quote>true</quote>.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-loginmode"><option>LoginMode</option></term> -<listitem> -<para> -Specify whether the greeter of local displays should start up in host chooser -(remote) or login (local) mode and whether it is allowed to switch to the -other mode. -</para> -<variablelist> -<varlistentry> -<term><parameter>LocalOnly</parameter></term> -<listitem><para>only local login possible</para></listitem> -</varlistentry> -<varlistentry> -<term><parameter>DefaultLocal</parameter></term> -<listitem><para>start up in local mode, but allow switching to remote mode</para></listitem> -</varlistentry> -<varlistentry> -<term><parameter>DefaultRemote</parameter></term> -<listitem><para>... and the other way round</para></listitem> -</varlistentry> -<varlistentry> -<term><parameter>RemoteOnly</parameter></term> -<listitem><para>only choice of remote host possible</para></listitem> -</varlistentry> -</variablelist> -<para>The default is <quote>LocalOnly</quote>.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-chooserhosts"><option>ChooserHosts</option></term> -<listitem> -<para> -A list of hosts to be automatically added to the remote login menu. -The special name <literal>*</literal> means broadcast. -Has no effect if <option>LoginMode</option> is <literal>LocalOnly</literal>. -</para> -<para>The default is <quote>*</quote>.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-forgingseed"><option>ForgingSeed</option></term> -<listitem> -<para> -Use this number as a random seed when forging saved session types, etc. of -unknown users. This is used to avoid telling an attacker about existing users -by reverse conclusion. This value should be random but constant across the -login domain. -</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-showlog"><option>ShowLog</option></term> -<listitem> -<para> -Enable &kdm;'s built-in <command>xconsole</command>. -Note that this can be enabled for only one display at a time. -This option is available only if &kdm; was <command>configure</command>d -with <option>--enable-kdm-xconsole</option>. -</para> -<para>The default is <quote>false</quote>.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-logsource"><option>LogSource</option></term> -<listitem> -<para> -The data source for &kdm;'s built-in <command>xconsole</command>. -If empty, a console log redirection is requested from -<filename>/dev/console</filename>. -Has no effect if <option>ShowLog</option> is disabled. -</para> -<para>Empty by default.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-pluginslogin"><option>PluginsLogin</option></term> -<listitem> -<para> -Specify conversation plugins for the login dialog; the first in the list -is selected initially. -Each plugin can be specified as a base name (which expands to -<filename>$<envar>kde_modulesdir</envar>/kgreet_<replaceable>base</replaceable></filename>) -or as a full pathname. -</para><para> -Conversation plugins are modules for the greeter which obtain authentication -data from the user. Currently only the <literal>classic</literal> plugin is -shipped with &kde;; it presents the well-known username and password form. -</para> -<para>The default is <quote>classic</quote>.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-pluginsshutdown"><option>PluginsShutdown</option></term> -<listitem> -<para> -Same as <option>PluginsLogin</option>, but for the shutdown dialog. -</para> -<para>The default is <quote>classic</quote>.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-pluginoptions"><option>PluginOptions</option></term> -<listitem> -<para> -A list of options of the form -<replaceable>Key</replaceable><literal>=</literal><replaceable>Value</replaceable>. -The conversation plugins can query these settings; it is up to them what -possible keys are. -</para> -<para>Empty by default.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-allowconsole"><option>AllowConsole</option></term> -<listitem> -<para> -Show the <guilabel>Console Login</guilabel> action in the greeter (if <option>ServerTTY</option>/<option>ConsoleTTYs</option> -is configured). -</para> -<para>The default is <quote>true</quote>.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-allowclose"><option>AllowClose</option></term> -<listitem> -<para> -Show the <guilabel>Restart X Server</guilabel>/<guilabel>Close Connection</guilabel> action in the greeter. -</para> -<para>The default is <quote>true</quote>.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-preloader"><option>Preloader</option></term> -<listitem> -<para> -A program to run while the greeter is visible. It is supposed to preload -as much as possible of the session that is going to be started (most -probably). -</para> -<para>Empty by default.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-usetheme"><option>UseTheme</option></term> -<listitem> -<para> -Whether the greeter should be themed. -Note that the themed greeter is challenged accessibility-wise, and themes -may lack support for features like a user list or alternative -authentication methods. -</para> -<para>The default is <quote>false</quote>.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-theme"><option>Theme</option></term> -<listitem> -<para> -The theme to use for the greeter. Can point to either a directory or an XML -file. -</para> -<para>Empty by default.</para> -</listitem> -</varlistentry> - -<varlistentry> -<term id="option-allowthemedebug"><option>AllowThemeDebug</option></term> -<listitem> -<para> -Enable the Alt-Ctrl-D shortcut to toggle greeter theme debugging. -</para> -<para>The default is <quote>false</quote>.</para> -</listitem> -</varlistentry> - -</variablelist> -</sect2> - - - -</sect1> - -<sect1 id="kdmrc-xservers"> -<title>Specifying permanent &X-Server;s</title> - -<para>Each entry in the <option>StaticServers</option> list indicates a -display which should constantly be -managed and which is not using &XDMCP;. This method is typically used only for -local &X-Server;s that are started by &kdm;, but &kdm; can manage externally -started (<quote>foreign</quote>) &X-Server;s as well, may they run on the -local machine or rather remotely.</para> - -<para>The formal syntax of a specification is -<screen> -<userinput><replaceable>display name</replaceable> [<literal>_</literal><replaceable>display class</replaceable>]</userinput> -</screen> -for all &X-Server;s. <quote>Foreign</quote> displays differ in having -a host name in the display name, may it be <literal>localhost</literal>.</para> - -<para>The <replaceable>display name</replaceable> must be something that can -be passed in the <option>-display</option> option to an X program. This string -is used to generate the display-specific section names, so be careful to match -the names. -The display name of &XDMCP; displays is derived from the display's address by -reverse host name resolution. For configuration purposes, the -<literal>localhost</literal> prefix from locally running &XDMCP; displays is -<emphasis>not</emphasis> stripped to make them distinguishable from local -&X-Server;s started by &kdm;.</para> - -<para>The <replaceable>display class</replaceable> portion is also used in the -display-specific sections. This is useful if you have a large collection of -similar displays (such as a corral of X terminals) and would like to set -options for groups of them. -When using &XDMCP;, the display is required to specify the display class, -so the manual for your particular X terminal should document the display -class string for your device. If it does not, you can run &kdm; in debug -mode and <command>grep</command> the log for <quote>class</quote>.</para> - -<para>The displays specified in <option>ReserveServers</option> will not be -started when &kdm; starts up, but when it is explicitly requested via -the command socket. -If reserve displays are specified, the &kde; menu will have a -<guilabel>Start New Session</guilabel> item near the bottom; use that to -activate a reserve display with a new login session. The monitor will switch -to the new display, and you will have a minute to login. If there are no more -reserve displays available, the menu item will be disabled.</para> - -<para>When &kdm; starts a session, it sets up authorization data for the -&X-Server;. For local servers, &kdm; passes -<command><option>-auth</option> <filename><replaceable>filename</replaceable></filename></command> -on the &X-Server;'s command line to point it at its authorization data. -For &XDMCP; displays, &kdm; passes the authorization data to the &X-Server; -via the <quote>Accept</quote> &XDMCP; message.</para> - -</sect1> - -<sect1 id="kdmrc-xaccess"> -<title>&XDMCP; access control</title> - -<para>The file specified by the <option>AccessFile</option> option provides -information which &kdm; uses to control access from displays requesting service -via &XDMCP;. -The file contains four types of entries: entries which control the response -to <quote>Direct</quote> and <quote>Broadcast</quote> queries, entries which -control the response to <quote>Indirect</quote> queries, macro definitions, -and entries which control on which network interfaces &kdm; listens for &XDMCP; -queries. -Blank lines are ignored, <literal>#</literal> is treated as a comment -delimiter causing the rest of that line to be ignored, and <literal>\</literal> -causes an immediately following newline to be ignored, allowing host lists -to span multiple lines. -</para> - -<para>The format of the <quote>Direct</quote> entries is simple, either a -host name or a pattern, which is compared against the host name of the display -device. Alternatively, a macro may be used to make the entry match everything -the macro expands to. -Patterns are distinguished from host names by the inclusion of one or more -meta characters; <literal>*</literal> matches any sequence of 0 or more -characters, and <literal>?</literal> matches any single character. -If the entry is a host name, all comparisons are done using network addresses, -so any name which converts to the correct network address may be used. Note -that only the first network address returned for a host name is used. -For patterns, only canonical host names are used in the comparison, so ensure -that you do not attempt to match aliases. -Host names from &XDMCP; queries always contain the local domain name -even if the reverse lookup returns a short name, so you can use -patterns for the local domain. -Preceding the entry with a <literal>!</literal> character causes hosts which -match that entry to be excluded. Preceding it with an <literal>=</literal> has -no effect but is required when specifying a macro to distinguish the entry -from a macro definition. -To only respond to <quote>Direct</quote> queries for a host or pattern, -it can be followed by the optional <literal>NOBROADCAST</literal> keyword. -This can be used to prevent a &kdm; server from appearing on menus based on -<quote>Broadcast</quote> queries.</para> - -<para>An <quote>Indirect</quote> entry also contains a host name, pattern or -macro, but follows it with a list of host names or macros to which the queries -should be forwarded. <quote>Indirect</quote> entries can be excluding as well, -in which case a (valid) dummy host name must be supplied to make the entry -distinguishable from a <quote>Direct</quote> entry. -If compiled with IPv6 support, multicast address groups may also be included -in the list of addresses the queries are forwarded to. -<!-- Not actually implemented! -Multicast addresses may be followed by an optional <literal>/</literal> -character and hop count. If no hop count is specified, the multicast hop count -defaults to 1, keeping the packet on the local network. For IPv4 multicasting, -the hop count is used as the TTL. ---> -If the indirect host list contains the keyword <literal>CHOOSER</literal>, -<quote>Indirect</quote> queries are not forwarded, but instead a host chooser -dialog is displayed by &kdm;. The chooser will send a <quote>Direct</quote> -query to each of the remaining host names in the list and offer a menu of -all the hosts that respond. The host list may contain the keyword -<literal>BROADCAST</literal>, to make the chooser send a -<quote>Broadcast</quote> query as well; note that on some operating systems, -UDP packets cannot be broadcast, so this feature will not work. -</para> - -<para>When checking access for a particular display host, each entry is scanned -in turn and the first matching entry determines the response. -<quote>Direct</quote> and <quote>Broadcast</quote> entries are ignored when -scanning for an <quote>Indirect</quote> entry and vice-versa.</para> - -<para>A macro definition contains a macro name and a list of host names and -other macros that the macro expands to. To distinguish macros from hostnames, -macro names start with a <literal>%</literal> character.</para> - -<para>The last entry type is the <literal>LISTEN</literal> directive. -The formal syntax is -<screen> -<userinput> <literal>LISTEN</literal> [<replaceable>interface</replaceable> [<replaceable>multicast list</replaceable>]]</userinput> -</screen> -If one or more <literal>LISTEN</literal> lines are specified, &kdm; listens -for &XDMCP; requests only on the specified interfaces. -<replaceable>interface</replaceable> may be a hostname or IP address -representing a network interface on this machine, or the wildcard -<literal>*</literal> to represent all available network interfaces. -If multicast group addresses are listed on a <literal>LISTEN</literal> line, -&kdm; joins the multicast groups on the given interface. For IPv6 multicasts, -the IANA has assigned ff0<replaceable>X</replaceable>:0:0:0:0:0:0:12b as the -permanently assigned range of multicast addresses for &XDMCP;. The -<replaceable>X</replaceable> in the prefix may be replaced by any valid scope -identifier, such as 1 for Node-Local, 2 for Link-Local, 5 for Site-Local, and -so on (see IETF RFC 2373 or its replacement for further details and scope -definitions). &kdm; defaults to listening on the Link-Local scope address -ff02:0:0:0:0:0:0:12b to most closely match the IPv4 subnet broadcast behavior. -If no <literal>LISTEN</literal> lines are given, &kdm; listens on all -interfaces and joins the default &XDMCP; IPv6 multicast group (when -compiled with IPv6 support). -To disable listening for &XDMCP; requests altogether, a -<literal>LISTEN</literal> line with no addresses may be specified, but using -the <literal>[Xdmcp]</literal> <option>Enable</option> option is preferred. -</para> - -</sect1> - -<sect1 id="kdm-scripts"> -<title>Supplementary programs</title> - -<para> -The following programs are run by &kdm; at various stages of a session. -They typically are shell scripts. -</para> - -<para> -The Setup, Startup and Reset programs are run as -<systemitem class="username">root</systemitem>, so they should be careful -about security. -Their first argument is <literal>auto</literal> if the session results -from an automatic login; otherwise, no arguments are passed to them. -</para> - -<sect2 id="kdmrc-xsetup"> -<title>Setup program</title> - -<para> -The <filename>Xsetup</filename> program is run after the &X-Server; is -started or reset, but before the greeter is offered. -This is the place to change the root background (if -<option>UseBackground</option> is disabled) or bring up other windows that -should appear on the screen along with the greeter. Resources for this -program can be put into the file named by <option>Resources</option>. -</para> - -<para> -In addition to any specified by <option>ExportList</option>, -the following environment variables are passed:</para> -<variablelist> - <varlistentry> - <term>DISPLAY</term> - <listitem><para>the associated display name</para></listitem> - </varlistentry> - <varlistentry> - <term>PATH</term> - <listitem><para>the value of <option>SystemPath</option></para></listitem> - </varlistentry> - <varlistentry> - <term>SHELL</term> - <listitem><para>the value of <option>SystemShell</option></para></listitem> - </varlistentry> - <varlistentry> - <term>XAUTHORITY</term> - <listitem><para>may be set to an authority file</para></listitem> - </varlistentry> - <varlistentry> - <term>DM_CONTROL</term> - <listitem><para>the value of <option>FifoDir</option></para></listitem> - </varlistentry> -</variablelist> - -<note><para><option>GrabInput</option> can make &kdm; grab the -keyboard and mouse, making any other windows unable to receive input. -If <option>GrabServer</option> is set, <filename>Xsetup</filename> -will not be able to connect to the display at all.</para></note> - -</sect2> - -<sect2 id="kdmrc-xstartup"> -<title>Startup program</title> - -<para>The <filename>Xstartup</filename> program is run as -<systemitem class="username">root</systemitem> when the user logs in. -This is the place to put commands which add entries to -<filename>utmp</filename> (the <command>sessreg</command> program -may be useful here), mount users' home directories from file servers, -or abort the session if some requirements are not met (but note that on -modern systems, many of these tasks are already taken care of by -<acronym>PAM</acronym> modules).</para> - -<para>In addition to any specified by <option>ExportList</option>, -the following environment variables are passed:</para> -<variablelist> - <varlistentry> - <term>DISPLAY</term> - <listitem><para>the associated display name</para></listitem> - </varlistentry> - <varlistentry> - <term>HOME</term> - <listitem><para>the initial working directory of the user</para></listitem> - </varlistentry> - <varlistentry> - <term>LOGNAME</term> - <listitem><para>the username</para></listitem> - </varlistentry> - <varlistentry> - <term>USER</term> - <listitem><para>the username</para></listitem> - </varlistentry> - <varlistentry> - <term>PATH</term> - <listitem><para>the value of <option>SystemPath</option></para></listitem> - </varlistentry> - <varlistentry> - <term>SHELL</term> - <listitem><para>the value of <option>SystemShell</option></para></listitem> - </varlistentry> - <varlistentry> - <term>XAUTHORITY</term> - <listitem><para>may be set to an authority file</para></listitem> - </varlistentry> - <varlistentry> - <term>DM_CONTROL</term> - <listitem><para>the value of <option>FifoDir</option></para></listitem> - </varlistentry> -</variablelist> - -<para>&kdm; waits until this program exits before starting the user session. -If the exit value of this program is non-zero, &kdm; discontinues the session -and starts another authentication cycle.</para> - -</sect2> - -<sect2 id="kdmrc-xsession"> -<title>Session program</title> - -<para>The <filename>Xsession</filename> program is the command which is run -as the user's session. It is run with the permissions of the authorized user. -One of the keywords <literal>failsafe</literal>, <literal>default</literal> -or <literal>custom</literal>, or a string to <command>eval</command> by a -Bourne-compatible shell is passed as the first argument.</para> - -<para>In addition to any specified by <option>ExportList</option>, -the following environment variables are passed:</para> -<variablelist> - <varlistentry> - <term>DISPLAY</term> - <listitem><para>the associated display name</para></listitem> - </varlistentry> - <varlistentry> - <term>HOME</term> - <listitem><para>the initial working directory of the user</para></listitem> - </varlistentry> - <varlistentry> - <term>LOGNAME</term> - <listitem><para>the username</para></listitem> - </varlistentry> - <varlistentry> - <term>USER</term> - <listitem><para>the username</para></listitem> - </varlistentry> - <varlistentry> - <term>PATH</term> - <listitem><para>the value of <option>UserPath</option> - (or <option>SystemPath</option> for - <systemitem class="username">root</systemitem> user sessions)</para> - </listitem> - </varlistentry> - <varlistentry> - <term>SHELL</term> - <listitem><para>the user's default shell</para></listitem> - </varlistentry> - <varlistentry> - <term>XAUTHORITY</term> - <listitem><para>may be set to a non-standard authority file</para></listitem> - </varlistentry> - <varlistentry> - <term>KRBTKFILE</term> - <listitem><para>may be set to a Kerberos4 credentials cache name</para> - </listitem> - </varlistentry> - <varlistentry> - <term>KRB5CCNAME</term> - <listitem><para>may be set to a Kerberos5 credentials cache name</para> - </listitem> - </varlistentry> - <varlistentry> - <term>DM_CONTROL</term> - <listitem><para>the value of <option>FifoDir</option></para></listitem> - </varlistentry> - <varlistentry> - <term>XDM_MANAGED</term> - <listitem><para>will contain a comma-separated list of parameters the - session might find interesting, like which conversation - plugin was used for the login</para> - </listitem> - </varlistentry> - <varlistentry> - <term>DESKTOP_SESSION</term> - <listitem><para>the name of the session the user has chosen to run</para> - </listitem> - </varlistentry> -</variablelist> - -</sect2> - -<sect2 id="kdmrc-xreset"> -<title>Reset program</title> - -<para>Symmetrical with <filename>Xstartup</filename>, the -<filename>Xreset</filename> program is run after the user session has -terminated. Run as <systemitem class="username">root</systemitem>, it should -contain commands that undo the effects of commands in -<filename>Xstartup</filename>, removing entries from <filename>utmp</filename> -or unmounting directories from file servers.</para> - -<para>The environment variables that were passed to -<filename>Xstartup</filename> are also passed to <filename>Xreset</filename>. -</para> - -</sect2> - -</sect1> - -</chapter> diff --git a/doc/kdm/theme-ref.docbook b/doc/kdm/theme-ref.docbook deleted file mode 100644 index 931483c..0000000 --- a/doc/kdm/theme-ref.docbook +++ /dev/null @@ -1,1348 +0,0 @@ -<chapter id="kdm-themes"> - <title>Creating themes for the &kdm; greeter</title> - - <para> - This section describes the creation of themes for the themed - greeter. For examples including screenshots, see the installed - standard themes and the themes from - <ulink type="http" url="http://www.kde-look.org/index.php?xcontentmode=40"> - the theme website</ulink>. - </para> - - <sect1 id="theme-overview"> - <title>Theme Overview</title> - - <para> - &kdm; themes can be created by creating an XML file that follows the - specification in - <filename>$<envar>KDEDIR</envar>/share/apps/doc/kdm/greeter.dtd</filename>. - Theme files are stored in the directory - <filename class="directory">$<envar>KDEDIR</envar>/share/apps/kdm/themes/<replaceable>theme_name</replaceable></filename>. - The theme directory should contain a file called - <filename>KdmGreeterTheme.desktop</filename> which has similar format - to other <filename class="extension">.desktop</filename> files and looks - like: - -<programlisting> -[KdmGreeterTheme] -Greeter=circles.xml -Name=Circles -Description=Theme with blue circles -Author=Bond, James Bond -Copyright=(c) 2002 Bond, James Bond -Screenshot=screenshot.png -</programlisting> - </para> - - <para> - The <literal>Name</literal>, <literal>Description</literal>, - <literal>Author</literal> and <literal>Copyright</literal> fields can - be translated just like in other - <filename class="extension">.desktop</filename> files. All the files - that are mentioned should be in the theme directory itself. The - <literal>Screenshot</literal> field points to a file which should be a - 200x150 screenshot of the theme in action (it is OK not to have one, - but it makes it nicer for the user). The <literal>Greeter</literal> - entry points to an XML file that contains the description of the theme. - </para> - - <!-- - <para> - Once a theme is installed, it can be tested with the - <command>gdmthemetester</command> program. This program assumes that - the X server supports a nested server command. This command takes two - arguments, first the environment that should be used. The environment - can be one of the following values: console, console-timed, flexi, - remote-flexi, or xdmcp. The "console" option tests the - theme as it would be shown on an attached display. The - "console-timed" option tests the theme as it would be shown - on an attached display with timed login enabled. The "flexi" - option tests the theme as it would be shown on an attached flexible - display (such as started via Xnest). Finally, the "xdmcp" - option tests the theme as it would be shown for remote XDMCP - displays. The second argument is the theme name. For example, to - test how the circles theme would look in XDMP remote display mode, - you would run the following command: - </para> - -<cmdsynopsis> - <command>gdmthemetester</command> <arg>xdmcp</arg> <arg><replaceable>circles</replaceable></arg> -</cmdsynopsis> - - <para> - When developing a theme, make sure to test all the environments, and - make sure to test how the caps lock warning looks by pressing the caps - lock key. Running <command>gdmthemetester</command> is also a good way - to take screenshots of &kdm; themes. Simply take a screenshot of the - theme running in the nested display window. This can be done in GNOME - by focusing the nested login window and pressing Alt-PrintScreen. - </para> - --> - - <para> - Once a theme has been fully tested, make a tarball that contains - the directory as it would be installed to the - <filename class="directory">$<envar>KDEDIR</envar>/share/apps/kdm/themes</filename> - directory. This is the standard format for distributing &kdm; themes. - </para> - </sect1> - - <sect1 id="theme-format"> - <title>Detailed Description of Theme XML format</title> - - <sect2 id="greeter-tag"> - <title>Toplevel Node</title> - - <para> - &kdm; themes are XML files with the <greeter> tag at their root. - The toplevel node is an <link linkend="item-nodes">item node</link> - of type <literal>rect</literal> with an implicit - <link linkend="fixed-nodes">fixed layout</link>. - </para> - - <!-- - <para> - You may specify a Qt GUI style to - be used with this theme by using the gui-style attribute in the - greeter tag as in the following example. - gui-style="Plastique" - </para> - --> - -<programlisting> -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE greeter SYSTEM "greeter.dtd"> -<greeter> -[...] -</greeter> -</programlisting> - - <para> - Contained within the greeter tag can be the nodes described - in the next sections of this document. Some of these nodes are - containers (layout nodes, item nodes) which can contain other - nodes again. - </para> - </sect2> - - <sect2 id="item-nodes"> - <title>Item Nodes</title> - - <para> - A &kdm; theme is created by specifying a hierarchy of item and layout - nodes. Item nodes can have the following value for the - <literal>type</literal> attribute: - </para> - - <variablelist> - - <varlistentry> - <term>button</term> - <listitem> - <para> - A button field. This field uses a Qt button. - </para> - <para> - It is also possible to make any other item act like a button - by setting its <literal>button</literal> attribute to - <literal>true</literal>. However, it is better to use - Qt buttons in &kdm; themes since these are accessible to - users with disabilities. - </para> - </listitem> - </varlistentry> - - <varlistentry> - <term>entry</term> - <listitem> - <para>An input widget like a line edit or combo box. - Note that this is merely a placeholder for Qt widgets.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>label</term> - <listitem> - <para> - A text label. Must contain either a - <link linkend="text-nodes"><literal>text</literal> node</link> - or a - <link linkend="stock-nodes"><literal>stock</literal> node</link> - to specify the text. - </para> - </listitem> - </varlistentry> - - <varlistentry> - <term>list</term> - <listitem> - <para>A face browser widget.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>pixmap</term> - <listitem> - <para>A raster image in a format that Qt supports, ⪚ - PNG, JPEG, Tiff, etc.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>rect</term> - <listitem> - <para>A plain rectangle.</para> - </listitem> - </varlistentry> - - <varlistentry> - <term>svg</term> - <listitem> - <para>A vector image in SVG format.</para> - </listitem> - </varlistentry> - </variablelist> - - <para> - For example: -<programlisting> -<item type="label"> -</programlisting> - - An item that acts as a button: -<programlisting> - <item type="rect" id="disconnect_button" button="true">. -</programlisting> - </para> - - <para> - By default, the &kdm; login screen will disappear after authentication. - This can result in flicker between the login screen and the session. - The <literal>background</literal> attribute allows users to specify - what elements of the theme are the background image. When used, this - will cause &kdm; to remove all non-background items from the display - and render the remaining <literal>background</literal> items to the root - window. This can be used to create a smooth transition between the - login screen and the session: - -<programlisting> -<item type="rect" background="true"> - <normal file="background.svg"/> - <pos x="0" y="0" width="100%" height="-75"/> -</item> -</programlisting> - - To use a different background for login transition than the one - used for login, the theme should specify two item nodes (which - could contain pixmaps or svg images, for example). The item - which corresponds to the greeter background should not have the - <literal>background</literal> property while the item which corresponds - to the transition background should have the - <literal>background</literal> property. For instance : - -<programlisting> -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE greeter SYSTEM "greeter.dtd"> -<greeter> - <item type="rect" background="true"> - <normal file="background_for_login.svg" element="background"/> - <pos x="0" y="0" width="100%" height="100%"/> - </item> - <item type="rect"> - <normal file="background_for_greeter.svg"/> - <pos x="0" y="0" width="100%" height="100%"/> - </item> - [...] -</greeter> -</programlisting> - - </para> - - <para> - In multi-screen setups, themes may also specify the look of other - screens than the one the greeter is on - but typically only background - items will appear there. To specify which screen(s) an item should - appear on, the <literal>screen</literal> attribute can be used with the - value being one of <literal>greeter</literal>, <literal>other</literal> - or <literal>all</literal>, meaning the screen the greeter is on, all - screens the greeter is not on and all screens, resp. - </para> - - <variablelist> - <para> - Each item can be given a name via the <literal>id</literal> - attribute. Certain ids are recognized by &kdm; to give those - items a special function: - </para> - - <!-- - <varlistentry> - <term><literal>list</literal> items</term> - <listitem> - - <para> - List items by default display as lists, but the - <literal>combo="true"</literal> attribute can be used - to specify combo box style (combo style supported since &kde; ). - Some predefined lists may be included in a theme by using the - following id values. Customized lists may also be defined, - which are explained below. - </para> - - <segmentedlist> - <?dbhtml list-presentation="table"?> - <segtitle>Id</segtitle><segtitle>Function</segtitle> - - <seglistitem> - <seg>session</seg> - <seg>A list of available sessions, which allows the user to - pick the session to use. Supported since &kde; .</seg> - </seglistitem> - - <seglistitem> - <seg>language</seg> - <seg>A list of available languages, which allows the user to - pick the language to use. Supported since &kde; .</seg> - </seglistitem> - - </segmentedlist> - </listitem> - </varlistentry> - --> - - <varlistentry> - <term><literal>button</literal> items and items with the - <literal>button="true"</literal> attribute.</term> - - <listitem> - <para> - Buttons typically trigger certain actions. - Addionally, &kdm; will hide buttons whose actions are - not available for some reason. - </para> - - <segmentedlist> - <?dbhtml list-presentation="table"?> - <segtitle>Id</segtitle><segtitle>Action</segtitle> - - <seglistitem> - <seg>chooser_button</seg> - <seg>Runs the XDMCP chooser.</seg> - </seglistitem> - - <!-- - <seglistitem> - <seg>custom_cmd_button[0-9]</seg> - <seg>Runs the <filename>n-th</filename> custom command.</seg> - </seglistitem> - --> - - <seglistitem> - <seg>disconnect_button</seg> - <seg>Disconnect from remote session.</seg> - </seglistitem> - - <!-- - <seglistitem> - <seg>language_button</seg> - <seg>Open the language selection menu.</seg> - </seglistitem> - --> - - <!-- - <seglistitem> - <seg>halt_button</seg> - <seg>Power off the system.</seg> - </seglistitem> - - <seglistitem> - <seg>reboot_button</seg> - <seg>Restart the system.</seg> - </seglistitem> - - <seglistitem> - <seg>suspend_button</seg> - <seg>Suspend the system.</seg> - </seglistitem> - --> - - <seglistitem> - <seg>session_button</seg> - <seg>Open the session type selection menu.</seg> - </seglistitem> - - <seglistitem> - <seg>system_button</seg> - <seg>Open a catch-all menu with various options and actions, - depending on the configuration.</seg> - </seglistitem> - </segmentedlist> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>label</literal> items</term> - - <listitem> - <para> - &kdm; will show/hide these labels and set their text depending - on the state of the login dialog. - </para> - - <segmentedlist> - <?dbhtml list-presentation="table"?> - <segtitle>Id</segtitle><segtitle>Function</segtitle> - - <!-- - <seglistitem> - <seg>pam-prompt</seg> - <seg>Label that displays the <acronym>PAM</acronym> prompt. - This is the prompt that <acronym>PAM</acronym> - uses to ask for username, password, etc.</seg> - </seglistitem> - - <seglistitem> - <seg>pam-message</seg> - <seg>Label that displays the <acronym>PAM</acronym> message. - These are messages that <acronym>PAM</acronym>/&kdm; gives - about state of the account, help about the prompts and other - information.</seg> - </seglistitem> - --> - - <seglistitem> - <seg>pam-error</seg> - <seg>This displays the <guilabel>Login failed.</guilabel> - message.</seg> - </seglistitem> - - </segmentedlist> - </listitem> - </varlistentry> - - <varlistentry> - <term>Widget embedding items</term> - - <listitem> - <para> - &kdm; will embed particular Qt widgets into these items. - </para> - - <segmentedlist> - <?dbhtml list-presentation="table"?> - <segtitle>Id</segtitle><segtitle>Function</segtitle> - - <seglistitem> - <seg>user-entry</seg> - <seg>Entry field for username entry.</seg> - </seglistitem> - - <seglistitem> - <seg>pw-entry</seg> - <seg>Entry field for password entry.</seg> - </seglistitem> - - <seglistitem> - <seg>domain-entry</seg> - <seg>Some <quote>conversation</quote> plugins use this field - to query a domain name. If this field is present, the related - enclosing items should have - <link linkend="show-nodes">show nodes</link> with the type - <literal>plugin-domain-entry</literal>.</seg> - </seglistitem> - - <seglistitem> - <seg>talker</seg> - <seg>This item should be of type <literal>rect</literal>. - It represents the <quote>hot</quote> area of the - greeter: it contains the <literal>label</literal> and - <literal>entry</literal> items which concern the - authentication process. If a given - <quote>conversation</quote> plugin cannot match the - existing items with its needs, it tries to embed a complex - widget with an own layout into this item, thus completely - overriding the theme's <quote>talker</quote>. - Strictily speaking, &kdm; themes do not need to provide - own <quote>talker</quote> designs at all, as all &kdm; - authentication plugins are able make use of the - <literal>talker</literal> item. - </seg> - </seglistitem> - - <seglistitem> - <seg>userlist</seg> - <seg>This item must be of type <literal>list</literal>. - If the user list feature is enabled, &kdm; will embed - the user list widget here. Otherwise, this item is - hidden.</seg> - </seglistitem> - - <seglistitem> - <seg>xconsole</seg> - <seg>This item should be of type <literal>rect</literal>. - If the built-in <command>xconsole</command> feature is - compiled in and enabled, &kdm; will embed - the console log widget here. Otherwise, this item is - hidden.</seg> - </seglistitem> - - </segmentedlist> - </listitem> - </varlistentry> - - <varlistentry> - <term>Other items</term> - - <listitem> - <para> - &kdm; will show/hide these items depending on the configuration - and the current state of the greeter. &kdm; does not impose - type requirements on them, but they usually lend themselves - to a particular type. - </para> - - <segmentedlist> - <?dbhtml list-presentation="table"?> - <segtitle>Id</segtitle><segtitle>Shown only when ...</segtitle> - - <seglistitem> - <seg>timed-label</seg> - <seg>... timed login is in progress.</seg> - </seglistitem> - - <seglistitem> - <seg>caps-lock-warning</seg> - <seg>... Caps Lock is active.</seg> - </seglistitem> - - <seglistitem> - <seg>xauth-warning</seg> - <seg>... the &X-Server; requires no X authorization to - connect.</seg> - </seglistitem> - - <!-- - <seglistitem> - <seg>pam-error-logo</seg> - <seg>... a pam-error message is being displayed. - This is useful for displaying an <guiicon>Attention</guiicon> - icon, for example.</seg> - </seglistitem> - --> - - <seglistitem> - <seg>userlist-rect</seg> - <seg>... the user list is enabled. By nesting the - <literal>userlist</literal> item into this one, it is possible - to create something like a frame around the list and have - it shown only when the user list itself if shown.</seg> - </seglistitem> - - <seglistitem> - <seg>xconsole-rect</seg> - <seg>... the built-in <command>xconsole</command> is enabled. - Analogous to <literal>userlist-rect</literal>.</seg> - </seglistitem> - - </segmentedlist> - </listitem> - </varlistentry> - - </variablelist> - - </sect2> - - <sect2 id="layout-nodes"> - <title>Layout Container Nodes</title> - - <para> - Layout nodes appear inside item nodes and contain item nodes again. - The type of the layout node determines the arrangement of its - child nodes. An item node can contain one layout node of each type. - </para> - - <sect3 id="box-nodes"> - <title>Box Nodes</title> - - <para> - Box nodes automatically arrange their children in a row. - They are specified as follows: -<programlisting> -<box orientation="<replaceable>alignment</replaceable>" min-width="<replaceable>num</replaceable>" min-height="<replaceable>num</replaceable>" - xpadding="<replaceable>num</replaceable>" ypadding="<replaceable>num</replaceable>" spacing="<replaceable>num</replaceable>" - homogeneous="<replaceable>bool</replaceable>"> -</programlisting> - Where <replaceable>num</replaceable> means number of pixels and - <replaceable>bool</replaceable> means either <literal>true</literal> - or <literal>false</literal>. - The <replaceable>alignment</replaceable> value can be either - <literal>horizontal</literal> or <literal>vertical</literal>. - If you leave any attribute off, it will default to zero for numbers, - <literal>false</literal> for bools and <literal>vertical</literal> - for the orientation. - </para> - - <para> - The spacing is the distance between neighboring child items. - The padding is the box' outer margin. - If the box is homogeneous, the same amount of space is allocated - to each child item. - </para> - </sect3> - - <sect3 id="fixed-nodes"> - <title>Fixed Nodes</title> - - <para> - Fixed is a container that has its children - laid out at precise coordinates. The size of this container - is the smallest rectangle that contains all the children. Fixed - has no extra attributes and so you just use: -<programlisting> -<fixed> -</programlisting> - Then you put other items with proper position nodes inside it. - </para> - </sect3> - - </sect2> - - <sect2 id="position-nodes"> - <title>Position Nodes</title> - - <para> - Each item can specify its position and size via the <literal>pos</literal> - node. For example: -<programlisting> -<pos x="0" y="4" width="100%" height="100%"/> -</programlisting> - </para> - - <para> - If the size is not specified, it will be the item's - <quote>natural</quote> size, called the size hint. - Note that not all items have a useful size hint. - </para> - - <para> - Both position and size can be given in percent and will be calculated - relative to the size of the enclosing container in this case. - For toplevel items it is the percentage of the whole screen. - By appending circumflexes (<literal>^</literal>) to the size - specification it is possible to modify it to be relative to the - size of the enclosing item's enclosing item and so on. - </para> - - <para> - If the item contains a box, <literal>width</literal> and - <literal>height</literal> can be specified to be - <literal>box</literal> to mean that they are supposed to be the width - and height of the box, that is the items in the box plus the padding. - </para> - - <para> - One of <literal>width</literal> and <literal>height</literal> can - be specified to be <literal>scale</literal> - to mean that it should be scaled according to the other dimension's - scale relative to its size hint. Use this to preserve the aspect - ratio of scaled images automatically. - </para> - - <para> - If the <literal>expand</literal> attribute is specified and - <literal>true</literal>, this item will be expanded in the - enclosing box as much as possible (that is it will be given - more space if available). - </para> - - <para> - If <literal>width</literal> or <literal>height</literal> is a - plain number, a negative value represents - an offset from the enclosing container's size. Note that it is - possible to specify a positive offset by writing two minus signs. - </para> - - <para> - In either case it is possible to constrain the final size with the - <literal>min-width</literal>, <literal>min-height</literal>, - <literal>max-width</literal> and <literal>max-height</literal> - attributes which can be specified in the same ways as - <literal>width</literal> and <literal>height</literal>. - </para> - - <para> - If <literal>x</literal> or <literal>y</literal> is a plain number, - a negative value represents an offset from the right resp. bottom edge, - unlike the default which is the left resp. top edge. - </para> - - <para> - It is also possible to specify which point within the item the - position refers to. This is called the anchor and can be - either <literal>c</literal> for center or one of - <literal>n</literal>, <literal>ne</literal>, <literal>e</literal>, - <literal>se</literal>, <literal>s</literal>, <literal>sw</literal>, - <literal>w</literal> and <literal>nw</literal> - which stand for the different edges/corners corresponding the - directions on a topographical map. - The default is <literal>nw</literal>, which is the upper left corner. - For example: -<programlisting> -<pos x="10%" y="50%" anchor="w" width="80%" height="95"/> -</programlisting> - </para> - - </sect2> - - <sect2 id="show-nodes"> - <title>Show Nodes</title> - - <!-- not really implemented - <para> - Some items may only display in certain modes, like when doing a - remote display. Multiple values can be specified and must be - separated with commas. The following values are possible: - </para> - - <para> - <filename>console</filename> - In console mode. - </para> - <para> - <filename>console-fixed</filename> - In console non-flexi mode. - </para> - <para> - <filename>console-flexi</filename> - In console & flexi mode. - </para> - <para> - <filename>flexi</filename> - In flexi mode. - </para> - <para> - <filename>remote</filename> - In remote mode. - </para> - <para> - <filename>remote-flexi</filename> - In remote & flexi mode. - </para> - - <para> - For example: -<programlisting> -<show modes="flexi,remote"/> -</programlisting> - </para> - --> - - <para> - You can specify the <literal>type</literal> attribute to indicate that - certain items should only be displayed if the type is set. - Prefixing the type with an exclamation mark (<literal>!</literal>) - reverses the condition. - Valid values include the following: - </para> - <segmentedlist> - <?dbhtml list-presentation="table"?> - <segtitle>Type</segtitle><segtitle>Display if ...</segtitle> - - <seglistitem> - <seg><literal>chooser</literal></seg> - <seg>switching to remote login is permitted.</seg> - </seglistitem> - - <!-- - <seglistitem> - <seg><literal>custom_cmd[0-9]</literal></seg> - <seg><literal>n-th</literal> CustomCommand is specified in - the &kdm; configuration.</seg> - </seglistitem> - --> - - <seglistitem> - <seg><literal>halt</literal> and <literal>reboot</literal></seg> - <seg>system shutdown is permitted.</seg> - </seglistitem> - - <!-- - <seglistitem> - <seg><literal>suspend</literal></seg> - <seg>suspending the system is permitted.</seg> - </seglistitem> - --> - - <seglistitem> - <seg><literal>system</literal></seg> - <seg>no condition (always set in &kdm;).</seg> - </seglistitem> - - <!-- - <seglistitem> - <seg><literal>timed</literal></seg> - <seg>a timed login is being counted down.</seg> - </seglistitem> - --> - - <seglistitem> - <seg><literal>plugin-</literal><replaceable>entry-name</replaceable></seg> - <seg>the <quote>conversation</quote> plugin provides a - corresponding input field.</seg> - </seglistitem> - - </segmentedlist> - - - <para> - For example: -<programlisting> -<show type="chooser"/> -</programlisting> - </para> - - <para> - Alternatively, you can specify a <literal>min-screen-width</literal> or - <literal>min-screen-height</literal> value to indicate that certain - items should be displayed only if the screen resolution is the - at least the specified size. - For example: -<programlisting> -<show min-screen-height="768"/> -</programlisting> - </para> - - </sect2> - - <sect2 id="nor-act-pre-nodes"> - <title>Normal/Active/Prelight Nodes</title> - - <para> - The look of most item types can be parametrized via the following - tags: - </para> - - <variablelist> - <varlistentry> - <term><literal>normal</literal></term> - <listitem> - <para>Normal state.</para> - </listitem> - </varlistentry> - <varlistentry> - <term><literal>prelight</literal></term> - <listitem> - <para>When the mouse is hovering over the item.</para> - </listitem> - </varlistentry> - <varlistentry> - <term><literal>active</literal></term> - <listitem> - <para>When a mouse button is clicked on the item.</para> - </listitem> - </varlistentry> - </variablelist> - - <variablelist> - - <para> - The exact set of available attributes depends on the item type: - </para> - - <varlistentry> - <term><literal>rect</literal></term> - <listitem> - <para> -<programlisting> -<normal color="#000000" alpha="0.0"/> -</programlisting> - Either of the attributes may be omitted, in which case the - default is used (the example represents the defaults). - <literal>alpha</literal> is a floating point number between - zero (transparent) and one (opaque). - <literal>color</literal> is a hashmark followed by a six-digit - hex number; the format is - <quote><literal>#</literal><replaceable>rrggbb</replaceable></quote>. - Alternatively, <literal>color</literal> may be specified as an - eight-digit hex number, in which case the first two digits are - the alpha value. - </para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>label</literal></term> - <listitem> - <para> -<programlisting> -<normal color="#ffffff" alpha="1.0" font="Sans 14"/> -</programlisting> - <literal>alpha</literal> and <literal>color</literal> are - specified like in <quote>rect</quote> items. - </para> - <para> - <literal>font</literal> follows the format - <quote><replaceable>family-list</replaceable> <replaceable>style-options</replaceable> <replaceable>size</replaceable></quote>. - Each part is optional. - </para> - <para> - <replaceable>family-list</replaceable> is a comma-separated - list of font families like <quote>helvetica</quote>, - <quote>monospace</quote>, etc. - </para> - <para> - <replaceable>style-options</replaceable> is a space-delimited - list of keywords from the categories style, weight and stretch; - from each category at most one. - The style can be <literal>normal</literal>, - <literal>italic</literal> or <literal>oblique</literal>. - Weight can be <literal>ultra-light</literal>, - <literal>light</literal>, <literal>medium</literal>, - <literal>semi-bold</literal>, <literal>bold</literal>, - <literal>ultra-bold</literal> or <literal>heavy</literal>. - Allowable stretches comprise <literal>ultra-condensed</literal>, - <literal>extra-condensed</literal>, <literal>condensed</literal>, - <literal>semi-condensed</literal>, <literal>normal</literal>, - <literal>semi-expanded</literal>, <literal>expanded</literal>, - <literal>extra-expanded</literal> and <literal>ultra-expanded</literal>. - </para> - <para> - <replaceable>size</replaceable> is either a floating point - number representing the size in points (1/72 inch) or an - integer followed by <literal>px</literal> representing the - size in pixels. Point sizes are preferable, as they are - independent from the display resolution. - </para> - <para> - If either attribute is left out, the values from the - <link linkend="style-nodes">style node</link> are used. - If this yields no window-text color specification, white - is used. The default font is the one configured in &kdmrc;. - </para> - </listitem> - </varlistentry> - - <varlistentry> - <term><literal>pixmap</literal></term> - <term><literal>svg</literal></term> - <listitem> - <para> -<programlisting> -<normal file="picture.png" tint="#dddddd" alpha="1.0"/> -</programlisting> - </para> - - <para> - <literal>file</literal> specifies the file containing the image. - Relative pathnames are relative to the theme's directory. - </para> - - <para> - <literal>wallpaper</literal> can be used instead of - <literal>file</literal> to have &kdm; look for images in the - usual locations for &kde; wallpapers. Plasma wallpaper packages - are supported. - </para> - - <para> - <literal>element</literal> specifies the element id of a SVG file. - If empty, the whole SVG image will be rendered. - </para> - - <para> - For <literal>pixmap</literal> nodes, it is possible to provide - multiple images, so the best-quality image for a given resolution - can be used. Size-tagged file names have the format - <replaceable>basename</replaceable><literal>-</literal><replaceable>width</replaceable><literal>x</literal><replaceable>height</replaceable><literal>.</literal><replaceable>extension</replaceable>. - If the not size-tagged file exists and it is no Plasma - wallpaper package, &kdm; will accept only a perfect match - for a given size and otherwise fall back to the original file. - Otherwise it will try to find an image whose dimensions come - closest to the required size if no perfect match is found. - </para> - - <!-- - <para> - Note that an alternative image file can be specified using the - <literal>altfile</literal><optional><replaceable>n</replaceable></optional> - attribute. &kdm; will use the last valid image filename - specified. For example: -<programlisting> -<normal file="picture.png" altfile1="distribution-blah-image.png" altfile2="distribution-foo-image.png"/> -</programlisting> - If <filename>distribution-foo-image.png</filename> is a valid - image filename it will be used. - Otherwise distribution-blah-image.png will be used if valid. - This feature is supported since &kde; . - </para> - --> - - <para> - <literal>scalemode</literal> specifies how to adjust the size of - images which do not match the element's size. - <literal>free</literal> (the default) means to simply scale the - image to the right size, possibly distorting its aspect ratio. - The other two modes maintain the image's aspect ratio: - <literal>fit</literal> means to zoom the image to the maximal size - which fits into the element's geometry. The image will be centered. - The remaining area will not be painted by this element, so it should - be placed on top of a solid-filled <literal>rect</literal>. - <literal>crop</literal> means to zoom the image to the minimal size - which completely fills the element's geometry. The image will be - clipped symmetrically. - </para> - - <para> - <literal>tint</literal> and <literal>alpha</literal> form a - color specification like in <literal>rect</literal> items. - Each pixel of the image is multiplied with this color - component-wise. - </para> - </listitem> - </varlistentry> - - </variablelist> - - </sect2> - - <sect2 id="style-nodes"> - <title>Widget Style Nodes</title> - - <para> - This tag makes it possible to change the appearance of labels and - Qt widgets embedded into the theme, e.g., line edits, buttons or - the user list. - The style settings are inherited by child items, but can be - overridden individually. The defaults are taken from &kdmrc;. - </para> - - <para> - The <literal>font</literal> attribute defines the font for all widgets. - For widgets with an input function it can be overridden with the - <literal>edit-font</literal> attribute. - Fonts are specified the same way as in - <link linkend="nor-act-pre-nodes">normal/active/prelight nodes</link>. - </para> - - <para> - Usually, the theming engine tries hard to remove any frames from - Qt widgets, so they melt into the theme seamlessly. In cases - where this is not desired, the <literal>frame</literal> attribute can - be set to <literal>true</literal>. - </para> - - <para> - The <literal>guistyle</literal> attribute can be used to override the - Qt GUI style for embedded widgets. The default is given by - <option>GUIStyle</option> in &kdmrc; - </para> - - <para> - It is possible to specify almost the entire palette for the widgets - as documented at - <ulink type="http" url="http://doc.trolltech.com/4.3/qpalette.html">Trolltech's site</ulink>. - Attribute names are composed from a scope, a color role and a suffix. - - Possible scopes are - in order of increasing precedence - - <literal>all-</literal> for all color groups, - no scope for the active and inactive color groups and - <literal>active-</literal>, <literal>inactive-</literal> and - <literal>disabled-</literal> for the respective color group. - - Supported color roles are - <literal>window</literal>, <literal>window-text</literal>, - <literal>base</literal>, <literal>alternate-base</literal>, - <literal>text</literal>, <literal>bright-text</literal>, - <literal>highlight</literal>, <literal>highlighted-text</literal>, - <literal>button</literal> and <literal>button-text</literal>. - - The suffix can be <literal>-color</literal> or - <literal>-alpha</literal> with the respective meaning as in - <link linkend="nor-act-pre-nodes">normal/active/prelight nodes</link>. - </para> - - <para> - As an alternative to specifying the palette inline, the - <literal>colorscheme</literal> attribute can be used to load - a complete &kde; color scheme. The default is given by - <option>ColorScheme</option> in &kdmrc;. - Individual <literal>color</literal> specifications will override - the colors from the scheme. - </para> - - <para> - Example: -<programlisting> -<style edit-font="Comic 16" text-color="#dddddd" frame="true"/> -</programlisting> - </para> - </sect2> - - <sect2 id="color-nodes"> - <title>Face Browser Color Nodes</title> - - <para> - Color nodes permit overriding the background color of the items - in the face browser. <literal>labelcolor</literal> and - <literal>altlabelcolor</literal> are essentially equivalent to - <literal>all-base-color</literal> resp. - <literal>all-alternate-base-color</literal> in - <link linkend="style-nodes">style nodes</link>. - If only <literal>labelcolor</literal> is specified, alternating - item backgrounds are disabled. - </para> - - <para> -<programlisting> -<color labelcolor="#80ffffff" altlabelcolor="#80f0f0f0"/> -</programlisting> - </para> - </sect2> - - <sect2 id="text-nodes"> - <title>Text Nodes</title> - - <para> - Text tags are used by labels. They can be used to display - localized text as follows (if the <literal>xml:lang</literal> - attribute is omitted, the POSIX locale is assumed): -<programlisting> -<text xml:lang="fr">Option</text> -</programlisting> - </para> - - <!-- - <para> - You can include pango markup in the text nodes for labels, however - you must encode it. So for example to have the label of - "foo<sup>bar</sup>", you must type: -<programlisting> -<text>"foo<sup>bar</sup>"</text> -</programlisting> - </para> - --> - - <para> - Text nodes can contain the following special character sequences - which will be translated as follows: - </para> - - <segmentedlist> - <?dbhtml list-presentation="table"?> - <segtitle>Sequence</segtitle><segtitle>Expansion</segtitle> - - <seglistitem> - <seg>%%</seg> - <seg>A literal % character</seg> - </seglistitem> - - <seglistitem> - <seg>%c</seg> - <seg>Wall clock time and date</seg> - </seglistitem> - - <seglistitem> - <seg>%d</seg> - <seg>Display name (<envar>DISPLAY</envar> environment variable)</seg> - </seglistitem> - - <seglistitem> - <seg>%h</seg> - <seg>Hostname (<function>gethostname</function> output)</seg> - </seglistitem> - - <seglistitem> - <seg>%m</seg> - <seg>Machine name (<structfield>machine</structfield> part of - <function>uname</function> output)</seg> - </seglistitem> - - <seglistitem> - <seg>%n</seg> - <seg>Node name (<structfield>nodename</structfield> part of - <function>uname</function> output)</seg> - </seglistitem> - - <seglistitem> - <seg>%o</seg> - <seg>Domain name (<function>getdomainname</function> output)</seg> - </seglistitem> - - <seglistitem> - <seg>%r</seg> - <seg>Release name (<structfield>release</structfield> part of - <function>uname</function> output)</seg> - </seglistitem> - - <seglistitem> - <seg>%s</seg> - <seg>System name (<structfield>sysname</structfield> part of - <function>uname</function> output)</seg> - </seglistitem> - - <seglistitem> - <seg>%t</seg> - <seg>Remaining number of seconds until timed login is performed, - plus the appropriate i18n plural form of <quote>second</quote></seg> - </seglistitem> - - <seglistitem> - <seg>%u</seg> - <seg>Username for timed login</seg> - </seglistitem> - - <!-- Need to switch to richtext painting for this purpose. - <seglistitem> - <seg>\n</seg> - <seg>Newline</seg> - </seglistitem> - --> - - <seglistitem> - <seg>_</seg> - <seg>Causes the following character to be an accelerator</seg> - </seglistitem> - - </segmentedlist> - - <para> - <literal>%t</literal> and <literal>%u</literal> are intended to be - used only internally to display the <literal>timed-label</literal> - message, which is automatically updated every second. - </para> - </sect2> - - <sect2 id="stock-nodes"> - <title>Stock Nodes</title> - - <para> - Certain common localized labels can be specified via the stock - tags. The <literal>text</literal> tag is ignored if the - <literal>stock</literal> tag is used. You really should use the - stock labels rather than just putting all the translations into - the themes. This yields faster load times and likely better - translations. The following values are valid: - </para> - - <segmentedlist> - <?dbhtml list-presentation="table"?> - <segtitle>Type</segtitle><segtitle>Expansion</segtitle> - - <!-- - <seglistitem> - <seg>ok</seg> - <seg><quote>_OK</quote></seg> - </seglistitem> - <seglistitem> - <seg>cancel</seg> - <seg>_Cancel</seg> - </seglistitem> - <seglistitem> - <seg>options</seg> - <seg>_Options</seg> - </seglistitem> - <seglistitem> - <seg>custom_cmd[0-9]</seg> - <seg>Obtained from the config file.</seg> - </seglistitem> - --> - <seglistitem> - <seg>caps-lock-warning</seg> - <seg><quote>Caps Lock is enabled</quote></seg> - </seglistitem> - <seglistitem> - <seg>chooser</seg> - <seg><quote>XDMCP Choose_r</quote></seg> - </seglistitem> - <seglistitem> - <seg>quit</seg> - <seg><quote>_Quit</quote></seg> - </seglistitem> - <seglistitem> - <seg>disconnect</seg> - <seg><quote>Disconn_ect</quote></seg> - </seglistitem> - <seglistitem> - <seg>halt</seg> - <seg><quote>Power o_ff</quote></seg> - </seglistitem> - <seglistitem> - <seg>language</seg> - <seg><quote>Lan_guage</quote></seg> - </seglistitem> - <seglistitem> - <seg>login</seg> - <seg><quote>_Login</quote></seg> - </seglistitem> - <seglistitem> - <seg>session</seg> - <seg><quote>Session _Type</quote></seg> - </seglistitem> - <seglistitem> - <seg>reboot</seg> - <seg><quote>Re_boot</quote></seg> - </seglistitem> - <!-- - <seglistitem> - <seg>suspend</seg> - <seg><quote>Sus_pend</quote></seg> - </seglistitem> - --> - <seglistitem> - <seg>system</seg> - <seg><quote>_Menu</quote></seg> - </seglistitem> - <seglistitem> - <seg>timed-label</seg> - <seg><quote>User %u will login in %t</quote></seg> - </seglistitem> - <seglistitem> - <seg>domain-label</seg> - <seg><quote>_Domain:</quote></seg> - </seglistitem> - <seglistitem> - <seg>username-label</seg> - <seg><quote>_Username:</quote></seg> - </seglistitem> - <seglistitem> - <seg>password-label</seg> - <seg><quote>_Password:</quote></seg> - </seglistitem> - <seglistitem> - <seg>welcome-label</seg> - <seg><quote>Welcome to %h</quote></seg> - </seglistitem> - - </segmentedlist> - - <para> - For example: -<programlisting> -<stock type="welcome-label"/> -</programlisting> - </para> - </sect2> - - <sect2 id="buddy-nodes"> - <title>Buddy Nodes</title> - - <para> - Items which do not directly cause an action can be assigned a buddy. - The buddy is given input focus when the item is activated (clicked - or a <literal>label</literal>'s accelerator pressed). - </para> - - <para> - The buddy is referenced by id with the <literal>idref</literal> - attribute. Obviously, it must be given an id. Example: -<programlisting> -<item type="label"> - <stock type="username-label"/> - <buddy idref="user-entry"/> - [...] -</item> -[...] -<item type="entry" id="user-entry"> - [...] -</item> -</programlisting> - </para> - </sect2> - - </sect1> - -</chapter>
