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
Ensuite, corrigez l'application pour démarrer upowerd, si nécessaire, et après
le login, démarrez la session avec ck-launch-session :
sed -e '/UPOWER_SERVICE)/ s:^://:' \
-i src/daemon/PowerManager.cpp &&
sed -e '/\$@$/s/exec/& ck-launch-session/' \
-i data/scripts/Xsession
Installez SDDM en lançant les
commandes suivantes :
mkdir build &&
cd build &&
cmake -DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_BUILD_TYPE=Release \
-DENABLE_JOURNALD=OFF \
-DDBUS_CONFIG_FILENAME=sddm_org.freedesktop.DisplayManager.conf \
-Wno-dev .. &&
make
Ce paquet n'est pas fourni avec une suite de tests.
Maintenant, en tant qu'utilisateur root
:
make install &&
install -v -dm755 -o sddm -g sddm /var/lib/sddm
Explication des commandes
-DCMAKE_BUILD_TYPE=Release
: Ce
paramètre est utilisé pour appliquer le plus haut niveau
d'optimisation de compilation.
-DENABLE_JOURNALD=OFF
: Ce
paramètre est utilisé car BLFS ne supporte pas systemd.
-DDBUS_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.
-DBUILD_MAN_PAGES=ON
: Ce
paramètre peut être utilisé si vous voulez que les pages de manuel
soient installées. Notez que vous devez avoir Docutils pour
les construire.
Configuration de SDDM
Fichier de
configuration
/etc/sddm.conf
Ce fichier n'est pas installé avec les instructions de
construction, et des valeurs par défaut sont utilisées par sddm.
Afin de générer le fichier sddm.example.conf
, tapez :
sddm --example-config > sddm.example.conf
Note
Cette commande génère un fichier de config example, qui dépend de plusieurs
conditions du système où il est généré. Quelques options sont à
defaults. S'il y a déjà
un fichier /etc/sddm.conf
installé, il y aura génération d'un doublon. Quand il est
généré pendant une session X, certaines configurations de
session sont répliquées, c'est-à-dire si le curseur du thème
Adwaita est déjà configuré, vous obtiendrez CursorTheme=Adwaita dans le fichier
exemple généré.
S'il n'y a pas encore le fichier /etc/sddm.conf
, en tant qu'utilisateur
root
, copiez le fichier d'exemple
dans /etc/sddm.conf
:
cp -v sddm.example.conf /etc/sddm.conf
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 -e '/ServerPath/ s|usr|opt/xorg|' \
-i.orig /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 -e 's/-nolisten tcp//'\
-i /etc/sddm.conf
Les utilisateurs de PC de bureau (portables), normalement
souhaite la touche Verr. Num. activée (désactivée). Pour cela, en
tant qu'utilisateur root
,
tapez :
sed -e 's/\"none\"/\"on\"/' \
-i /etc/sddm.conf
pour les utilisateurs de bureau. Pour les utilisateurs de
portable remplacez \"on\" par \"off\", dans la commande
précédente.
Script de
démarrage
Installez le script de démarrage /etc/rc.d/init.d/sddm
depuis le paquet
blfs-bootscripts-20170731.
make install-sddm
Configuration de Linux PAM
Si vous avez construit SDDM avec
le support de Linux PAM, créez
les fichiers de configuration nécessaires en lançant 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'utilisateur root
:
/etc/rc.d/init.d/sddm 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 de LFS 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
. 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
Quate thèmes sont installés dans /usr/share/sddm/themes
: circles, elarun,
maldives, et maui. Le thème par défaut est « maui ». Vous pouvez installer d'autres thèmes
dans ce répertoire. Afin de changer le thème, vous devez éditer
/etc/sddm.conf
, en utilisant votre
éditeur de textes préféré, changez le thème par défaut
« maui », en remplaçant
« Current=maui » par
« Current=<le nom de votre thème
ici>
», par exemple
« Current=maldives ».
Afin de voir le thème sans quitter la session, tapez :
sddm-greeter --test-mode --theme <theme path>
Problèmes connus
Cette application fonctionne bien, mais il y a des problèmes.
Vous trouvez les problèmes connus par les développeurs sur
Issues. L'équipe de
développement de BLFS a trouvé quelques problèmes.
Note
Dans les paragraphes suivants, à cause de problèmes avec
sddm-greeter, nous mentionnons comment définir le clavier
utilisé ici. Notez que c'est aussi le clavier qui sera utilisé
dans la session X, seulement il y a une configuration dans
l'environnement de bureau ou dans le gestionnaire de fenêtre
qui l'écrasera après.
Sélection du clavier : l'écran de bienvenue montre une
double case de question ou le mauvais clavier. Quand vous
commencez à taper le mot de passe ou le nom de l'utilisateur (en
fonction du thème, seulement le mot de passe), la bonne sélection
de clavier apparaît magiquement. Facultativement, un
contournement est d'inclure la liste des claviers dans le script
/usr/share/sddm/scripts/Xsetup,
en tant qu'utilisateur root
:
echo 'setxkbmap "<your keyboard comma separated list>"
' >> \
/usr/share/sddm/scripts/Xsetup
Par exemple echo 'setxkbmap
"fr,gb,br,us"' >>
/usr/share/sddm/scripts/Xsetup. Une définition
très précise de(s) clavier(s) est possible, par exemple :
echo 'setxkbmap -model pc105
-layout br,us -variant abnt2,dvorak -keycodes evdev' >>
/usr/share/sddm/scripts/Xsetup. Voir le man de
setxkbmap.
Dircolors : le fichier /etc/dircolors
n'est pas considéré. En
particulier, les fichiers compressés ne sont pas affichés en
rouge. Si cela arrive, un contournement est de taper, en tant
qu'utilisateur root
:
echo "source /etc/profile.d/dircolors.sh" >> /etc/bashrc
Il a été signalé que des problèmes peuvent survenir avec ce
paquet, si Xorg est installé avec un préfixe autre que
/usr
. Cependant, l'équipe de
développement de BLFS n'a pas eu de problème dans ce cas.