Installation de SDDM
Pour commencer, créez un utilisateur et un groupe dédié pour
prendre le controle 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
Commencez par corriger le démarrage de l'application 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/eval 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'a pas de suite de tests.
Maintenant, en tant qu'utilisateur root
:
make install &&
install -v -dm755 -o sddm -g sddm /var/lib/sddm
Explications 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 est utilisé pour des raisons de sécurité: d'autres DM
utilise déjà org.freedesktop.DisplayManager.conf
. Vérifiez sur
votre système que ce n'est pas le cas, si vous souhaitez le
supprimer.
-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 systèmes ou il est généré. Quelques options sont par
défauts. 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 repliqué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 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
.
A partir de maintenant, nous décrirons comment modifier les
configurations en utilisant sed, mais biensur vous pouvez bien
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), normallement
souhaite la touche Num Lock 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 fichier d'init /etc/rc.d/init.d/sddm
depuis le paquet
blfs-bootscripts-20150924.
make install-sddm
Configuration de Linux PAM
Si vous avez construit SDDM avec
le support Linux PAM, créez les
fichiers de configuration nécessaire 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 à é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 éxécuté avec le niveau de lancement
5, par conséquence, 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
, faite que le script de démarrage de
sddm soit éxécuté,
pour obtenir l'affichage du greeter:
init 5
Afin d'initialisé en permanence par défaut le niveau 5, et
obtenir automatiquement l'affichage du greeter de sddm, vous pouvez modifier
/etc/inittab
, en tant
qu'utilisateur root
(les
instructions suivantes font aussi une sauvegarde, donc vous
pouvez facilement annuler les modifications):
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 quiter 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éveloppeur 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 sessions 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 clavier 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.