<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
   "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
  <!ENTITY % general-entities SYSTEM "../../general.ent">
  %general-entities;

  <!ENTITY gdm-download-http "&gnome-download-http;/gdm/3.6/gdm-&gdm-version;.tar.xz">
  <!ENTITY gdm-download-ftp  "&gnome-download-ftp;/gdm/3.6/gdm-&gdm-version;.tar.xz">
  <!ENTITY gdm-md5sum        "b1924268d1515b8b947acbbe49d72292">
  <!ENTITY gdm-size          "1.6 MB">
  <!ENTITY gdm-buildsize     "65 MB">
  <!ENTITY gdm-time          "0.5 SBU">
]>

<sect1 id="gdm" xreflabel="GDM-&gdm-version;">
  <?dbhtml filename="gdm.html"?>

  <sect1info>
    <othername>$LastChangedBy: krejzi $</othername>
    <date>$Date: 2013-06-01 08:18:39 -0400 (Sat, 01 Jun 2013) $</date>
  </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>
      <application>GDM</application> is a system service that is
      responsible for providing graphical logins and managing local
      and remote displays.
    </para>

    &lfs72_checked;

    <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="accountsservice"/>,
      <xref linkend="dconf"/>,
      <xref linkend="libcanberra"/>,
      <xref linkend="linux-pam"/>,
      <xref linkend="nss"/> and
      <xref linkend="yelp-xsl"/>
    </para>

    <bridgehead renderas="sect4">Recommended</bridgehead>
    <para role="recommended">
      <xref linkend="gobject-introspection"/>,
      <xref linkend="iso-codes"/> and
      <xref linkend="upower"/>
    </para>

    <bridgehead renderas="sect4">Optional</bridgehead>
    <para role="optional">
      <xref linkend="check"/>
    </para>

    <bridgehead renderas="sect4">Runtime Dependencies</bridgehead>
    <para role="required">
      <xref linkend="consolekit"/>,
      <xref linkend="gnome-session"/> and either
      <xref linkend="gnome-shell"/> or
      <xref linkend="metacity"/>
    </para>

    <para condition="html" role="usernotes">User Notes:
      <ulink url="&blfs-wiki;/gdm"/>
    </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</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 /var/lib/gdm -u 21 \
        -g gdm -s /bin/false gdm &amp;&amp;
usermod -a -G audio gdm &amp;&amp;
usermod -a -G video gdm</userinput></screen>

    <para>
      Install <application>GDM</application> by running the following
      commands:
    </para>

<screen><userinput>./configure --prefix=/usr \
            --sysconfdir=/etc \
            --localstatedir=/var \
            --libexecdir=/usr/lib/gdm \
            --with-initial-vt=7 \
            --with-at-spi-registryd-directory=/usr/lib/at-spi2-core \
            --with-authentication-agent-directory=/usr/lib/polkit-gnome \
            --with-check-accelerated-directory=/usr/lib/gnome-session \
            --with-consolekit-directory=/usr/lib/ConsoleKit \
            --disable-static &amp;&amp;
make</userinput></screen>

    <para>
      If you have installed <xref linkend="check"/> and you wish to run
      the testsuite, issue: <command>make check</command>.
    </para>

    <para>
      Now, as the <systemitem class="username">root</systemitem> user:
    </para>

<screen role="root"><userinput>make install &amp;&amp;
chown -R -v gdm:gdm /var/lib/gdm /var/cache/gdm /var/log/gdm</userinput></screen>

  </sect2>

  <sect2 role="commands">
    <title>Command Explanations</title>

    <para>
      <parameter>--with-initial-vt=7</parameter>: This switch
      causes <application>GDM</application> to start on vt7
      instead of the first free VT.
    </para>

    <para>
      <parameter>--with-*-directory=...</parameter>: These switches
      specify the location of programs that are used at runtime.
    </para>

    <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
      href="../../xincludes/static-libraries.xml"/>

    <para>
      <parameter>--with-default-pam-config=lfs</parameter>: Use this
      switch if you did not create <filename>/etc/lfs-release</filename>
      or distribution auto detection will fail and you will be unable
      to use <application>GDM</application>.
    </para>

  </sect2>

  <sect2 role="configuration">
    <title>Configuring GDM</title>

    <sect3 id="gdm-config">
      <title>Config Files</title>

      <para>
        <filename>/etc/gdm/custom.conf</filename>
      </para>

      <indexterm zone="gdm gdm-config">
        <primary sortas="e-etc-gdm-custom.conf">
        /etc/gdm/custom.conf</primary>
      </indexterm>

    </sect3>

    <sect3>
      <title>Configuration Information</title>

      <para>
        The GDM daemon is configured using the
        <filename>/etc/gdm/custom.conf</filename> file.
        Default values are stored in GSettings in the
        <filename>gdm.schemas</filename> file. It is recommended that end-users
        modify the <filename>/etc/gdm/custom.conf</filename> file
        because the schemas file may be overwritten when the user updates their
        system to have a newer version of GDM.
      </para>

      <important>
        <para>
          If the system-wide <application>D-BUS</application> daemon was
          running during the installation of <application>gdm</application>,
          ensure you stop and restart the <application>D-BUS</application>
          daemon before attempting to start <command>gdm</command>.
        </para>
      </important>

      <para>
        <command>gdm</command> can be tested by executing it as the
        <systemitem class="username">root</systemitem> user. If you wish to stop
        it you will need to go to a different tty and then kill it.
      </para>

    </sect3>

    <sect3 id="gdm-init">
      <title>Boot Script</title>

      <para>
        To start a graphical login when the system is booted, install the
        <filename>/etc/rc.d/init.d/gdm</filename> init script included in the
        <xref linkend="bootscripts"/> package.
      </para>

      <indexterm zone="gdm gdm-init">
        <primary sortas="f-gdm">gdm</primary>
      </indexterm>

<screen role="root"><userinput>make install-gdm</userinput></screen>

      <para>
        Now edit <filename>/etc/inittab</filename> with the following
        command.
      </para>

<screen role="root"><userinput>sed -i 's/id:3:initdefault:/id:5:initdefault:/' \
    /etc/inittab</userinput></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 and gdm-screenshot
        </seg>
        <seg>
          libgdm.so and libgdmsimplegreeter.so
        </seg>
        <seg>
          /etc/dconf/db/gdm.d,
          /etc/gdm,
          /usr/include/gdm,
          /usr/lib/gdm,
          /usr/share/gdm,
          /usr/share/help/*/gdm,
          /var/cache/gdm,
          /var/gdm,
          /var/lib/gdm,
          /var/log/gdm and
          /var/run/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 the <application>GNOME</application> based login prompt.
          </para>
          <indexterm zone="gdm gdm-prog">
            <primary sortas="b-gdm">gdm</primary>
          </indexterm>
        </listitem>
      </varlistentry>

      <varlistentry id="gdm-screenshot">
        <term><command>gdm-screenshot</command></term>
        <listitem>
          <para>
            is a <application>GDM</application> screenshot tool.
          </para>
          <indexterm zone="gdm gdm-screenshot">
            <primary sortas="b-gdm-screenshot">gdm-screenshot</primary>
          </indexterm>
        </listitem>
      </varlistentry>

    </variablelist>

  </sect2>

</sect1>
