lightdm-1.24.0

Introduction to Lightdm

The lightdm package contains a lightweight display manager based upon GTK.

This package is known to build and work properly using an LFS-8.3 platform.

Lightdm Package Information

[Note]

Note

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 https://en.wikipedia.org/wiki/LightDM.

Lightdm-gtk-greeter Package Information

Lightdm Dependencies

Required

GTK+-3.22.30, libgcrypt-1.8.3, Linux-PAM-1.3.0, and PCRE-8.42

Recommended

Optional

at-spi2-core-2.28.0, Exo-0.12.2, GTK-Doc-1.28, itstool-2.0.4, Qt-5.11.1, libido, and libindicator

User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/lightdm

Installation of Lightdm

First, create a dedicated user and group to take control of the lightdm daemon after it is started. Issue the following commands as the root user:

groupadd -g 65 lightdm       &&
useradd  -c "Lightdm Daemon" \
         -d /var/lib/lightdm \
         -u 65 -g lightdm    \
         -s /bin/false lightdm

Install lightdm by running the following commands:

ITSTOOL=/bin/true                    \
./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-1.24.0 &&
make

This package does not come with a test suite.

Now, as the root user:

make install                                                  &&
      
sed '\@/bin/sh@a\
\
. /etc/profile' tests/src/lightdm-session > /usr/bin/lightdm-session &&

chmod a+x /usr/bin/lightdm-session                            &&
rm -rf /etc/init                                              &&
install -v -dm755 -o lightdm -g lightdm /var/lib/lightdm      &&
install -v -dm755 -o lightdm -g lightdm /var/lib/lightdm-data &&
install -v -dm755 -o lightdm -g lightdm /var/cache/lightdm    &&
install -v -dm770 -o lightdm -g lightdm /var/log/lightdm

Now build the greeter:

tar -xf ../lightdm-gtk-greeter-2.0.3.tar.gz &&
cd lightdm-gtk-greeter-2.0.3 &&

OUR_CFLAGS="-Wno-declaration-after-statement \
            -Wno-error=deprecated-declarations" &&

CFLAGS="$CFLAGS $OUR_CFLAGS"     \
HAVE_EXO_CSOURCE=yes             \
./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-2.0.3 &&

make

Now, as the root user:

make install

Command Explanations

ITSTOOL=/bin/true: although itstool-2.0.4 is not needed in a normal build, configure throws an error if it is not found on the system. This parameter prevents the error.

CFLAGS=...: those two switches ensures some warnings are not treated as errors.

HAVE_EXO_CSOURCE=yes: although exo-csource is not needed in a normal build, configure throws an error if it is not found on the system. This parameter prevents the error.

Configuring lightdm

Config Files

/etc/lightdm/{lightdm,users,keys}.conf

Boot Script

Install the /etc/rc.d/init.d/lightdm init script from the blfs-bootscripts-20180105

make install-lightdm

Starting lightdm

If the lightdm bootscript has been installed, start lightdm by running, as the root user:

/etc/rc.d/init.d/lightdm start

By convention, X should be executed at runlevel 5, consequently, the same is true for lightdm. However, LFS default runlevel is 3. Changing to runlevel 5, from a console terminal, as root user, starts the lightdm bootscript, bringing up the greeter screen:

init 5

In order to permanently set the default to 5, starting the lightdm greeter screen automatically, modify /etc/inittab. As the root user:

cp -v /etc/inittab{,-orig} &&
sed -i '/initdefault/ s/3/5/' /etc/inittab

Available Sessions

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 .desktop file installed under /usr/share/xsessions. Most of the Window Managers and Desktop Environments automatically provide those files, but if necessary, you may include a custom one.

Contents

Installed Programs: dm-tool, lightdm, and lightdm-gtk-greeter
Installed Libraries: liblightdm-gobject-1.so
Installed Directories: /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-2.0.3, /var/lib/lightdm, /var/lib/lightdm-data, /var/cache/lightdm, and /var/log/lightdm

Short Descriptions

lightdm

is a display and login manager.

lightdm-gtk-greeter

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.

Last updated on 2018-08-23 13:54:05 -0700