glfs/x/dm/lxdm.xml
Bruce Dubbs d31272d36f More tags
git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@20400 af4574ff-66df-0310-9fd7-8a98e5e911e0
2018-08-26 04:43:33 +00:00

390 lines
11 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 lxdm-download-http "&sourceforge-dl;/lxdm/lxdm-&lxdm-version;.tar.xz">
<!ENTITY lxdm-download-ftp " ">
<!ENTITY lxdm-md5sum "061caae432634e6db38bbdc84bc6ffa0">
<!ENTITY lxdm-size "236 KB">
<!ENTITY lxdm-buildsize "5.6 MB">
<!ENTITY lxdm-time "less than 0.1 SBU ">
]>
<sect1 id="lxdm" xreflabel="lxdm-&lxdm-version;">
<?dbhtml filename="lxdm.html"?>
<sect1info>
<othername>$LastChangedBy$</othername>
<date>$Date$</date>
</sect1info>
<title>lxdm-&lxdm-version;</title>
<indexterm zone="lxdm">
<primary sortas="a-lxdm">lxdm</primary>
</indexterm>
<sect2 role="package">
<title>Introduction to LXDM</title>
<para>
The <application>LXDM</application> is a lightweight Display Manager for
the <application>LXDE</application> desktop. It can also be used as an
alternative to other Display Managers such as
<application>GNOME's</application> <application>GDM</application> or
<application>LightDM</application>.
</para>
&lfs83_checked;
<bridgehead renderas="sect3">Package Information</bridgehead>
<itemizedlist spacing="compact">
<listitem>
<para>
Download (HTTP): <ulink url="&lxdm-download-http;"/>
</para>
</listitem>
<listitem>
<para>
Download (FTP): <ulink url="&lxdm-download-ftp;"/>
</para>
</listitem>
<listitem>
<para>
Download MD5 sum: &lxdm-md5sum;
</para>
</listitem>
<listitem>
<para>
Download size: &lxdm-size;
</para>
</listitem>
<listitem>
<para>
Estimated disk space required: &lxdm-buildsize;
</para>
</listitem>
<listitem>
<para>
Estimated build time: &lxdm-time;
</para>
</listitem>
</itemizedlist>
<bridgehead renderas="sect3">LXDM Dependencies</bridgehead>
<bridgehead renderas="sect4">Required</bridgehead>
<para role="required">
<xref linkend="gtk2"/>,
<xref linkend="iso-codes"/>, and
<xref role="runtime" linkend="librsvg"/> (runtime, for default theme
background)
</para>
<bridgehead renderas="sect4">Recommended</bridgehead>
<para role="recommended">
<phrase revision="sysv"><xref linkend="consolekit"/> and</phrase>
<xref linkend="linux-pam"/>
</para>
<bridgehead renderas="sect4">Optional</bridgehead>
<para role="optional">
<xref linkend="gtk3"/>
</para>
<para condition="html" role="usernotes">
User Notes: <ulink url="&blfs-wiki;/lxdm"/>
</para>
</sect2>
<sect2 role="installation">
<title>Installation of LXDM</title>
<para>
First, some fixes.
</para>
<screen><userinput>cat &gt; pam/lxdm &lt;&lt; "EOF"
<literal># Begin /etc/pam.d/lxdm
auth requisite pam_nologin.so
auth required pam_env.so
auth include system-auth
account include system-account
password include system-password
session required pam_limits.so
session include system-session
# End /etc/pam.d/lxdm</literal>
EOF
sed -i 's:sysconfig/i18n:profile.d/i18n.sh:g' data/lxdm.in &amp;&amp;
sed -i 's:/etc/xprofile:/etc/profile:g' data/Xsession &amp;&amp;
sed -e 's/^bg/#&amp;/' \
-e '/reset=1/ s/# //' \
-e 's/logou$/logout/' \
-e "/arg=/a arg=$XORG_PREFIX/bin/X" \
-i data/lxdm.conf.in</userinput></screen>
<para>
Install <application>LXDM</application> by running the following
commands:
</para>
<screen revision="sysv"><userinput>./configure --prefix=/usr \
--sysconfdir=/etc \
--with-pam \
--with-systemdsystemunitdir=no &amp;&amp;
make</userinput></screen>
<screen revision="systemd"><userinput>./configure --prefix=/usr \
--sysconfdir=/etc \
--with-pam \
--with-systemdsystemunitdir=/lib/systemd/system &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</userinput></screen>
</sect2>
<!--Optional section-->
<sect2 role="commands">
<title>Command Explanations</title>
<para>
<command>cat &gt; pam/lxdm &lt;&lt; "EOF" ...</command>: Replace default
<filename>/etc/pam.d/lxdm</filename> by another one appropriate for BLFS.
</para>
<para>
<command>sed -i ... data/lxdm.conf.in</command>: Modifications in the
default configuration:
(1) fix the background to the default one;
(2) restart X when session is close;
(3) typo; and
(4) include <envar>XORG_PREFIX</envar>, which may be different from
<filename class="directory">/usr</filename>.
</para>
<para>
<command>sed -i ... data/Xsession</command>: Source
<filename>/etc/profile</filename>, instead of other file, according to
BLFS standard.
</para>
<para>
<command>sed -i ... data/lxdm.in</command>: Fix greeter's locale for BLFS
specification.
</para>
<para>
<parameter>--with-pam</parameter>: This parameter enables use of pam
authentication.
</para>
<para revision="sysv">
<parameter>--with-systemdsystemunitdir=no</parameter>: BLFS does not
support systemd.
</para>
</sect2>
<sect2 role="configuration">
<title>Configuring LXDM</title>
<sect3 id="lxdm-config">
<title>Config Files</title>
<para>
<filename>/etc/lxdm/lxdm.conf</filename>
</para>
<indexterm zone="lxdm lxdm-config">
<primary sortas="e-etc-lxdm-lxdm.conf">/etc/lxdm/lxdm.conf</primary>
</indexterm>
</sect3>
<sect3 id="lxdm-init">
<title>Boot Script</title>
<para revision="sysv">
Install the <filename>/etc/rc.d/init.d/lxdm</filename> init script from
the <xref linkend="bootscripts"/> package.
</para>
<para revision="systemd">
To start <application>LXDM</application> at boot execute the following
command as the <systemitem class="username">root</systemitem> user:
</para>
<indexterm zone="lxdm lxdm-init">
<primary sortas="f-lxdm">lxdm</primary>
</indexterm>
<screen role="root" revision="sysv"><userinput>make install-lxdm</userinput></screen>
<screen role="root" revision="systemd"><userinput>systemctl enable lxdm</userinput></screen>
</sect3>
<sect3>
<title>Configuration Information</title>
<para>
The LXDM daemon configuration file
(<filename>/etc/lxdm/lxdm.conf</filename>) specifies options that
include numlock on/off, background image (bg), session, etc. You can
set a default session by uncommenting the line:
session=/usr/bin/startlxde and replacing <command>startlxde</command>
with your session of choice. For <application>GNOME</application>
session=/usr/bin/gnome-session. For <application>OPENBOX</application>
session=/usr/bin/openbox-session and for
<application>XFCE</application> session=/usr/bin/startxfce4.
</para>
<para>
It is also possible to set the preferred session on a per-user basis by
editing the ~/.dmrc file for each user and adding:
<screen><literal>[Desktop]
Session=xfce</literal></screen>
</para>
<para>
You can replace the default dummy face in the greeting screen by another
image representing your user. For that, copy or symlink the desired
image to your home directory with the name <filename>.face</filename>.
</para>
</sect3>
<sect3 revision="sysv">
<title>Starting lxdm</title>
<para>
You can manually start <command>lxdm</command>, e.g, if the bootscript
has been installed, by running, as <systemitem
class="username">root</systemitem> user:
</para>
<screen role="root"><userinput>/etc/rc.d/init.d/lxdm start</userinput></screen>
<para>
By convention, X should be executed at runlevel 5, consequently, the
same is true for <application>lxdm</application>. However, the LFS default
runlevel is 3. Changing to runlevel 5, from the console (as
<systemitem class="username">root</systemitem> user) starts the
<command>lxdm</command> bootscript and presents the
greeter screen:
</para>
<screen role="root"><userinput>init 5</userinput></screen>
<para>
In order to permanently set the default to 5, starting the
<command>lxdm</command> greeter screen automatically, you can modify
<filename>/etc/inittab</filename>. As the <systemitem
class="username">root</systemitem> user:
</para>
<screen role="root"><userinput>cp -v /etc/inittab{,-orig} &amp;&amp;
sed -i '/initdefault/ s/3/5/' /etc/inittab</userinput></screen>
<note>
<para>
One important script, executed after login is
<filename>/etc/lxdm/Xsession</filename> which we have fixed to fit
BLFS specifications.
</para>
</note>
</sect3>
</sect2>
<!--Required section-->
<sect2 role="content">
<title>Contents</title>
<segmentedlist>
<segtitle>Installed Programs</segtitle>
<segtitle>Installed Libraries</segtitle>
<segtitle>Installed Directories</segtitle>
<seglistitem>
<seg>
lxdm, lxdm-binary and lxdm-config
</seg>
<seg>
None
</seg>
<seg>
/etc/lxdm and
/usr/share/lxdm
</seg>
</seglistitem>
</segmentedlist>
<variablelist>
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
<!-- If the program or library name conflicts (is the same) as the
package name, add -prog or -lib to the varlistentry entity id
and the 2nd entry of the indexterm zone entity -->
<varlistentry id="lxdm-prog">
<term><command>lxdm</command></term>
<listitem>
<para>
is a script to execute <command>lxdm-binary</command>
</para>
<indexterm zone="lxdm lxdm-prog">
<primary sortas="b-lxdm">lxdm</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="lxdm-binary">
<term><command>lxdm-binary</command></term>
<listitem>
<para>
is the actual Display Manager; needs to be executed with option
<option>-d</option> to daemonize
</para>
<indexterm zone="lxdm lxdm-binary">
<primary sortas="b-lxdm-binary">lxdm-binary</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="lxdm-config-prog">
<term><command>lxdm-config</command></term>
<listitem>
<para>
is a graphical customizing program
</para>
<indexterm zone="lxdm lxdm-config">
<primary sortas="b-lxdm">lxdm</primary>
</indexterm>
</listitem>
</varlistentry>
</variablelist>
</sect2>
</sect1>