The lightdm package contains a lightweight display manager based upon GTK.
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.
Download (HTTP): https://github.com/CanonicalLtd/lightdm/releases/download/1.32.0/lightdm-1.32.0.tar.xz
Download MD5 sum: e62a5da6c35f612e4d9575eda5c8d467
Download size: 508 KB
Estimated disk space required: 20 MB
Estimated build time: 0.2 SBU
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
Exo-4.18.0 (for the greeter), libgcrypt-1.10.3, itstool-2.0.7, Linux-PAM-1.6.0, and Xorg-Server-21.1.11 (Runtime)
gobject-introspection-1.78.1, libxklavier-5.4, and Vala-0.56.14
AccountsService-23.13.9 (run time), at-spi2-core-2.50.1, GTK-Doc-1.33.2, (Qt-5.15.12 or qt-alternate-5.15.12), libido, and libindicator
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.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
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
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.
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-20231119 package and adjust /etc/inittab
by running as the root
user:
make install-lightdm
The lightdm greeter can be started from the command line as the root
user:
telinit 5
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.