SDDM

From Gentoo Wiki
Jump to:navigation Jump to:search
This page is a translated version of the page SDDM and the translation is 100% complete.
Other languages:

Simple Desktop Display Manager (SDDM, NdT: «Gestionnaire d'affichage simple de bureau») est un gestionnaire d'affichage moderne qui supporte à la fois le serveur X et le protocole Wayland.

Attention !
Par défaut, cliquer sur l'icône «Éteindre» dans SDDM va immédiatement éteindre la machine, sans demander confirmation.

Installation

USE flags

USE flags for x11-misc/sddm Simple Desktop Display Manager

elogind Enable session tracking via sys-auth/elogind
pam Add support for PAM (Pluggable Authentication Modules) - DANGEROUS to arbitrarily flip
systemd Enable use of systemd-specific libraries and features like socket activation or session tracking
test Enable dependencies and/or preparations necessary to run tests (usually controlled by FEATURES=test but can be toggled independently)

Emerge

Installez le paquet x11-misc/sddm :

root #emerge --ask x11-misc/sddm

S'il y a des problèmes de performances, il peut être utile d'ajouter l'utilisateur sddm au groupe video :

root #usermod -a -G video sddm

Configuration

Fichiers

SDDM a deux emplacements pour sa configuration : /usr/share/sddm/sddm.conf.d/ et /etc/sddm.conf.d/ qui sont utilisés pour remplacer certaines options spécifiques. KDE Plasma écrit les options modifiés par l'utilisateur dans /etc/sddm.conf.d/. Les deux emplacements supportent les fichiers avec le même format. Voir man 5 sddm.conf man page pour des détails à propos des options disponibles.

Fichiers override.conf et d'Xsetup

Remarque
Dans la plupart des cas, ces fichiers ne sont pas nécessaires, alors cette étape peut être passée.

Certains cas de configuration requiert que certaines commandes soient exécutées avant de démarrer le serveur X et affiche l'écran d'accueil. Dans ces cas-ci, le fichier Xsetup peut être utilisé et l'emplacement supplanté par le fichier local /etc/sddm.conf.d/override.conf.

Créez le répertoire local de configuration s'il n'existe pas :

root #mkdir -p /etc/sddm.conf.d

Après avoir crée et éditer le fichier /etc/sddm.conf.d/override.conf avec les lignes suivantes à l'intérieur :

FILE /etc/sddm.conf.d/override.conf
[X11]
DisplayCommand=/etc/sddm/scripts/Xsetup

Créez ensuite le répertoire /etc/sddm/scripts et le fichier /etc/sddm/scripts/Xsetup :

root #mkdir -p /etc/sddm/scripts
root #touch /etc/sddm/scripts/Xsetup
root #chmod a+x /etc/sddm/scripts/Xsetup
FILE /etc/sddm/scripts/Xsetup
#!/bin/sh
# Xsetup - À lancer en root avant que la boîte de dialogue de connexion n'apparaisse
 
# Ici des commandes divers peuvent s'exécuter au démarrage d'SDDM

override.conf et mode «rootless» d'X11 (NtD: sans élévation des droits vers l'administrateur)

Par défaut SDDM se lance dans X11 en tant qu'utilisateur root. Cela peut être considéré comme un risque de sécurité.

Depuis la version 0.20 d'x11-misc/sddm il est possible de lancer SDDM dans X11 sans privilège administrateur.

Pour accomplir cela le serveur d'affichage doit être configuré pour remplacer le fichier local /etc/sddm.conf.d/override.conf.

Créez un répertoire local pour la configuration s'il n'existe pas :

root #mkdir -p /etc/sddm.conf.d

Après cela créez et éditer le fichier /etc/sddm.conf.d/override.conf avec les lignes suivantes à l'intérieur :

FILE /etc/sddm.conf.d/override.conf
[General]
DisplayServer=x11-user

override.conf et le mode wayland

Attention !
Lancer SDDM en mode Wayland est hautement expérimental

Depuis la version 0.20 d'x11-misc/sddm il est possible de le lancer en mode Wayland.

Weston

SDDM supporte divers compositeurs provenant de Wayland. Le premier exemple utilise le compositeur par défaut d'SDDM, Weston, pour les système où le paquet kde-plasma/plasma-desktop n'est pas utilisé. Premièrement installez le paquet dev-libs/weston avec l'USE flag fullscreen activé.

Ensuite la configuration du serveur d'affichage doit remplacer celle du fichier local /etc/sddm.conf.d/override.conf.

Créez le répertoire de configuration local s'il n'existe pas :

root #mkdir -p /etc/sddm.conf.d

Après cela créez et éditer le fichier /etc/sddm.conf.d/override.conf avec les lignes suivantes à l'intérieur : 

FILE /etc/sddm.conf.d/override.conf
[General]
DisplayServer=wayland

# Cette partie est optionnelle
[Wayland]
CompositorCommand=weston --shell=fullscreen-shell.so
Kwin

Les utilisateurs de système utilisant le paquet kde-plasma/plasma-desktop peuvent souhaiter utiliser Kwin en tant que compositeur à la place :

FILE /etc/sddm.conf.d/override.conf
[General]
DisplayServer=wayland
GreeterEnvironment=QT_WAYLAND_SHELL_INTEGRATION=layer-shell

[Wayland]
CompositorCommand=kwin_wayland --drm --no-lockscreen --no-global-shortcuts --locale1

Disposition du clavier

Pour sélectionner la disposition de clavier adéquate à l'écran de connexion, ajoutez la commande setxkbmap au fichier /etc/sddm/scripts/Xsetup :

FILE /etc/sddm/scripts/Xsetup
#!/bin/sh
# Xsetup - À lancer en tant que root avant que la boîte de dialogue pour la connexion n’apparaisse 
 
# ...
 
# La première disposition sera 'fr'
setxkbmap fr,us

Le premier code pays est celui par défaut.

Configuration de plusieurs écrans

L'emplacement des écrans et l'affichage du message d'accueil peut être paramétré par la commande xrandr dans le script de configuration d'SDDM /etc/sddm/scripts/Xsetup. En premier lieu, installez x11-apps/xrandr :

root #emerge --ask x11-apps/xrandr

Ici xrandr nous rapporte qu'il a deux écrans connectés: le primaire (DP-4) et le secondaire (DP-2) :

user $xrandr | grep -w connected
DP-2 connected 2160x3840+0+0 left (normal left inverted right x axis y axis) 597mm x 336mm
DP-4 connected primary 3840x2160+2160+0 (normal left inverted right x axis y axis) 697mm x 392mm

Ajoutez les lignes suivantes au fichier /etc/sddm/scripts/Xsetup :

FILE /etc/sddm/scripts/Xsetup
#!/bin/sh
# Xsetup - À lancer en tant que root avant que la boîte de dialogue de connexion n'apparaisse.
 
# ...

# Premièrement, paramétrez DP-4 en tant qu'écran primaire
xrandr --output DP-4 --auto --primary
# Deuxièmement, DP-2 sera placé à la gauche de DP-4 et sa rotation sera de 270° dans le sens horaire.
xrandr --output DP-2 --left-of DP-4 --rotate left --noprimary

Après le redémarrage SDDM sera affiché avec son message d'accueil sur l'écran DP-4.

Service

OpenRC

Si le paquet gui-libs/display-manager-init n'est pas présent, l'émerger avec la commande :

root #emerge --ask gui-libs/display-manager-init

Le fichier de configuration devrait être modifié pour utiliser SDDM :

FILE /etc/conf.d/display-managerParamétrer SDDM comme gestionnaire d'affichage / de connexion
CHECKVT=7
DISPLAYMANAGER="sddm"

Pour démarrer le gestionnaire d'affichage au lancement, ajouter display-manager au niveau d'exécution par défaut du système (NdT: runlevel).

root #rc-update add display-manager default

Pour lancer le display-manager immédiatement, lancez :

root #rc-service display-manager start

systemd

Pour lancer SDDM au démarrage :

root #systemctl enable sddm.service

Pour démarrer tout de suite SDDM :

root #systemctl start sddm.service

Plasma

L'interface graphique de configuration est intégré dans les paramètres de Plasma 5 en installant le paquet kde-plasma/sddm-kcm :

root #emerge --ask kde-plasma/sddm-kcm

Dépannage

Temps de chargement trop long avant l'affichage d'SDDM et son message d'accueil

Une «réserve entropique basse» (NdT: en anglais: «low entropy pool», difficile de trouver un équivalent) peut augmenter considérablement le temps d'affichage - voir le rapport de bug en amont (NdT: en anglais). Si systemd est utilisé, la «cible» est atteinte et tout semble se figer. Bouger la souris ou utiliser le clavier affichera (plus rapidement) le message d'accueil d'SDDM.

Résolvez le problème en utilisant, par exemple, le paquet sys-apps/haveged pour augmenter l'entropie en réserve ou en activant l'option de configuration de noyau RANDOM_TRUST_CPU si votre processeur est assez récent.

Erreur de refus de permissions dans le journal Xorg.log

Le serveur X ne démarrera pas et des erreurs de permissions refusées (comme dans l'exemple qui suit) seront présent dans le journal Xorg.log :

FILE /var/log/Xorg.log
/var/log/Xorg.0.log:[ 2058.998] (EE) /dev/dri/card0: failed to set DRM interface version 1.4: Permission denied
/var/log/Xorg.0.log:[ 2061.229] (EE) intel(0): [drm] failed to set drm interface version: Permission denied [13].

Il est probable que l'utilisateur sddm ne soit pas dans le groupe video. Lancez la commande suivante peut résoudre le problème :

root #usermod -a -G video sddm

Absence des boutons système

SDDM affichera seulement ces boutons s'il évalue que ces fonctionnalités sont disponibles. Pour les systèmes utilisant OpenRC avec elogind, cela peut être causé par le service ne se lançant pas quand le gestionnaire d'affichage est initialisé. Pour être sûr qu'il est en court de lancement, ajoutez simplement elogind au niveau d'exécution du boot.

root #rc-update add elogind boot

Utilisateurs manquants

Si l'écran de connexion n'affiche pas certains utilisateurs, cela peut être causé par le fichier /etc/sddm.conf - la variable MinimumUid (NdT: cette variable représente un seuil minimal pour reconnaître un utilisateur) et sa valeur standard est de 1000, certains utilisateurs peuvent avoir un identifiant numérique plus faible.

FILE /etc/sddm.conf
[Users]
MaximumUid=60000
MinimumUid=1000

Le service SDDM démarre mais est coincé sur un écran noir

Sur les cartes NVIDIA, SDDM semble avoir besoin qu'un DRM (NdT: Digital Rights Management, en français Gestion des Droits Digitaux, une protection logicielle) soit activé et fonctionnel selon ce rapport de bug fermé (en anglais).

Assurez-vous que le gestionnaire de rendu direct (NdT: Direct Rendering Manager, aussi abrégé «DRM» mais sans être la même chose) est activé dans le noyau. Si ce n'est pas le cas, activez-le, recompiler le noyau et ré-installez le paquet x11-drivers/nvidia-drivers.

KERNEL Activer le gestionnaire de rendu direct
Device Drivers --->
    Graphics support --->
        <*> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) --->
            [*] Enable legacy fbdev support for your modesetting driver

Assurez-vous que le module nvidia-drm est configuré pour se charger au démarrage et que l'option modeset est activé :

FILE /etc/modules-load.d/nvidia-drm.conf
nvidia-drm
options nvidia-drm modeset=1

Sinon, l'option modeset peut être activé dans la ligne de commande du noyau avec nvidia-drm.modeset=1. Cela peut se paramétrer dans le chargeur d'amorçage ou inclus dans la configuration du noyau.

Voir aussi