mirror of
https://github.com/Zeckmathederg/glfs.git
synced 2025-01-25 07:42:13 +08:00
fcc42ef258
git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@8884 af4574ff-66df-0310-9fd7-8a98e5e911e0
405 lines
15 KiB
XML
405 lines
15 KiB
XML
<?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/&gnome-version;/gdm-&gdm-version;.tar.bz2">
|
|
<!ENTITY gdm-download-ftp "&gnome-download-ftp;/gdm/&gnome-version;/gdm-&gdm-version;.tar.bz2">
|
|
<!ENTITY gdm-md5sum "ba35f9f750b50be572952195989df2c5">
|
|
<!ENTITY gdm-size "2.3 MB">
|
|
<!ENTITY gdm-buildsize "51 MB">
|
|
<!ENTITY gdm-time "0.8 SBU">
|
|
]>
|
|
|
|
<sect1 id="gdm" xreflabel="GDM-&gdm-version;">
|
|
<?dbhtml filename="gdm.html"?>
|
|
|
|
<sect1info>
|
|
<othername>$LastChangedBy$</othername>
|
|
<date>$Date$</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>The <application>GDM</application> package contains
|
|
<application>GNOME</application>'s Display Manager daemon. This is
|
|
useful for allowing configurable graphical logins.</para>
|
|
|
|
&lfs67_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">Additional Downloads</bridgehead>
|
|
<itemizedlist spacing="compact">
|
|
<listitem>
|
|
<para>Required patch: <ulink
|
|
url="&patch-root;/gdm-&gdm-version;-fixes-1.patch"/></para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<bridgehead renderas="sect3">GDM Dependencies</bridgehead>
|
|
|
|
<bridgehead renderas="sect4">Required</bridgehead>
|
|
<para role="required"><xref linkend="gnome-panel"/> and
|
|
<xref linkend="xorg7-lib"/></para>
|
|
|
|
<bridgehead renderas="sect4">Recommended</bridgehead>
|
|
<para role="recommended"><xref linkend="consolekit"/>
|
|
(Required for Shutdown/Restart functionality) and
|
|
<xref linkend="polkit-gnome"/></para>
|
|
|
|
<bridgehead renderas="sect4">Optional</bridgehead>
|
|
<para role="optional">
|
|
<ulink url="http://check.sourceforge.net/">Check</ulink>,
|
|
<xref linkend="upower"/>,
|
|
<xref linkend="libxklavier"/>, and
|
|
<xref linkend="tcpwrappers"/></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-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 -fg 21 gdm &&
|
|
useradd -c "GDM Daemon Owner" -d /var/lib/gdm -u 21 \
|
|
-g gdm -s /bin/false gdm || [ $? == 9 ]</userinput></screen>
|
|
|
|
<para>Install <application>GDM</application> by running
|
|
the following commands as an unprivileged user:</para>
|
|
|
|
<screen><userinput>patch -Np1 -i ../gdm-&gdm-version;-fixes-1.patch &&
|
|
./configure --prefix=$(pkg-config --variable=prefix ORBit-2.0) \
|
|
--sysconfdir=&gnome-etc-dir; \
|
|
--localstatedir=/var \
|
|
--libexecdir=$(pkg-config \
|
|
--variable=prefix ORBit-2.0)/lib/gdm \
|
|
--with-pam-prefix=/etc &&
|
|
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 &&
|
|
ln -fsv $(pkg-config --variable=prefix \
|
|
ORBit-2.0)/lib/gnome-settings-daemon-2.0/gnome-settings-daemon $(pkg-config \
|
|
--variable=prefix ORBit-2.0)/lib/gdm &&
|
|
ln -fsv /usr/lib/ConsoleKit/ck-get-x11-display-device $(pkg-config \
|
|
--variable=prefix ORBit-2.0)/lib/gdm &&
|
|
ln -fsv /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 $(pkg-config \
|
|
--variable=prefix ORBit-2.0)/lib/gdm
|
|
</userinput></screen>
|
|
|
|
</sect2>
|
|
|
|
<sect2 role="commands">
|
|
<title>Command Explanations</title>
|
|
|
|
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
|
|
href="../../xincludes/gnome-prefix.xml"/>
|
|
|
|
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
|
|
href="../../xincludes/gnome-sysconfdir.xml"/>
|
|
|
|
<para><parameter>--localstatedir=/var</parameter>: This command
|
|
puts files in <filename class="directory">/var</filename> instead of
|
|
<filename class="directory">$GNOME_PREFIX/var</filename>.</para>
|
|
|
|
<para><parameter>--libexecdir=$(pkg-config
|
|
--variable=prefix ORBit-2.0)/lib/gdm</parameter>: This parameter is
|
|
used so that the <application>GDM</application> internal support programs
|
|
are installed in the preferred location of
|
|
<filename class='directory'>$GNOME_PREFIX/lib/gdm</filename> instead
|
|
of <filename class='directory'>$GNOME_PREFIX/libexec</filename>.</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">&gnome-etc-dir;</filename>.</para>
|
|
|
|
</sect2>
|
|
|
|
<sect2 role="configuration">
|
|
<title>Configuring GDM</title>
|
|
|
|
<sect3 id="gdm-config">
|
|
<title>Config Files</title>
|
|
|
|
<para><filename>&gnome-etc-dir;/gdm/custom.conf</filename></para>
|
|
|
|
<indexterm zone="gdm gdm-config">
|
|
<primary sortas="e-etc-gnome-&gnome-version;&gnome-minor-version;gdm-custom.conf">
|
|
&gnome-etc-dir;/gdm/custom.conf</primary>
|
|
</indexterm>
|
|
|
|
</sect3>
|
|
|
|
<sect3>
|
|
<title>Configuration Information</title>
|
|
|
|
<para>The GDM daemon is configured using the
|
|
<filename>&gnome-etc-dir;/gdm/custom.conf</filename> file.
|
|
Default values are stored in GConf in the
|
|
<filename>gdm.schemas</filename> file. It is recommended that end-users
|
|
modify the <filename>&gnome-etc-dir;/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>
|
|
|
|
<para>The <application>GDM</application> <application>PAM</application>
|
|
configuration files contain modules not present in a BLFS installation.
|
|
If you have <application>PAM</application> installed, issue the following
|
|
commands as the <systemitem class="username">root</systemitem> user to
|
|
replace those files with files containing correctly specified
|
|
modules:</para>
|
|
|
|
<screen role="root"><userinput>cat > /etc/pam.d/gdm << "EOF"
|
|
<literal>auth required pam_unix.so
|
|
auth requisite pam_nologin.so
|
|
account required pam_unix.so
|
|
password required pam_unix.so
|
|
session required pam_unix.so</literal>
|
|
|
|
EOF
|
|
cat > /etc/pam.d/gdm-autologin << "EOF"
|
|
<literal>auth required pam_env.so
|
|
auth requisite 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 > $GNOME_PREFIX/share/xsessions/gnome-dbus.desktop << "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
|
|
chmod -v 644 $GNOME_PREFIX/share/xsessions/gnome-dbus.desktop</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>
|
|
|
|
<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. 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 when the system is booted, 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;&gnome-minor-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>Now edit <filename>/etc/inittab</filename> with the following
|
|
commands.</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>Default, Default.sample, Default, Default, Xsession, gdm,
|
|
gdm-screenshot, gdmflexiserver, gdm-crash-logger, gdm-factory-slave,
|
|
gdm-host-chooser, gdm-product-slave, gdm-session-worker,
|
|
gdm-simple-chooser, gdm-simple-greeter, gdm-simple-slave,
|
|
gdm-user-switch-applet, gdm-xdmcp-chooser-slave, gdm, gdm-binary,
|
|
gdm-restart, gdm-safe-restart, and gdm-stop</seg>
|
|
<seg>None</seg>
|
|
<seg>&gnome-etc-dir;/gdm/{Init,PostLogin,PostSession,PreSession},
|
|
<envar>$GNOME_PREFIX</envar>/{lib/gdm,share/{gnome/help/gdm/*,omf/gdm,
|
|
pixmaps/faces}},
|
|
/var/{cache/gdm,gdm,lib/gdm/.gconf.mandatory,log/gdm,
|
|
run/gdm/greeter}</seg>
|
|
</seglistitem>
|
|
</segmentedlist>
|
|
|
|
<variablelist>
|
|
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
|
|
<?dbfo list-presentation="list"?>
|
|
<?dbhtml list-presentation="table"?>
|
|
|
|
<varlistentry id="gdmflexiserver">
|
|
<term><command>gdmflexiserver</command></term>
|
|
<listitem>
|
|
<para>is the flexi server mechanism which allows to run GDM sessions
|
|
on demand, in a new virtual console.</para>
|
|
<indexterm zone="gdm gdmflexiserver">
|
|
<primary sortas="b-gdmflexiserver">gdmflexiserver</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="gdm-screenshot">
|
|
<term><command>gdm-screenshot</command></term>
|
|
<listitem>
|
|
<para>is a screenshot tool.</para>
|
|
<indexterm zone="gdm gdm-screenshot">
|
|
<primary sortas="b-gdm-screenshot">gdm-screenshot</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<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="gdm-binary">
|
|
<term><command>gdm-binary</command></term>
|
|
<listitem>
|
|
<para>is the <application>GNOME</application> based login prompt.</para>
|
|
<indexterm zone="gdm gdm-binary">
|
|
<primary sortas="b-gdm-binary">gdm-binary</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="gdm-stop">
|
|
<term><command>gdm-stop</command></term>
|
|
<listitem>
|
|
<para>sends the TERM signal to the <application>GDM</application>
|
|
daemon so that it stops. It's used after the config file is
|
|
edited.</para>
|
|
<indexterm zone="gdm gdm-stop">
|
|
<primary sortas="b-gdm-stop">gdm-stop</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
</variablelist>
|
|
|
|
</sect2>
|
|
|
|
</sect1>
|