Introduction à Lightdm
Le paquet libghtdm contient un
gestionnaire d'affichage léger basé sur GTK.
Ce paquet est connu pour se construire correctement sur une
plateforme LFS-8.2.
Information sur le paquet Lightdm
Note
Le « greeter » est un programme qui présente un écran
de connexion graphique. Il y a plusieurs apparences possibles,
mais le paquet gtk+ est l'implémentation de référence. Pour une
liste d'autres apparences, voir https://en.wikipedia.org/wiki/LightDM.
Informations sur le paquet Lightdm-gtk-greeter
Dépendances de Lightdm
Requises
GTK+-3.22.28, libgcrypt-1.8.2, Linux-PAM-1.3.0 et PCRE-8.41
Recommandées
gobject-introspection-1.54.1,
libxklavier-5.4 et Vala-0.38.8
Facultatives
at-spi2-core-2.26.2, Exo-0.12.0,
GTK-Doc-1.27, itstool-2.0.4,
Qt-5.10.1,
libido et
libindicator
Notes utilisateur : http://wiki.linuxfromscratch.org/blfs/wiki/lightdm
Installation de Lightdm
Tout d'abord, créez un utilisateur et un groupe dédiés pour
contrôler le démon libghtdm après son démarrage.
Lancez les commandes suivantes en tant qu'utilisateur root
:
groupadd -g 65 lightdm &&
useradd -c "Lightdm Daemon" \
-d /var/lib/lightdm \
-u 65 -g lightdm \
-s /bin/false lightdm
Installez lightdm en lançant les
commandes suivantes :
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
Ce paquet n'est pas fourni avec une suite de tests.
Maintenant, en tant qu'utilisateur root
:
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
Maintenant construisez le 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
Maintenant, en tant qu'utilisateur root
:
make install
Explication des commandes
ITSTOOL=/bin/true
:
bien que itstool-2.0.4 ne soit pas requis pour une
construction normale, configure renvoie une erreur s'il
ne se trouve pas sur le système. Ce paramètre évite cette erreur.
CFLAGS=...
: ces deux
paramètres assurent que certains avertissements ne sont pas traités
comme des erreurs.
HAVE_EXO_CSOURCE=yes
:
bien que exo-csource
ne soit pas requis pour une construction normale, configure renvoie une erreur s'il
ne se trouve pas sur le système. Ce paramètre évite cette erreur.
Configuration de lightdm
Fichiers de
configuration
/etc/lightdm/{lightdm,users,keys}.conf
Script
de démarrage
Installez le script d'initialisation /etc/rc.d/init.d/lightdm
depuis les blfs-bootscripts-20180105
make install-lightdm
Démarrage de lightdm
Si le script de démarrage de lightdm a été installé, démarrez
lightdm en lançant, en tant qu'utilisateur root
:
/etc/rc.d/init.d/lightdm start
Par convention, X devrait être exécuté au niveau d'exécution 5,
donc c'est aussi vrai pour lightdm. Cependant, le niveau d'exécution
par défaut de LFS est le 3. Changez vers le niveau 5, depuis un
terminal en console, en tant qu'utilisateur root
, démarre le script de démarrage de
lightdm, ce qui
affiche l'écran d'accueil :
init 5
Pour utiliser le niveau 5 par défaut, ce qui permet de démarrer
l'écran d'accueil de lightdm automatiquement,
modifiez /etc/inittab
. En tant
qu'utilisateur root
:
cp -v /etc/inittab{,-orig} &&
sed -i '/initdefault/ s/3/5/' /etc/inittab
Sessions
disponibles
Le greeter offre une liste de sessions disponibles en fonction
des gestionnaires de fenêtres et des environnements de bureaux
installés. La liste contient les sessions qui ont un fichier
.desktop
correspondant dans
/usr/share/xsessions
. La plupart
des gestionnaires de fenêtres et des environnements de bureaux
fournissent automatiquement ces fichiers, mais si nécessaire,
vous pouvez en inclure un personnel.