lightdm-1.32.0

Introduction to Lightdm

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

[Note]

Note

Development versions of BLFS may not build or run some packages properly if LFS or dependencies have been updated since the most recent stable versions of the books.

Lightdm Package Information

Additional download

[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 Dependencies

Required

Exo-4.18.0 (for the greeter), libgcrypt-1.11.0, itstool-2.0.7, Linux-PAM-1.7.0, and Xorg-Server-21.1.14 (Runtime)

Recommended

Optional

AccountsService-23.13.9 (run time), at-spi2-core-2.54.0, GTK-Doc-1.34.0, libido, and libindicator

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

Then change the Linux-PAM configuration files so that elogind is used:

sed -i s/systemd/elogind/ data/pam/*

Install lightdm by running the following commands:

./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.32.0 &&
make

This package does not come with a test suite.

Now, as the root user:

make install                                                  &&
cp tests/src/lightdm-session /usr/bin                         &&
sed -i '1 s/sh/bash --login/' /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.9.tar.gz &&
cd lightdm-gtk-greeter-2.0.9 &&

./configure --prefix=/usr                 \
            --libexecdir=/usr/lib/lightdm \
            --sbindir=/usr/bin            \
            --sysconfdir=/etc             \
            --with-libxklavier            \
            --enable-kill-on-sigterm      \
            --disable-libido              \
            --disable-libindicator        \
            --disable-static              \
            --disable-maintainer-mode     \
            --docdir=/usr/share/doc/lightdm-gtk-greeter-2.0.9 &&
make

Now, as the root user:

make install
[Note]

Note

If you installed Xorg in /opt, you will need to create a symbolic link so lightdm can find the Xorg server. As the root user:

ln -sf /opt/xorg/bin/Xorg /usr/bin/X

Command Explanations

sed ... /usr/bin/lightdm-session: This command ensures that the initial login via the greeter sources /etc/profile and ~/.bash_profile. Without this, commands that depend on different environment variables may not work as expected.

Configuring lightdm

Config Files

/etc/lightdm/{lightdm,users,keys,lightdm-gtk-greeter}.conf

The configuration files offer many options. If, for instance, you have a multiple monitor setup but prefer the login window to be displayed on only one monitor, set 'active-monitor=<monitor-name>' in lightdm-gtk-greeter.conf. For example you could use active-monitor=HDMI-1. You can determine the monitor-names with xrandr --listmonitors. Note that the monitor names may change if you change the graphics driver and you may have to adjust the configuration accordingly.

Boot Script

To start lightdm automatically when the system is switched to runlevel 5, install the /etc/rc.d/init.d/xdm script and the /etc/sysconfig/xdm configuration file included in the blfs-bootscripts-20240913 package and adjust /etc/inittab by running as the root user:

make install-lightdm

Starting lightdm

The lightdm greeter can be started from the command line as the root user:

telinit 5

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.9, /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