Add lightdm

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@19650 af4574ff-66df-0310-9fd7-8a98e5e911e0
This commit is contained in:
Bruce Dubbs 2018-01-05 18:17:22 +00:00
parent 3b78237cc0
commit 7d4600c3b8
6 changed files with 431 additions and 4 deletions

View File

@ -1,12 +1,12 @@
<!-- $LastChangedBy$ $Date$ -->
<!ENTITY day "04"> <!-- Always 2 digits -->
<!ENTITY day "05"> <!-- Always 2 digits -->
<!ENTITY month "01"> <!-- Always 2 digits -->
<!ENTITY year "2018">
<!ENTITY copyrightdate "2001-&year;">
<!ENTITY copyholder "The BLFS Development Team">
<!ENTITY version "&year;-&month;-&day;">
<!ENTITY releasedate "January 4th, &year;">
<!ENTITY releasedate "January 5th, &year;">
<!ENTITY pubdate "&year;-&month;-&day;"> <!-- metadata req. by TLDP -->
<!ENTITY blfs-version "svn"> <!-- svn|[release #] -->
<!ENTITY lfs-version "development"> <!-- x.y|development -->
@ -77,8 +77,8 @@
<!ENTITY lfs-vim-version "7.4">
<!-- End LFS versions -->
<!ENTITY blfs-bootscripts-version "20170731">
<!ENTITY systemd-units-version "20160602">
<!ENTITY blfs-bootscripts-version "20180105">
<!ENTITY systemd-units-version "20180105">
<!ENTITY blfs-wiki "http://wiki.&lfs-domainname;/blfs/wiki">

View File

@ -41,6 +41,15 @@
</itemizedlist>
</listitem>
-->
<listitem>
<para>January 5th, 2018</para>
<itemizedlist>
<listitem>
<para>[bdubbs] - Add lightdm.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>January 4th, 2018</para>
<itemizedlist>

View File

@ -588,6 +588,8 @@ to avoid building libxml2 twice, which is slow with all deps -->
<!ENTITY qt5-dir "$QT5DIR">
<!-- Chapter 26 -->
<!ENTITY lightdm-version "1.24.0">
<!ENTITY lightdm-gtk-greeter-version "2.0.3">
<!ENTITY lxdm-version "0.5.3">
<!ENTITY sddm-version "0.16.0">

View File

@ -111,6 +111,7 @@
<row><entry>wireshark</entry><entry> </entry><entry>62</entry></row>
<row><entry>lightdm </entry><entry>63</entry><entry>63</entry></row>
<row><entry>sddm </entry><entry>64</entry><entry>64</entry></row>
<row><entry>lightdm </entry><entry>65</entry><entry>65</entry></row>
<row><entry>scanner </entry><entry> </entry><entry>70</entry></row>
<row><entry>colord </entry><entry>71</entry><entry>71</entry></row>

View File

@ -61,6 +61,7 @@
</sect1>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="lightdm.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="lxdm.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="sddm.xml"/>

414
x/dm/lightdm.xml Normal file
View File

@ -0,0 +1,414 @@
<?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;
<!-- lightdm -->
<!ENTITY lightdm-download-http "https://launchpad.net/lightdm/1.24/&lightdm-version;/+download/lightdm-&lightdm-version;.tar.xz">
<!ENTITY lightdm-download-ftp " ">
<!ENTITY lightdm-md5sum "76d65ba5d1bc93e80b611771698739db">
<!ENTITY lightdm-size "508 KB">
<!ENTITY lightdm-buildsize "20 MB">
<!ENTITY lightdm-time "0.2 SBU ">
<!-- lightdm-gtk-greeter -->
<!ENTITY lightdm-gtk-greeter-download-http "https://launchpad.net/lightdm-gtk-greeter/2.0/&lightdm-gtk-greeter-version;/+download/lightdm-gtk-greeter-&lightdm-gtk-greeter-version;.tar.gz">
<!ENTITY lightdm-gtk-greeter-download-ftp " ">
<!ENTITY lightdm-gtk-greeter-md5sum "29f352906d200568cceb4d449b5619c6">
<!ENTITY lightdm-gtk-greeter-size "480 KB">
<!ENTITY lightdm-gtk-greeter-buildsize "3.9 MB">
<!ENTITY lightdm-gtk-greeter-time "less than 0.1 SBU ">
]>
<sect1 id="lightdm" xreflabel="lightdm-&lightdm-version;">
<?dbhtml filename="lightdm.html"?>
<sect1info>
<othername>$LastChangedBy$</othername>
<date>$Date$</date>
</sect1info>
<title>lightdm-&lightdm-version;</title>
<indexterm zone="lightdm">
<primary sortas="a-lightdm">lightdm</primary>
</indexterm>
<sect2 role="package">
<title>Introduction to Lightdm</title>
<para>
The <application>lightdm</application> package contains a lightweight
display manager based upon GTK.
</para>
&lfs81_checked;
<bridgehead renderas="sect3">Lightdm Package Information</bridgehead>
<itemizedlist spacing="compact">
<listitem>
<para>
Download (HTTP): <ulink url="&lightdm-download-http;"/>
</para>
</listitem>
<listitem>
<para>
Download (FTP): <ulink url="&lightdm-download-ftp;"/>
</para>
</listitem>
<listitem>
<para>
Download MD5 sum: &lightdm-md5sum;
</para>
</listitem>
<listitem>
<para>
Download size: &lightdm-size;
</para>
</listitem>
<listitem>
<para>
Estimated disk space required: &lightdm-buildsize;
</para>
</listitem>
<listitem>
<para>
Estimated build time: &lightdm-time;
</para>
</listitem>
</itemizedlist>
<note>
<para>
The greeter is a program to present a graphical login screen. There
are several alternative greeters, but the gtk+ package is the reference
implementation. For a list of other greeters, see <ulink
url="https://en.wikipedia.org/wiki/LightDM"/>.
</para>
</note>
<bridgehead renderas="sect3">Lightdm-gtk-greeter Package Information</bridgehead>
<itemizedlist spacing="compact">
<listitem>
<para>
Download (HTTP): <ulink url="&lightdm-gtk-greeter-download-http;"/>
</para>
</listitem>
<listitem>
<para>
Download (FTP): <ulink url="&lightdm-gtk-greeter-download-ftp;"/>
</para>
</listitem>
<listitem>
<para>
Download MD5 sum: &lightdm-gtk-greeter-md5sum;
</para>
</listitem>
<listitem>
<para>
Download size: &lightdm-gtk-greeter-size;
</para>
</listitem>
<listitem>
<para>
Estimated disk space required: &lightdm-gtk-greeter-buildsize;
</para>
</listitem>
<listitem>
<para>
Estimated build time: &lightdm-gtk-greeter-time;
</para>
</listitem>
</itemizedlist>
<bridgehead renderas="sect3">Lightdm Dependencies</bridgehead>
<bridgehead renderas="sect4">Required</bridgehead>
<para role="required">
<xref linkend="gtk3"/>,
<xref linkend="libgcrypt"/>,
<xref linkend="linux-pam"/>, and
<xref linkend="pcre"/>
</para>
<bridgehead renderas="sect4">Recommended</bridgehead>
<para role="recommended">
<xref linkend="gobject-introspection"/>,
<xref linkend="libxklavier"/>, and
<xref linkend="vala"/>
</para>
<bridgehead renderas="sect4">Optional</bridgehead>
<para role="optional">
<xref linkend="at-spi2-core"/>,
<xref linkend="gtk-doc"/>,
<xref linkend="itstool"/>,
<xref linkend="qt5"/>,
<ulink url="https://launchpad.net/intltool">intltool</ulink>,
<ulink url="https://launchpad.net/ido">libido</ulink>, and
<ulink url="https://launchpad.net/libindicator">libindicator</ulink>
</para>
<para condition="html" role="usernotes">User Notes:
<ulink url="&blfs-wiki;/lightdm"/>
</para>
</sect2>
<sect2 role="installation">
<title>Installation of Lightdm</title>
<para>
First, create a dedicated user and group to take
control of the <command>lightdm</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 65 lightdm &amp;&amp;
useradd -c "Lightdm Daemon" \
-d /var/lib/lightdm \
-u 65 -g lightdm \
-s /bin/false lightdm</userinput></screen>
<para>
Install <application>lightdm</application> by running the following
commands:
</para>
<screen><userinput>./configure \
--prefix=/usr \
--libexecdir=/usr/lib/lightdm \
--localstatedir=/var \
--sbindir=/usr/bin \
--sysconfdir=/etc \
--disable-static \
--disable-tests \
--with-greeter-user=lightdm \
--with-greeter-session=lightdm-gtk-greeter \
--docdir=/usr/share/doc/lightdm-&lightdm-version; &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;
cp tests/src/lightdm-session /usr/bin &amp;&amp;
rm -rf /etc/init &amp;&amp;
install -v -dm755 -o lightdm -g lightdm /var/lib/lightdm &amp;&amp;
install -v -dm755 -o lightdm -g lightdm /var/lib/lightdm-data &amp;&amp;
install -v -dm755 -o lightdm -g lightdm /var/cache/lightdm &amp;&amp;
install -v -dm770 -o lightdm -g lightdm /var/log/lightdm</userinput></screen>
<para>Now build the greeter:</para>
<screen><userinput>tar -xf ../lightdm-gtk-greeter-2.0.3.tar.gz &amp;&amp;
cd lightdm-gtk-greeter &amp;&amp;
export CFLAGS="$CFLAGS -Wno-declaration-after-statement" &amp;&amp;
./configure \
--prefix=/usr \
--libexecdir=/usr/lib/lightdm \
--sbindir=/usr/bin \
--sysconfdir=/etc \
--with-libxklavier \
--enable-kill-on-sigterm \
--disable-libido \
--disable-libindicator \
--disable-static
--docdir=/usr/share/doc/lightdm-gtk-greeter-&lightdm-gtk-greeter-version; &amp;&amp;
make</userinput></screen>
<para>
Now, as the <systemitem class="username">root</systemitem> user:
</para>
<screen><userinput>make install</userinput></screen>
</sect2>
<!--
<sect2 role="commands">
<title>Command Explanations</title>
<para>
<parameter>-DCMAKE_BUILD_TYPE=Release</parameter>: This switch is used to
apply additional compiler optimizations.
</para>
</sect2>
-->
<sect2 role="configuration">
<title>Configuring lightdm</title>
<sect3 id="lightdm-config">
<title>Config Files</title>
<para>
/etc/lightdm/{lightdm,users,keys}.conf
</para>
<indexterm zone="lightdm lightdm-config">
<primary sortas="e-etc-lightdm-lightdm.conf">/etc/lightdm/lightdm.conf</primary>
</indexterm>
<indexterm zone="lightdm lightdm-config">
<primary sortas="e-users.conf">/etc/lightdm/users.conf</primary>
</indexterm>
<indexterm zone="lightdm lightdm-config">
<primary sortas="e-keys.conf">/etc/lightdm/keys.conf</primary>
</indexterm>
<indexterm zone="lightdm lightdm-config">
<primary sortas="e-lightdm-gtk-greeter.conf">
/etc/lightdm/lightdm-gtk-greeter.conf</primary>
</indexterm>
</sect3>
<sect3 id="lightdm-bootscript">
<title>Boot Script</title>
<para>
Install the <filename revision="sysv">/etc/rc.d/init.d/lightdm</filename>
init script from the <xref linkend="bootscripts" revision="sysv"/>
<xref linkend="systemd-units" revision="systemd"/> package.
</para>
<indexterm zone="lightdm lightdm-bootscript">
<primary sortas="f-lightdm">lightdm</primary>
</indexterm>
<screen role="root" revision="sysv"><userinput>make install-lightdm</userinput></screen>
<screen role="root" revision="systemd"><userinput>systemctl enable lightdm</userinput></screen>
</sect3>
<sect3 id="lightdm-init" revision="sysv">
<title>Starting lightdm</title>
<para>
If the lightdm bootscript has been installed, start lightdm by running, as the
<systemitem class="username">root</systemitem> user:
</para>
<screen role="root"><userinput>/etc/rc.d/init.d/lightdm start</userinput></screen>
<para>
By convention, X should be executed at runlevel 5, consequently, the
same is true for <application>lightdm</application>. However, LFS default
runlevel is 3. Changing to runlevel 5, from a console terminal, as
<systemitem class="username">root</systemitem> user, starts the
<command>lightdm</command> bootscript, bringing up 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>lightdm</command> greeter screen automatically, 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>
</sect3>
<sect3 id="lightdm-sessions">
<title>Available Sessions</title>
<para>
The greeter offers a list of available sessions,
depending on the Window Managers and Desktop Environments installed. The
list includes sessions which have a corresponding
<filename>.desktop</filename> file installed under
<filename class="directory">/usr/share/xsessions</filename>. Most of the
Window Managers and Desktop Environments automatically provide those
files, but if necessary, you may include a custom one.
</para>
</sect3>
</sect2>
<sect2 role="content">
<title>Contents</title>
<segmentedlist>
<segtitle>Installed Programs</segtitle>
<segtitle>Installed Libraries</segtitle>
<segtitle>Installed Directories</segtitle>
<seglistitem>
<seg>
dm-tool,
lightdm, and
lightdm-gtk-greeter
</seg>
<seg>
liblightdm-gobject-1.so
</seg>
<seg>
/etc/lightdm,
/etc/apparmor.d,
/usr/lib/lightdm,
/usr/include/lightdm-gobject-1,
/usr/share/help/C/lightdm
/usr/share/gtk-doc/html/lightdm-gobject-1,
/usr/share/doc/lightdm-gtk-greeter-&lightdm-gtk-greeter-version;,
/var/lib/lightdm,
/var/lib/lightdm-data,
/var/cache/lightdm, and
/var/log/lightdm
</seg>
</seglistitem>
</segmentedlist>
<variablelist>
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
<varlistentry id="lightdm-prog">
<term><command>lightdm</command></term>
<listitem>
<para>
is a display and login manager.
</para>
<indexterm zone="lightdm lightdm-prog">
<primary sortas="b-lightdm">lightdm</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="lightdm-gtk-greeter">
<term><command>lightdm-gtk-greeter</command></term>
<listitem>
<para>
is an auxiliary process that displays the greeter,
a graphical user interface that performs user
authentication and initiates the selected window manager
or display environment.
</para>
<indexterm zone="lightdm lightdm-gtk-greeter">
<primary sortas="b-lightdm-gtk-greeter">lightdm-gtk-greeter</primary>
</indexterm>
</listitem>
</varlistentry>
</variablelist>
</sect2>
</sect1>