glfs/archive/lxdm.xml
Douglas R. Reno 88146cd4c6 Archive LXDM.
Bruce suggested this due to issues with PAM and elogind.
2023-08-30 23:02:32 -05:00

383 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"?>
<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>
&lfs120_checked;
<note>
<para>
The <application>lxdm</application> display manager does not support
wayland based window managers such as <application>plasma-wayland</application>
or <application>gnome-wayland</application>.
</para>
</note>
<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">
<xref linkend="lxsession"/> (for <application>lxpolkit</application>) or
<xref role="nodep" linkend="polkit-gnome"/>
</para>
<bridgehead renderas="sect4">Optional</bridgehead>
<para role="optional">
<xref linkend="gtk3"/>
</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 required pam_succeed_if.so uid >= 1000 quiet
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><phrase revision="sysv">Boot Script</phrase>
<phrase revision="systemd">Systemd Unit</phrase></title>
<indexterm zone="lxdm lxdm-init">
<primary sortas="f-lxdm">lxdm</primary>
</indexterm>
<para revision="sysv">
To start <command>lxdm</command> automatically when the system is
switched to runlevel 5, install the
<filename>/etc/rc.d/init.d/xdm</filename> script and the
<filename>/etc/sysconfig/xdm</filename> configuration file
included in the <xref linkend="bootscripts"/> package
and adjust <filename>/etc/inittab</filename> by running
as the <systemitem class="username">root</systemitem> user:
</para>
<screen role="root" revision="sysv"><userinput>make install-lxdm</userinput></screen>
<para revision="systemd">
To start <application>LXDM</application> at boot execute the following
command as the <systemitem class="username">root</systemitem> user:
</para>
<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>
The <command>lxdm</command> greeter can be started from the command
line as the <systemitem class="username">root</systemitem> user:
</para>
<screen role="root"><userinput>telinit 5</userinput></screen>
<para>
Alternatively the runlevel can be permanently set to 5, starting the
<command>lxdm</command> greeter screen automatically, by modifying
<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>
<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"?>
<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>