glfs/gnome/add/gdm.xml
Randy McMurchy 5254d12fef Standardized the id tag name of the Bootscripts package
git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@5497 af4574ff-66df-0310-9fd7-8a98e5e911e0
2005-12-29 01:38:36 +00:00

363 lines
13 KiB
XML

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
"http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../../general.ent">
%general-entities;
<!ENTITY gdm-download-http "http://ftp.gnome.org/pub/GNOME/sources/gdm/2.8/gdm-&gdm-version;.tar.bz2">
<!ENTITY gdm-download-ftp "ftp://ftp.gnome.org/pub/GNOME/sources/gdm/2.8/gdm-&gdm-version;.tar.bz2">
<!ENTITY gdm-md5sum "2944ba9c2a2bf7032ac81dc24eecf32d">
<!ENTITY gdm-size "2.7 MB">
<!ENTITY gdm-buildsize "51.7 MB">
<!ENTITY gdm-time "0.7 SBU">
]>
<sect1 id="gdm" xreflabel="GDM-&gdm-version;">
<?dbhtml filename="gdm.html"?>
<sect1info>
<othername>$LastChangedBy$</othername>
<date>$Date$</date>
<keywordset>
<keyword role="package">gdm-&gdm-version;.tar</keyword>
<keyword role="ftpdir">gdm</keyword>
</keywordset>
</sect1info>
<title>GDM-&gdm-version;</title>
<indexterm zone="gdm">
<primary sortas="a-GDM">GDM</primary>
</indexterm>
<sect2 role="package">
<title>Introduction to GDM</title>
<para>The <application>GDM</application> package contains
<application>GNOME</application>'s Display Manager daemon. This is
useful for allowing configurable graphical logins.</para>
<bridgehead renderas="sect3">Package Information</bridgehead>
<itemizedlist spacing="compact">
<listitem>
<para>Download (HTTP): <ulink url="&gdm-download-http;"/></para>
</listitem>
<listitem>
<para>Download (FTP): <ulink url="&gdm-download-ftp;"/></para>
</listitem>
<listitem>
<para>Download MD5 sum: &gdm-md5sum;</para>
</listitem>
<listitem>
<para>Download size: &gdm-size;</para>
</listitem>
<listitem>
<para>Estimated disk space required: &gdm-buildsize;</para>
</listitem>
<listitem>
<para>Estimated build time: &gdm-time;</para>
</listitem>
</itemizedlist>
<bridgehead renderas="sect3">GDM Dependencies</bridgehead>
<bridgehead renderas="sect4">Required</bridgehead>
<para role="required"><xref linkend="libgnomeui"/>,
<xref linkend="scrollkeeper"/> and
<xref linkend="librsvg"/></para>
<bridgehead renderas="sect4">Optional</bridgehead>
<para role="optional"><xref linkend="linux-pam"/> and
<xref linkend="tcpwrappers"/></para>
</sect2>
<sect2 role="installation">
<title>Installation of GDM</title>
<para>It is recommended to have a dedicated user and group to take
control of the <command>gdm-binary</command> daemon after it is
started. Issue the following commands as the
<systemitem class="username">root</systemitem> user:</para>
<screen role='root'><userinput>groupadd -g 21 gdm &amp;&amp;
useradd -c "GDM Daemon Owner" -d /dev/null \
-g gdm -s /bin/bash -u 21 gdm</userinput></screen>
<para>Install <application>GDM</application> by running
the following commands as an unprivileged user:</para>
<screen><userinput>./configure --prefix=`pkg-config --variable=prefix ORBit-2.0` \
--libexecdir=`pkg-config --variable=prefix ORBit-2.0`/sbin \
--sysconfdir=/etc/gnome --localstatedir=/var/lib \
--with-pam-prefix=/etc &amp;&amp;
make</userinput></screen>
<para>This package does not come with a test suite.</para>
<para>Now, as the <systemitem class="username">root</systemitem> user:</para>
<screen role='root'><userinput>make install &amp;&amp;
chmod -v 644 `pkg-config --variable=prefix ORBit-2.0`\
/share/gdm/BuiltInSessions/default.desktop \
`pkg-config --variable=prefix ORBit-2.0`\
/share/xsessions/gnome.desktop</userinput></screen>
</sect2>
<sect2 role="commands">
<title>Command Explanations</title>
<para><parameter>--sysconfdir=/etc/gnome</parameter>: This command puts
configuration files in <filename class="directory">/etc/gnome</filename>
instead of <filename class="directory">$GNOME_PREFIX/etc</filename>.</para>
<para><parameter>--localstatedir=/var/lib</parameter>: This command
puts files in <filename class="directory">/var/lib</filename> instead of
<filename class="directory">$GNOME_PREFIX/var</filename>. This also has
the downside affect of using
<filename class='directory'>/var/lib/log/gdm</filename> as the log
directory. See the <quote>Configuration Information</quote> section below
for information how to relocate the log file directory.</para>
<para><parameter>--with-pam-prefix=/etc</parameter>: This command puts
<application>PAM</application> configuration files in
<filename class="directory">/etc/pam.d</filename> instead of
<filename class="directory">/etc/gnome</filename>.</para>
</sect2>
<sect2 role="configuration">
<title>Configuring GDM</title>
<sect3 id="gdm-config">
<title>Config Files</title>
<para><filename>/etc/gnome/gdm/gdm.conf</filename></para>
<indexterm zone="gdm gdm-config">
<primary sortas="e-etc-gnome-gdm-gdm.conf">/etc/gnome/gdm/gdm.conf</primary>
</indexterm>
</sect3>
<sect3>
<title>Configuration Information</title>
<para>Change the directory containing the <application>GDM</application>
log files to the <filename class='directory'>/var/log</filename>
hierarchy by creating a directory and modifying the
<filename>/etc/gnome/gdm/gdm.conf</filename> configuration file. Issue
the following commands as the
<systemitem class="username">root</systemitem> user:</para>
<screen role="root"><userinput>install -v -m755 -d /var/log/gdm &amp;&amp;
sed -i "s|var/lib/log|var/log|" /etc/gnome/gdm/gdm.conf</userinput></screen>
<para>The <application>GDM</application> <application>PAM</application>
config files contain modules not present in a BLFS installation. The
following commands will replace those files (issue as the
<systemitem class="username">root</systemitem> user):</para>
<screen role="root"><userinput>cat &gt; /etc/pam.d/gdm &lt;&lt; "EOF"
<literal>auth required pam_unix.so
auth required pam_nologin.so
account required pam_unix.so
password required pam_unix.so
session required pam_unix.so</literal>
EOF
cat &gt; /etc/pam.d/gdm-autologin &lt;&lt; "EOF"
<literal>auth required pam_env.so
auth required pam_nologin.so
auth required pam_permit.so
account required pam_unix.so
password required pam_unix.so
session required pam_unix.so</literal>
EOF</userinput></screen>
<indexterm zone="gdm gdm-config">
<primary sortas="e-etc-pam.d-gdm">/etc/pam.d/gdm</primary>
</indexterm>
<indexterm zone="gdm gdm-config">
<primary
sortas="e-etc-pam.d-gdm-autologin">/etc/pam.d/gdm-autologin</primary>
</indexterm>
<para id="gdm-config-dbus">If you have <application>D-BUS</application>
installed and you want to start the session
<application>D-BUS</application> daemon when you start the GNOME desktop
environment using <command>gdm</command>, you'll need to create a new
Xsession file. Create the file using the following command as the root
user.</para>
<screen role="root"><userinput>cat &gt; $GNOME_PREFIX/share/xsessions/gnome-dbus.desktop &lt;&lt; "EOF"
<literal>[Desktop Entry]
Encoding=UTF-8
Name=GNOME with D-BUS
Comment=GNOME Desktop with D-BUS support
Exec=dbus-launch --exit-with-session gnome-session
TryExec=/usr/bin/dbus-launch
Icon=
Type=Application</literal>
EOF</userinput></screen>
<para>Choose this session using the session selection dialog on the
display manager login screen. You also have the opportunity to make this
your default session.</para>
<note>
<para>You may use the <filename class='extension'>.desktop</filename>
file created above as an example to create additional
<filename class='extension'>.desktop</filename> files and add any other
desired items to the <application>GDM</application> display manager session
selection menu.</para>
</note>
<para><command>gdm</command> can be tested by executing it as the
<systemitem class="username">root</systemitem> user. Use the
<command>gdm-stop</command> command if you wish to stop the display
manager.</para>
</sect3>
<sect3 id="gdm-init">
<title>Boot Script</title>
<para>To start a graphical login at boot, install the
<filename>/etc/rc.d/init.d/gdm</filename> init script included in the
<xref linkend="bootscripts"/> package. If your
<envar>GNOME_PREFIX</envar> environment variable is anything other than
<filename class='directory'>/usr</filename> or
<filename class='directory'>/opt/gnome-&gnome-version;</filename>, you
will need to modify the <envar>PATH</envar> statement in the script to
include the path where you have <application>GNOME</application>
installed.</para>
<indexterm zone="gdm gdm-init">
<primary sortas="f-gdm">gdm</primary>
</indexterm>
<screen role="root"><userinput>make install-gdm</userinput></screen>
<para>To autostart with a graphical login, edit
<filename>/etc/inittab</filename> so that the line containing:</para>
<screen><literal>id:3:initdefault:</literal></screen>
<para>is changed to:</para>
<screen><literal>id:5:initdefault:</literal></screen>
</sect3>
</sect2>
<sect2 role="content">
<title>Contents</title>
<segmentedlist>
<segtitle>Installed Programs</segtitle>
<segtitle>Installed Libraries</segtitle>
<segtitle>Installed Directories</segtitle>
<seglistitem>
<seg>gdm, gdm-binary, gdmXnest, gdmXnestchooser, gdmchooser,
gdmflexiserver, gdmgreeter, gdmlogin, gdmphotosetup, gdmsetup,
gdmthemetester, gdm-restart, gdm-safe-restart, gdm-stop,
gdmconfig, gdmopen, and gdmtranslate</seg>
<seg>None</seg>
<seg>/etc/gnome/dm, /etc/gnome/gdm,
$GNOME_PREFIX/share/gdm,
$GNOME_PREFIX/share/gnome/capplets,
$GNOME_PREFIX/share/gnome/help/gdm,
$GNOME_PREFIX/share/omf/gdm,
$GNOME_PREFIX/share/xsessions,
/var/lib/gdm and /var/log/gdm</seg>
</seglistitem>
</segmentedlist>
<variablelist>
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
<varlistentry id="gdm-prog">
<term><command>gdm</command></term>
<listitem>
<para>is a wrapper script to execute the
<application>GDM</application> binary, the configurable
<application>GNOME</application> based login prompt.</para>
<indexterm zone="gdm gdm-prog">
<primary sortas="b-gdm">gdm</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="gdmchooser">
<term><command>gdmchooser</command></term>
<listitem>
<para>is an application for selecting XDMCP enabled hosts on
the local network.</para>
<indexterm zone="gdm gdmchooser">
<primary sortas="b-gdmchooser">gdmchooser</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="gdmsetup">
<term><command>gdmsetup</command></term>
<listitem>
<para>is a graphical interface to edit the
<filename>gdm.conf</filename> file.</para>
<indexterm zone="gdm gdmsetup">
<primary sortas="b-gdmsetup">gdmsetup</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="gdm-restart">
<term><command>gdm-restart</command></term>
<listitem>
<para>sends the HUP signal to the <application>GDM</application>
daemon so that it restarts. It's used after the config file
is edited</para>
<indexterm zone="gdm gdm-restart">
<primary sortas="b-gdm-restart">gdm-restart</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="gdm-safe-restart">
<term><command>gdm-safe-restart</command></term>
<listitem>
<para>sends the USR1 signal to the <application>GDM</application>
daemon so that it restarts. It's used after the config file
is edited.</para>
<indexterm zone="gdm gdm-safe-restart">
<primary sortas="b-gdm-safe-restart">gdm-safe-restart</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="gdmconfig">
<term><command>gdmconfig</command></term>
<listitem>
<para>is an application for managing the configuration of the
entire <application>GDM</application> applications suite. It
handles look and feel, security, XDMCP, GDMchooser and more.</para>
<indexterm zone="gdm gdmconfig">
<primary sortas="b-gdmconfig">gdmconfig</primary>
</indexterm>
</listitem>
</varlistentry>
</variablelist>
</sect2>
</sect1>