Installation de SDDM
Pour commencer, créez un utilisateur et un groupe dédié pour
prendre le contrôle du démon sddm après son démarrage. Tapez
les commandes suivantes en tant qu'utilisateur root
:
groupadd -g 64 sddm &&
useradd -c "sddm Daemon" \
-d /var/lib/sddm \
-u 64 -g sddm \
-s /bin/false sddm
Installez sddm en exécutant les
commandes suivantes :
mkdir build &&
cd build &&
cmake -D CMAKE_INSTALL_PREFIX=/usr \
-D CMAKE_BUILD_TYPE=Release \
-D ENABLE_JOURNALD=OFF \
-D NO_SYSTEMD=ON \
-D RUNTIME_DIR=/run/sddm \
-D USE_ELOGIND=ON \
-D BUILD_MAN_PAGES=ON \
-D BUILD_WITH_QT6=ON \
-D DATA_INSTALL_DIR=/usr/share/sddm \
-D DBUS_CONFIG_FILENAME=sddm_org.freedesktop.DisplayManager.conf \
.. &&
make
Ce paquet n'a pas de suite de tests.
Maintenant, en tant qu'utilisateur root
:
make install &&
install -v -dm755 -o sddm -g sddm /var/lib/sddm
/usr/bin/sddm --example-config > /etc/sddm.conf
Explication des commandes
-D
CMAKE_BUILD_TYPE=Release
: Ce paramètre est
utilisé pour appliquer le plus haut niveau d'optimisation de
compilation.
-D ENABLE_JOURNALD=OFF
et
-D NO_SYSTEMD=ON
: ces
paramètres sont utilisés car cette version de BLFS ne supporte pas
systemd.
-D
DBUS_CONFIG_FILENAME=sddm_org.freedesktop.DisplayManager.conf
:
Ce paramètre évite que le fichier /etc/dbus-1/system.d/org.freedesktop.DisplayManager.conf
ne soit écrasé, comme il peut être utilisé par d'autres
gestionnaires d'affichage.
-D
BUILD_MAN_PAGES=ON
: ce paramètre est utilisé pour
construire et installer les pages de manuel.
Configuration de SDDM
Fichiers de
configuration
/etc/sddm.config
Normalement, vous voudrez éditer ce fichier. Par exemple, si Xorg
est installé dans /opt, utilisez votre éditeur préféré en tant
qu'utilisateur root
pour
remplacer les valeurs par défaut de XauthPath par /opt/xorg/bin/xauth. Ou, en tant
qu'utilisateur root
, tapez :
sed -i.orig '/ServerPath/ s|usr|opt/xorg|' /etc/sddm.conf
Cette commande fera la substitution et créera une copie du
fichier original avec le nom /etc/sddm.conf.orig
.
À partir de maintenant, nous décrirons comment modifier les
configurations en utilisant sed, mais bien sûr vous pouvez
utiliser à la place votre éditeur préféré en tant que
root
.
Pour des raisons de sécurité, normalement vous voudrez
ServerArguments=-nolisten
tcp, sauf si vous voulez qu'une machine distante
utilise le serveur X local. Dans ce cas, en tant qu'utilisateur
root
, tapez :
sed -i 's/-nolisten tcp//' /etc/sddm.conf
Les utilisateurs de PC de bureau (portables) souhaitent
normalement que la touche Verr. Num. soit activée (ou
désactivée). Pour cela, en tant qu'utilisateur root
, tapez :
sed -i '/Numlock/s/none/on/' /etc/sddm.conf
pour les utilisateurs de bureau. Pour les utilisateurs de
portable remplacez /on/ par /off/, dans la commande précédente.
Par défaut, un clavier virtuel est présente à l'utilisateur. Si
ce n'est pas ce que vous voulez, exécutez en tant que
root
:
sed -i 's/qtvirtualkeyboard//' /etc/sddm.conf
Script de
démarrage
Installez le script de démarrage /etc/rc.d/init.d/xdm
depuis le paquet blfs-bootscripts-20240416, en
tant qu'utilisateur root
:
make install-sddm
Configuration de Linux PAM
Note
La procédure d'installation ci-dessus a installé un ensemble de
fichiers de configuration PAM. ces procédures les remplacent et
utilisent des versions compatibles avec un environnement BLFS.
Si vous avez construit sddm avec
le support de Linux PAM, créez
les fichiers de configuration nécessaires en exécutant les
commandes suivantes en tant qu'utilisateur root
:
cat > /etc/pam.d/sddm << "EOF"
# Begin /etc/pam.d/sddm
auth requisite pam_nologin.so
auth required pam_env.so
auth required pam_succeed_if.so uid >= 1000 quiet
auth include system-auth
account include system-account
password include system-password
session required pam_limits.so
session include system-session
# End /etc/pam.d/sddm
EOF
cat > /etc/pam.d/sddm-autologin << "EOF"
# Begin /etc/pam.d/sddm-autologin
auth requisite pam_nologin.so
auth required pam_env.so
auth required pam_succeed_if.so uid >= 1000 quiet
auth required pam_permit.so
account include system-account
password required pam_deny.so
session required pam_limits.so
session include system-session
# End /etc/pam.d/sddm-autologin
EOF
cat > /etc/pam.d/sddm-greeter << "EOF"
# Begin /etc/pam.d/sddm-greeter
auth required pam_env.so
auth required pam_permit.so
account required pam_permit.so
password required pam_deny.so
session required pam_unix.so
-session optional pam_systemd.so
# End /etc/pam.d/sddm-greeter
EOF
Démarrage de sddm
Si le script de démarrage a été installé, démarrez sddm en
lançant en tant qu'utilisateurroot
:
/etc/rc.d/init.d/xdm start
Par convention, X doit être exécuté avec le niveau de lancement
5, par conséquent, c'est vrai pour sddm. Cependant, le niveau de lancement par
défaut est 3. Pour changer au niveau de lancement 5, depuis le
terminal, en tant qu'utilisateur root
, faites que le script de démarrage de
sddm soit exécuté,
pour obtenir l'affichage de l'accueil :
init 5
Afin d'initialiser en permanence par défaut le niveau 5, et
obtenir automatiquement l'affichage de l'accueil de sddm, vous pouvez modifier
/etc/inittab
, en tant
qu'utilisateur root
:
cp -v /etc/inittab{,-orig} &&
sed -i '/initdefault/ s/3/5/' /etc/inittab
Sessions
disponibles
L'écran de bienvenue offre une liste des sessions disponibles, en
fonction des gestionnaires de fenêtre et des environnements de
bureau installés. La liste inclu les sessions qui correspondent
au fichier .desktop
installé sous
/usr/share/xsessions
ou
/usr/share/wayland-sessions
. La
plupart des gestionnaires de fenêtres et des environnements de
bureau fournissent automatiquement ces fichiers, mais si
nécessaire, vous pouvez en mettre un personnalisé.
Themes
Trois thèmes sont installés dans /usr/share/sddm/themes
: elarun, maldives,
et maya. Il y a aussi un thème par défaut qui n'est pas présent
dans ce répertoire. Vous pouvez installer d'autres thèmes dans ce
répertoire. Afin de changer le thème, vous devez éditer
/etc/sddm.conf
et changer le thème
par défaut (vide), en remplaçant Current=
par Current=<nouveau
thème>
, par exemple Current=maldives
.
Afin de voir le thème sans quitter la session, tapez :
sddm-greeter --test-mode --theme <theme path>