mirror of https://github.com/tLDP/LDP
updated
This commit is contained in:
parent
83aac8341e
commit
66f65fc65e
|
@ -1,333 +1,353 @@
|
|||
<!doctype linuxdoc system>
|
||||
<article>
|
||||
<title>KDE GUI Login Configuration HOWTO
|
||||
<author>John P. Meshkoff,II <url url="mailto:johnm@sivakalpa.org" name="johnm@sivakalpa.org">
|
||||
<date>v1.02 2002/07/14 kcontrol update
|
||||
|
||||
<!-- v1.01 2002/06/10 link update -->
|
||||
<!-- v1.0 2002/06/07 Added kcontrol info -->
|
||||
<!-- v0.03 2002/05/22 -->
|
||||
<!-- was KDE GUI Login Window Manager HOWTO; changed 2002/05/22 -->
|
||||
<!-- v0.02 2002/05/21 -->
|
||||
<!-- v0.01, 2002/04/14 -->
|
||||
<!-- v0.0, 2002/04/10 1st sgml draft -->
|
||||
<!-- re-phrased the abstract 2002/05/21 -->
|
||||
<!-- re-phrased the abstract 2002/05/22 -->
|
||||
<abstract>
|
||||
This is the KDE GUI Login Configuration HOWTO, a tutorial on customizing the
|
||||
GUI login screen. Topics include:
|
||||
|
||||
How to add other window managers to the drop-down selection list;
|
||||
how to enable user selection icons in the login window;
|
||||
and requiring root permission for system shutdown.
|
||||
</abstract>
|
||||
<toc>
|
||||
<sect> Copyright
|
||||
<P>
|
||||
|
||||
Copyright (c) 2002 by John Meshkoff
|
||||
|
||||
Please freely copy and distribute (sell or give away) this document in any format. It's
|
||||
requested that corrections and/or comments be forwarded to the document maintainer. You
|
||||
may create a derivative work and distribute it provided that you:
|
||||
|
||||
1. Send your derivative work (in the most suitable format such as sgml) to the LDP (Linux
|
||||
Documentation Project) or the like for posting on the Internet. If not the LDP, then let
|
||||
the LDP know where it is available.
|
||||
|
||||
2. License the derivative work with this same license or use GPL. Include a copyright notice
|
||||
and at least a pointer to the license used.
|
||||
|
||||
3. Give due credit to previous authors and major contributors.
|
||||
|
||||
If you're considering making a derived work other than a translation, it's
|
||||
requested that you discuss your plans with the current maintainer.
|
||||
|
||||
<sect> Introduction
|
||||
<P>
|
||||
This info is based on my RedHat 6.1 default KDE Workstation installation. If you are using
|
||||
another distribution, or even another version of RedHat, or a different Workstation install,
|
||||
then you may have to do some detective work. Hopefully, this info will give you what you need
|
||||
to start detecting! This HOWTO began as the result of wondering how to add another window manager
|
||||
or desktop environment to the drop-down list on the GUI login screen; further investigation
|
||||
revealed other configuration options.
|
||||
|
||||
I began my own "detective work" when I found a reference on a RedHat List which
|
||||
mentioned <tt>/etc/inittab</tt>, and its role in system startup. In
|
||||
<tt>/etc/inittab</tt> I found the following entries, which define how the
|
||||
X Window System is started in my distribution and version:
|
||||
|
||||
<tscreen><code>
|
||||
# Run xdm in runlevel 5
|
||||
# xdm is now a separate service
|
||||
x:5:respawn:/etc/X11/prefdm -nodaemon
|
||||
</code></tscreen>
|
||||
|
||||
Here is what prefdm looks like:
|
||||
|
||||
<tscreen><code>
|
||||
#!/bin/sh
|
||||
|
||||
PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/X11R6/bin
|
||||
|
||||
# Run preferred X display manager
|
||||
preferred=
|
||||
if [ -f /etc/sysconfig/desktop ]; then
|
||||
if grep -q GNOME /etc/sysconfig/desktop 2>/dev/null; then
|
||||
preferred=gdm
|
||||
elif grep -q KDE /etc/sysconfig/desktop 2> /dev/null; then
|
||||
preferred=kdm
|
||||
elif grep -q AnotherLevel /etc/sysconfig/desktop 2> /dev/null; then
|
||||
preferred=xdm
|
||||
fi
|
||||
fi
|
||||
if [ -z ":$preferred" ]; then
|
||||
if which gdm >/dev/null 2>&1; then
|
||||
preferred=gdm
|
||||
elif which kdm >/dev/null 2>&1; then
|
||||
preferred=kdm
|
||||
elif which xdm >/dev/null 2>&1; then
|
||||
preferred=xdm
|
||||
fi
|
||||
fi
|
||||
if [ -n "$preferred" ] && which $preferred >/dev/null 2>&1; then
|
||||
exec `which $preferred` $*
|
||||
fi
|
||||
exit 1
|
||||
</code></tscreen>
|
||||
|
||||
No changes to prefdm are necessary; it determines which display manager is the
|
||||
system default, and which runs the GUI login. During boot-up, prefdm parses
|
||||
<tt>/etc/sysconfig/desktop</tt> and selects the display manager listed there;
|
||||
in the case of my KDE Workstation install, this is kdm (KDE Display Manager).
|
||||
Note that gdm (Gnome Display Manager) is not installed on my system; xdm (X
|
||||
Display Manager) is installed by default as part of the X Window System, and
|
||||
was apparently used by older versions of Red Hat.
|
||||
|
||||
<!-- added caution and editing tips 2002/05/22 -->
|
||||
<sect> Adding new window manager selections to the drop-down list
|
||||
<p>
|
||||
WARNING: The procedures explained in this HOWTO involve making changes to system
|
||||
configuration files; if you are not experienced in making such changes, some
|
||||
caution is required. Introducing errors into such files may make your system
|
||||
unstable, or cause it to crash. The procedures explained in this HOWTO have
|
||||
been tested and should not cause problems if used correctly.
|
||||
|
||||
If you have KDE 2.2 or higher, and you are not comfortable with manual editing of system files, you may open a
|
||||
terminal window (xterm or konsole) from your user desktop (NOT the root
|
||||
desktop), then type and enter:
|
||||
|
||||
<tscreen><code>
|
||||
su -c 'kcontrol'
|
||||
</code></tscreen>
|
||||
|
||||
Enter your root password at the prompt, and make the changes from within the
|
||||
KDE Control Center that appears: go to <em>Applications ==> Login Manager</em>. Choose
|
||||
the appropriate configuration tab; you can easily configure every aspect of
|
||||
the login screen from there. In Earlier versions of KDE, kcontrol can modify
|
||||
kdmrc, but cannot modify Xsession which is used in those versions; see the
|
||||
note below about changes from KDE 2.2 and higher.
|
||||
|
||||
To see how to manually configure some of these, and see what these
|
||||
configuration files do, proceed as follows:
|
||||
|
||||
(Caution: Some configuration files have changed since the version of kdm
|
||||
I'm using, particularly since KDE > 2.0:
|
||||
|
||||
The following is quoted from
|
||||
<url url="http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/x11-wm.html" name="the FreeBSD
|
||||
Handbook-X11:">
|
||||
|
||||
"Note:
|
||||
In KDE 2.2 this has changed: kdm now uses its own configuration files. Please
|
||||
see the KDE 2.2 documentation for details.")
|
||||
|
||||
Check the documentation for your version to identify the current configuration
|
||||
files if you want to manually edit these, or just want to see how they work.
|
||||
|
||||
|
||||
Do <em>not</em> use a <em>word-processor</em> program for editing system configuration
|
||||
files; such programs introduce special formatting characters which will corrupt the files.
|
||||
Use a <em>text-editor</em>, particularly one which can handle long lines without introducing
|
||||
extra carriage-return or line feed characters into existing code. Suitable editors include
|
||||
vim (vi improved), vi, and emacs. There are others, but these are usually installed by default
|
||||
in Linux workstation installations; they each have features which make them especially suitable for
|
||||
writing and editing computer code. See the bibliography section at the end of this HOWTO for
|
||||
more information.
|
||||
|
||||
IMPORTANT: Before making changes to <em>any</em> system configuration files, you should make
|
||||
back-up copies of the originals, so you can restore them in case of serious errors!
|
||||
|
||||
The files which we will be changing here are <tt>/usr/share/config/kdmrc</tt>, which
|
||||
is where we add selection labels to the drop-down list on the login screen, and
|
||||
<tt>/etc/X11/xdm/Xsession</tt>, which is where we add the path to the executables
|
||||
for our labels (if you are using a different distribution, the path to these
|
||||
files may be different; just do "<tt>locate kdmrc</tt>" and "<tt>locate Xsession</tt>"
|
||||
in the shell [i.e., in a terminal emulation, such as <em>xterm</em>, or KDE's <em>konsole</em>]
|
||||
to find them).
|
||||
|
||||
The default line to change in kdmrc looks like this:
|
||||
|
||||
<tscreen><code>
|
||||
SessionTypes=kde;gnome;anotherlevel;default;failsafe;
|
||||
</code></tscreen>
|
||||
|
||||
After adding selection labels for two new window managers, windowmaker and blackbox, the line looks like this:
|
||||
|
||||
<tscreen><code>
|
||||
SessionTypes=kde;gnome;windowmaker;blackbox;anotherlevel;default;failsafe;
|
||||
</code></tscreen>
|
||||
<!-- cleaned up phrasing in this paragraph 21May2002 -->
|
||||
Notice the positions where I have added the labels for the new window managers; all
|
||||
entries will appear on the drop-down list in the same order as they
|
||||
appear in the SessionTypes list. Next, the actual choosing takes place in
|
||||
<tt>/etc/X11/xdm/Xsession</tt>. Here is what the appropriate section of
|
||||
Xsession looks like before adding the new entries:
|
||||
|
||||
<tscreen><code>
|
||||
# now, we see if xdm/gdm/kdm has asked for a specific environment
|
||||
#
|
||||
case $# in
|
||||
1)
|
||||
case $1 in
|
||||
failsafe)
|
||||
exec xterm -geometry 80x24-0-0
|
||||
;;
|
||||
gnome)
|
||||
exec gnome-session
|
||||
;;
|
||||
kde)
|
||||
exec startkde
|
||||
;;
|
||||
anotherlevel)
|
||||
# we assume that switchdesk is installed.
|
||||
exec /usr/share/apps/switchdesk/Xclients.anotherlevel
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
</code></tscreen>
|
||||
|
||||
<!-- removed for clarity "I have just copied, pasted, and edited (to help avoid mis-typing) existing entries
|
||||
to create the new entries." 21May2002 -->
|
||||
<!-- added "appropriate section of the" 14Apr2002 -->
|
||||
<!-- re-phrased "NOTE" to clarify; added "spelling and case..." 21May2002 -->
|
||||
|
||||
Here is what this section of the Xsession file looks like after adding the new
|
||||
entries (NOTE that the selection labels <em>must</em> be <em>exactly</em> the
|
||||
same in Xsession and prefdm, i.e., spelling and case must be identical):
|
||||
|
||||
<tscreen><code>
|
||||
# now, we see if xdm/gdm/kdm has asked for a specific environment
|
||||
#
|
||||
case $# in
|
||||
1)
|
||||
case $1 in
|
||||
failsafe)
|
||||
exec xterm -geometry 80x24-0-0
|
||||
;;
|
||||
gnome)
|
||||
exec gnome-session
|
||||
;;
|
||||
kde)
|
||||
exec startkde
|
||||
;;
|
||||
windowmaker)
|
||||
exec wmaker
|
||||
;;
|
||||
blackbox)
|
||||
exec blackbox
|
||||
;;
|
||||
anotherlevel)
|
||||
# we assume that switchdesk is installed.
|
||||
exec /usr/share/apps/switchdesk/Xclients.anotherlevel
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
</code></tscreen>
|
||||
<!-- added path note 2002/05/22 -->
|
||||
Note that when the executables are installed in one of the paths shown below, only the
|
||||
executable name is required after "exec"; otherwise the full path must be included,
|
||||
as shown for "Xclients.anotherlevel" (above):
|
||||
|
||||
<tt>/usr/bin/</tt>
|
||||
|
||||
<tt>/usr/local/bin/</tt>
|
||||
|
||||
<tt>/usr/X11R6/bin/</tt>
|
||||
|
||||
<tt>/usr/bin/X11/</tt>
|
||||
|
||||
These examples should be enough for you to add your favorite window manager(s) to the
|
||||
KDE graphical login, or to give you a starting point to find out how it's done in your
|
||||
particular installation.
|
||||
|
||||
<!-- added two new sections 2002/05/22 -->
|
||||
<sect>Enabling user selection icons in the login dialog box
|
||||
<p>
|
||||
In RedHat 6.1, the default KDE login window shows a dialog box with a space to
|
||||
type in the user name, one in which to type the user password, and a drop down
|
||||
list to select the window manager/desktop environment of choice. By making the
|
||||
following changes to <tt>/usr/share/config/kdmrc</tt>, user icons will appear in
|
||||
the top of the login box.
|
||||
Here is what the default lines that control user icon view in kdmrc look like (other
|
||||
lines between these two are not shown, and are represented by "..."):
|
||||
|
||||
<tscreen><code>
|
||||
#Users=root;johndoe
|
||||
...
|
||||
UserView=false
|
||||
</code></tscreen>
|
||||
|
||||
Here are the same lines after editing; delete the comment character ("#") in
|
||||
front of "Users=..." and change "johndoe" to your username (if there are more
|
||||
user accounts on your system, you may add their usernames here, separated by semi-colons
|
||||
as shown). Change "UserView=false" to "UserView=true" as shown here:
|
||||
|
||||
<tscreen><code>
|
||||
Users=root;johnpipe
|
||||
...
|
||||
UserView=true
|
||||
</code></tscreen>
|
||||
|
||||
Now, when you login, you may click on an icon with the mouse to enter the user name; you must still type in your password.
|
||||
|
||||
<sect>Requiring root permission for shutdown
|
||||
<p>
|
||||
The default for the shutdown button on the login box allows anyone to use it to shutdown the system.
|
||||
The section in <tt>/usr/share/config/kdmrc</tt> controlling who may use this button looks like this:
|
||||
|
||||
<tscreen><code>
|
||||
#ShutdownButton=RootOnly
|
||||
ShutdownButton=ConsoleOnly
|
||||
</code></tscreen>
|
||||
|
||||
To enable only the root user to shutdown the system, change the lines as shown below:
|
||||
|
||||
<tscreen><code>
|
||||
ShutdownButton=RootOnly
|
||||
#ShutdownButton=ConsoleOnly
|
||||
</code></tscreen>
|
||||
|
||||
Clicking the shutdown button will now prompt for the root password before shutting down the
|
||||
system.
|
||||
|
||||
<sect>Bibliography
|
||||
<p>
|
||||
|
||||
For more HOWTO's, see <url url="http://www.tldp.org/" name="The Linux Documentation Project">
|
||||
|
||||
Recommended reading:
|
||||
|
||||
<itemize>
|
||||
<item><url url="http://www.tldp.org/HOWTO/XWindow-User-HOWTO/" name="XWindow-User-HOWTO">
|
||||
<item><url url="http://www.tldp.org/HOWTO/Emacs-Beginner-HOWTO.html" name="Emacs Beginner's HOWTO">
|
||||
<item><url url="http://www.tldp.org/HOWTO/Vim-HOWTO.html" name="Vim Color Editor HOW-TO (Vi Improved with syntax color highlighting)">
|
||||
</itemize>
|
||||
|
||||
Depending on your Linux distribution and version, you may already have the
|
||||
above HOWTO's installed on your system. If not installed, you may have them
|
||||
on your installation CD.
|
||||
|
||||
</article>
|
||||
|
||||
|
||||
<!doctype linuxdoc system>
|
||||
<article>
|
||||
<title>KDE GUI Login Configuration HOWTO
|
||||
<author>John P. Meshkoff,II <url url="mailto:johnm@sivakalpa.org" name="johnm@sivakalpa.org">
|
||||
<date>v1.03 2003/04/13 update icon notes and kde 3.1 handbook notes
|
||||
<!-- v1.02 2002/07/14 kcontrol update -->
|
||||
<!-- v1.01 2002/06/10 link update -->
|
||||
<!-- v1.0 2002/06/07 Added kcontrol info -->
|
||||
<!-- v0.03 2002/05/22 -->
|
||||
<!-- was KDE GUI Login Window Manager HOWTO; changed 2002/05/22 -->
|
||||
<!-- v0.02 2002/05/21 -->
|
||||
<!-- v0.01, 2002/04/14 -->
|
||||
<!-- v0.0, 2002/04/10 1st sgml draft -->
|
||||
<!-- re-phrased the abstract 2002/05/21 -->
|
||||
<!-- re-phrased the abstract 2002/05/22 -->
|
||||
<abstract>
|
||||
This is the KDE GUI Login Configuration HOWTO, a tutorial on customizing the
|
||||
GUI login screen. Topics include:
|
||||
|
||||
How to add other window managers to the drop-down selection list;
|
||||
how to enable user selection icons in the login window;
|
||||
and requiring root permission for system shutdown.
|
||||
</abstract>
|
||||
<toc>
|
||||
<sect> Copyright
|
||||
<P>
|
||||
|
||||
Copyright (c) 2002 by John Meshkoff
|
||||
|
||||
Please freely copy and distribute (sell or give away) this document in any format. It's
|
||||
requested that corrections and/or comments be forwarded to the document maintainer. You
|
||||
may create a derivative work and distribute it provided that you:
|
||||
|
||||
1. Send your derivative work (in the most suitable format such as sgml) to the LDP (Linux
|
||||
Documentation Project) or the like for posting on the Internet. If not the LDP, then let
|
||||
the LDP know where it is available.
|
||||
|
||||
2. License the derivative work with this same license or use GPL. Include a copyright notice
|
||||
and at least a pointer to the license used.
|
||||
|
||||
3. Give due credit to previous authors and major contributors.
|
||||
|
||||
If you're considering making a derived work other than a translation, it's
|
||||
requested that you discuss your plans with the current maintainer.
|
||||
|
||||
<sect> Introduction
|
||||
<P>
|
||||
This info is based on my RedHat 6.1 default KDE Workstation installation. If you are using
|
||||
another distribution, or even another version of RedHat, or a different Workstation install,
|
||||
then you may have to do some detective work. Hopefully, this info will give you what you need
|
||||
to start detecting! This HOWTO began as the result of wondering how to add another window manager
|
||||
or desktop environment to the drop-down list on the GUI login screen; further investigation
|
||||
revealed other configuration options.
|
||||
|
||||
I began my own "detective work" when I found a reference on a RedHat List which
|
||||
mentioned <tt>/etc/inittab</tt>, and its role in system startup. In
|
||||
<tt>/etc/inittab</tt> I found the following entries, which define how the
|
||||
X Window System is started in my distribution and version:
|
||||
|
||||
<tscreen><code>
|
||||
# Run xdm in runlevel 5
|
||||
# xdm is now a separate service
|
||||
x:5:respawn:/etc/X11/prefdm -nodaemon
|
||||
</code></tscreen>
|
||||
|
||||
Here is what prefdm looks like:
|
||||
|
||||
<tscreen><code>
|
||||
#!/bin/sh
|
||||
|
||||
PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/X11R6/bin
|
||||
|
||||
# Run preferred X display manager
|
||||
preferred=
|
||||
if [ -f /etc/sysconfig/desktop ]; then
|
||||
if grep -q GNOME /etc/sysconfig/desktop 2>/dev/null; then
|
||||
preferred=gdm
|
||||
elif grep -q KDE /etc/sysconfig/desktop 2> /dev/null; then
|
||||
preferred=kdm
|
||||
elif grep -q AnotherLevel /etc/sysconfig/desktop 2> /dev/null; then
|
||||
preferred=xdm
|
||||
fi
|
||||
fi
|
||||
if [ -z ":$preferred" ]; then
|
||||
if which gdm >/dev/null 2>&1; then
|
||||
preferred=gdm
|
||||
elif which kdm >/dev/null 2>&1; then
|
||||
preferred=kdm
|
||||
elif which xdm >/dev/null 2>&1; then
|
||||
preferred=xdm
|
||||
fi
|
||||
fi
|
||||
if [ -n "$preferred" ] && which $preferred >/dev/null 2>&1; then
|
||||
exec `which $preferred` $*
|
||||
fi
|
||||
exit 1
|
||||
</code></tscreen>
|
||||
|
||||
No changes to prefdm are necessary; it determines which display manager is the
|
||||
system default, and which runs the GUI login. During boot-up, prefdm parses
|
||||
<tt>/etc/sysconfig/desktop</tt> and selects the display manager listed there;
|
||||
in the case of my KDE Workstation install, this is kdm (KDE Display Manager).
|
||||
Note that gdm (Gnome Display Manager) is not installed on my system; xdm (X
|
||||
Display Manager) is installed by default as part of the X Window System, and
|
||||
was apparently used by older versions of Red Hat.
|
||||
|
||||
<!-- added caution and editing tips 2002/05/22 -->
|
||||
<sect> Adding new window manager selections to the drop-down list
|
||||
<p>
|
||||
WARNING: The procedures explained in this HOWTO involve making changes to system
|
||||
configuration files; if you are not experienced in making such changes, some
|
||||
caution is required. Introducing errors into such files may make your system
|
||||
unstable, or cause it to crash. The procedures explained in this HOWTO have
|
||||
been tested and should not cause problems if used correctly.
|
||||
|
||||
If you have KDE 2.2 or higher, and you are not comfortable with manual editing of system files, you may open a
|
||||
terminal window (xterm or konsole) from your user desktop (NOT the root
|
||||
desktop), then type and enter:
|
||||
|
||||
<tscreen><code>
|
||||
su -c 'kcontrol'
|
||||
</code></tscreen>
|
||||
|
||||
Enter your root password at the prompt, and make the changes from within the
|
||||
KDE Control Center that appears: go to <em>Applications ==> Login Manager</em>. Choose
|
||||
the appropriate configuration tab; you can easily configure every aspect of
|
||||
the login screen from there. In Earlier versions of KDE, kcontrol can modify
|
||||
kdmrc, but cannot modify Xsession which is used in those versions; see the
|
||||
note below about changes from KDE 2.2 and higher.
|
||||
|
||||
To see how to manually configure some of these, and see what these
|
||||
configuration files do, proceed as follows:
|
||||
|
||||
(Caution: Some configuration files have changed since the version of kdm
|
||||
I'm using, particularly since KDE > 2.0:
|
||||
|
||||
The following is quoted from
|
||||
<url url="http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/x11-wm.html" name="the FreeBSD
|
||||
Handbook-X11:">
|
||||
|
||||
"Note:
|
||||
In KDE 2.2 this has changed: kdm now uses its own configuration files. Please
|
||||
see the KDE 2.2 documentation for details.")
|
||||
|
||||
<!-- add ref to kde 3.1 2003/04/13 -->
|
||||
Note:
|
||||
KDE 3.1 has added kdm documentation, see <url url="http://docs.kde.org/en/3.1/kdebase/kdm/" name="The kdm Handbook">
|
||||
|
||||
Much of the material in this new handbook applies to the older versions;
|
||||
new features are also described therein.
|
||||
|
||||
Check the documentation for your version to identify the current configuration
|
||||
files if you want to manually edit these, or just want to see how they work.
|
||||
|
||||
|
||||
Do <em>not</em> use a <em>word-processor</em> program for editing system configuration
|
||||
files; such programs introduce special formatting characters which will corrupt the files.
|
||||
Use a <em>text-editor</em>, particularly one which can handle long lines without introducing
|
||||
extra carriage-return or line feed characters into existing code. Suitable editors include
|
||||
vim (vi improved), vi, and emacs. There are others, but these are usually installed by default
|
||||
in Linux workstation installations; they each have features which make them especially suitable for
|
||||
writing and editing computer code. See the bibliography section at the end of this HOWTO for
|
||||
more information.
|
||||
|
||||
IMPORTANT: Before making changes to <em>any</em> system configuration files, you should make
|
||||
back-up copies of the originals, so you can restore them in case of serious errors!
|
||||
|
||||
The files which we will be changing here are <tt>/usr/share/config/kdmrc</tt>, which
|
||||
is where we add selection labels to the drop-down list on the login screen, and
|
||||
<tt>/etc/X11/xdm/Xsession</tt>, which is where we add the path to the executables
|
||||
for our labels (if you are using a different distribution, the path to these
|
||||
files may be different; just do "<tt>locate kdmrc</tt>" and "<tt>locate Xsession</tt>"
|
||||
in the shell [i.e., in a terminal emulation, such as <em>xterm</em>, or KDE's <em>konsole</em>]
|
||||
to find them).
|
||||
|
||||
The default line to change in kdmrc looks like this:
|
||||
|
||||
<tscreen><code>
|
||||
SessionTypes=kde;gnome;anotherlevel;default;failsafe;
|
||||
</code></tscreen>
|
||||
|
||||
After adding selection labels for two new window managers, windowmaker and blackbox, the line looks like this:
|
||||
|
||||
<tscreen><code>
|
||||
SessionTypes=kde;gnome;windowmaker;blackbox;anotherlevel;default;failsafe;
|
||||
</code></tscreen>
|
||||
<!-- cleaned up phrasing in this paragraph 21May2002 -->
|
||||
Notice the positions where I have added the labels for the new window managers; all
|
||||
entries will appear on the drop-down list in the same order as they
|
||||
appear in the SessionTypes list. Next, the actual choosing takes place in
|
||||
<tt>/etc/X11/xdm/Xsession</tt>. Here is what the appropriate section of
|
||||
Xsession looks like before adding the new entries:
|
||||
|
||||
<tscreen><code>
|
||||
# now, we see if xdm/gdm/kdm has asked for a specific environment
|
||||
#
|
||||
case $# in
|
||||
1)
|
||||
case $1 in
|
||||
failsafe)
|
||||
exec xterm -geometry 80x24-0-0
|
||||
;;
|
||||
gnome)
|
||||
exec gnome-session
|
||||
;;
|
||||
kde)
|
||||
exec startkde
|
||||
;;
|
||||
anotherlevel)
|
||||
# we assume that switchdesk is installed.
|
||||
exec /usr/share/apps/switchdesk/Xclients.anotherlevel
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
</code></tscreen>
|
||||
|
||||
<!-- removed for clarity "I have just copied, pasted, and edited (to help avoid mis-typing) existing entries
|
||||
to create the new entries." 21May2002 -->
|
||||
<!-- added "appropriate section of the" 14Apr2002 -->
|
||||
<!-- re-phrased "NOTE" to clarify; added "spelling and case..." 21May2002 -->
|
||||
|
||||
Here is what this section of the Xsession file looks like after adding the new
|
||||
entries (NOTE that the selection labels <em>must</em> be <em>exactly</em> the
|
||||
same in Xsession and prefdm, i.e., spelling and case must be identical):
|
||||
|
||||
<tscreen><code>
|
||||
# now, we see if xdm/gdm/kdm has asked for a specific environment
|
||||
#
|
||||
case $# in
|
||||
1)
|
||||
case $1 in
|
||||
failsafe)
|
||||
exec xterm -geometry 80x24-0-0
|
||||
;;
|
||||
gnome)
|
||||
exec gnome-session
|
||||
;;
|
||||
kde)
|
||||
exec startkde
|
||||
;;
|
||||
windowmaker)
|
||||
exec wmaker
|
||||
;;
|
||||
blackbox)
|
||||
exec blackbox
|
||||
;;
|
||||
anotherlevel)
|
||||
# we assume that switchdesk is installed.
|
||||
exec /usr/share/apps/switchdesk/Xclients.anotherlevel
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
</code></tscreen>
|
||||
<!-- added path note 2002/05/22 -->
|
||||
Note that when the executables are installed in one of the paths shown below, only the
|
||||
executable name is required after "exec"; otherwise the full path must be included,
|
||||
as shown for "Xclients.anotherlevel" (above):
|
||||
|
||||
<tt>/usr/bin/</tt>
|
||||
|
||||
<tt>/usr/local/bin/</tt>
|
||||
|
||||
<tt>/usr/X11R6/bin/</tt>
|
||||
|
||||
<tt>/usr/bin/X11/</tt>
|
||||
|
||||
These examples should be enough for you to add your favorite window manager(s) to the
|
||||
KDE graphical login, or to give you a starting point to find out how it's done in your
|
||||
particular installation.
|
||||
|
||||
<!-- added two new sections 2002/05/22 -->
|
||||
<sect>Enabling user selection icons in the login dialog box
|
||||
<p>
|
||||
In RedHat 6.1, the default KDE login window shows a dialog box with a space to
|
||||
type in the user name, one in which to type the user password, and a drop down
|
||||
list to select the window manager/desktop environment of choice. By making the
|
||||
following changes to <tt>/usr/share/config/kdmrc</tt>, user icons will appear in
|
||||
the top of the login box.
|
||||
Here is what the default lines that control user icon view in kdmrc look like (other
|
||||
lines between these two are not shown, and are represented by "..."):
|
||||
|
||||
<tscreen><code>
|
||||
#Users=root;johndoe
|
||||
...
|
||||
UserView=false
|
||||
</code></tscreen>
|
||||
|
||||
Here are the same lines after editing; delete the comment character ("#") in
|
||||
front of "Users=..." and change "johndoe" to your username (if there are more
|
||||
user accounts on your system, you may add their usernames here, separated by semi-colons
|
||||
as shown). Change "UserView=false" to "UserView=true" as shown here:
|
||||
|
||||
<tscreen><code>
|
||||
Users=root;johnpipe
|
||||
...
|
||||
UserView=true
|
||||
</code></tscreen>
|
||||
|
||||
Now, when you login, you may click on an icon with the mouse to enter the user name; you must still type in your password.
|
||||
|
||||
<!-- new info on adding your own icons -->
|
||||
You can add your own icons in place of the default icons; place you own icons
|
||||
in /usr/share/apps/kdm/pics/users/. They should be of size 64 x 64, according
|
||||
to the kdm handbook; in KDE 1.x, the default icons are 62 x 63, and my new user icon is 60
|
||||
x 60, so if icons are reasonably close to the specified 64 x 64 size, they
|
||||
will work OK. The handbook says "kdm is able to handle icons of different
|
||||
sizes, but the result looks messy.", so there is evidently some leeway here.
|
||||
Your icons should be named 'username.xpm', for example my username is
|
||||
"johnpipe" and my new icon is named 'johnpipe.xpm'
|
||||
|
||||
NOTE: at some time since kde 1.x, the icon format has been changed from '.xpm'
|
||||
(XPixMap) to '.png' (portable network graphic).
|
||||
|
||||
<sect>Requiring root permission for shutdown
|
||||
<p>
|
||||
The default for the shutdown button on the login box allows anyone to use it to shutdown the system.
|
||||
The section in <tt>/usr/share/config/kdmrc</tt> controlling who may use this button looks like this:
|
||||
|
||||
<tscreen><code>
|
||||
#ShutdownButton=RootOnly
|
||||
ShutdownButton=ConsoleOnly
|
||||
</code></tscreen>
|
||||
|
||||
To enable only the root user to shutdown the system, change the lines as shown below:
|
||||
|
||||
<tscreen><code>
|
||||
ShutdownButton=RootOnly
|
||||
#ShutdownButton=ConsoleOnly
|
||||
</code></tscreen>
|
||||
|
||||
Clicking the shutdown button will now prompt for the root password before shutting down the
|
||||
system.
|
||||
|
||||
<sect>Bibliography
|
||||
<p>
|
||||
|
||||
For more HOWTO's, see <url url="http://www.tldp.org/" name="The Linux Documentation Project">
|
||||
|
||||
Recommended reading:
|
||||
|
||||
<itemize>
|
||||
<item><url url="http://www.tldp.org/HOWTO/XWindow-User-HOWTO/" name="XWindow-User-HOWTO">
|
||||
<item><url url="http://www.tldp.org/HOWTO/Emacs-Beginner-HOWTO.html" name="Emacs Beginner's HOWTO">
|
||||
<item><url url="http://www.tldp.org/HOWTO/Vim-HOWTO.html" name="Vim Color Editor HOW-TO (Vi Improved with syntax color highlighting)">
|
||||
</itemize>
|
||||
|
||||
Depending on your Linux distribution and version, you may already have the
|
||||
above HOWTO's installed on your system. If not installed, you may have them
|
||||
on your installation CD.
|
||||
|
||||
</article>
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue