#### Beyond Linux® From Scratch (systemd Edition) - Version 11.1

### Chapter 26. Display Managers

- Prev

  Display Managers

- Next

  lxdm-0.5.3

- Up
- Home

# lightdm-1.30.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-11.1 platform.

### Lightdm Package Information

- Download (HTTP): https://github.com/CanonicalLtd/lightdm/releases/download/1.30.0/lightdm-1.30.0.tar.xz

- Download MD5 sum: c566ea595f2b81e68684be9f8dbcbb42

- Download size: 500 KB

- Estimated disk space required: 21 MB

- Estimated build time: 0.2 SBU

### Additional download

### 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.

- Download (HTTP): https://github.com/Xubuntu/lightdm-gtk-greeter/releases/download/lightdm-gtk-greeter-2.0.8/lightdm-gtk-greeter-2.0.8.tar.gz

- Download MD5 sum: 373c73c67367df511eb544e09a2da281

- Download size: 569.7 KB

- Estimated disk space required: 5.5 MB

- Estimated build time: less than 0.1 SBU

### Lightdm Dependencies

#### Required

Exo-4.16.3 (for the greeter), libgcrypt-1.10.0, itstool-2.0.7, and Linux-PAM-1.5.2

#### Recommended

gobject-introspection-1.70.0, libxklavier-5.4, and Vala-0.54.7

#### Optional

AccountsService-22.07.5 (run time), at-spi2-core-2.42.0, GTK-Doc-1.33.2, Qt-5.15.2, libido, and libindicator

User Notes: https://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:

    ./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.30.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.8.tar.gz &&
    cd lightdm-gtk-greeter-2.0.8 &&

    ./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.8 &&

    make

Now, as the `root` user:

    make install

### 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}.conf

###

#### Systemd Unit

Install the `lightdm.service` unit included in the blfs-systemd-units-20220227 package:

    make install-lightdm

###

#### 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.8, /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

- Prev

  Display Managers

- Next

  lxdm-0.5.3

- Up
- Home