SDDM (Français)

From ArchWiki
État de la traduction: Cet article est la version francophone de SDDM. Date de la dernière traduction: 2022-03-08. Vous pouvez aider à synchroniser la traduction s'il y a eu des changements dans la version anglaise.

Le Simple Desktop Display Manager (SDDM) est un gestionnaire d'affichage. Il est recommandé pour les environnements de bureau KDE Plasma et LXQt.

Selon Wikipedia:Simple Desktop Display Manager :

Simple Desktop Display Manager (SDDM) est un gestionnaire d'affichage (un programme de connexion graphique et un gestionnaire de session) pour les systèmes de fenêtrage X11 et Wayland. SDDM a été écrit à partir de zéro en C++11 et prend en charge les thèmes via QML.
Note: Wayland n'est pas encore entièrement pris en charge : Les sessions Wayland sont listées, mais SDDM fonctionne sous X11. SDDM 0.20 introduira la prise en charge complète de Wayland. [1]

Installation

Installez le paquet sddm. En option, installez sddm-kcm pour le KConfig Module.

Suivez Display manager (Français)#Chargement du gestionnaire d'affichage pour lancer SDDM au démarrage.

Configuration

Le fichier de configuration par défaut pour SDDM est /usr/lib/sddm/sddm.conf.d/default.conf. Pour toute modification, créez un ou plusieurs fichiers de configuration dans /etc/sddm.conf.d/. Consultez sddm.conf(5) pour toutes les options.

Le paquet sddm-kcm (inclus dans le groupe plasma) fournit une interface graphique pour configurer SDDM dans les paramètres système de Plasma. Il y a également une sddm-config-editor-gitAUR basée sur Qt disponible dans l'AUR.

Tout devrait fonctionner dès le départ, car Arch Linux utilise systemd et SDDM utilise par défaut systemd-logind pour la gestion des sessions.

Autologin

SDDM prend en charge la connexion automatique via son fichier de configuration, par exemple :

/etc/sddm.conf.d/autologin.conf
[Autologin]
User=john
Session=plasma

Cette configuration permet de démarrer une session KDE Plasma pour l'utilisateur john au démarrage du système. Les types de session disponibles se trouvent dans /usr/share/xsessions/ pour X et dans /usr/share/wayland-sessions/ pour Wayland.

Une option permettant de se connecter automatiquement à KDE Plasma tout en verrouillant simultanément la session n'est pas disponible [2].

Vous pouvez ajouter un script qui active l'économiseur d'écran de KDE au démarrage automatique comme solution de contournement :

#!/bin/sh
/usr/bin/dbus-send --session --type=method_call --dest=org.freedesktop.ScreenSaver /ScreenSaver org.freedesktop.ScreenSaver.Lock &

Déverrouiller KDE Wallet automatiquement à la connexion

Consultez KDE Wallet#Unlock KDE Wallet automatically on login.

Paramètres du thème

Les paramètres du thème peuvent être modifiés dans la section [Theme]. Si vous utilisez les paramètres système de Plasma, les thèmes peuvent afficher des aperçus.

Réglez-les sur breeze pour obtenir le thème Plasma par défaut.

Certains thèmes sont disponibles dans l'AUR, par exemple archlinux-themes-sddmAUR.

Thème actuel

Définissez le thème actuel grâce à la valeur Current, par exemple Current=archlinux-simplyblack.

Modification des thèmes

Le répertoire par défaut des thèmes SDDM est /usr/share/sddm/themes/. Vous pouvez ajouter vos thèmes personnalisés à ce répertoire dans un sous-répertoire séparé. Notez que SDDM exige que les noms de ces sous-répertoires soient les mêmes que ceux des thèmes. Étudiez les fichiers installés pour modifier ou créer votre propre thème.

Personnalisation d'un thème

Pour remplacer les paramètres du fichier de configuration theme.conf, créez un fichier personnalisé theme.conf.user dans le même répertoire. Par exemple, pour modifier l'arrière-plan du thème :

/usr/share/sddm/themes/name/theme.conf.user
[General]
background=/path/to/background.png.

Tester (prévisualiser) un thème

Vous pouvez prévisualiser un thème SDDM si nécessaire. Ceci est particulièrement utile si vous n'êtes pas sûr de l'aspect du thème s'il est sélectionné ou si vous venez de modifier un thème et que vous voulez consulter son aspect sans vous déconnecter. Vous pouvez exécuter quelque chose comme ceci :

$ sddm-greeter --test-mode --theme /usr/share/sddm/themes/breeze

Cela devrait ouvrir une nouvelle fenêtre pour chaque moniteur que vous avez connecté et afficher un aperçu du thème.

Note: Ce n'est qu'un aperçu. Dans ce mode, certaines actions telles que l'arrêt, la suspension ou la connexion n'auront aucun effet.

Curseur de la souris

Pour définir le thème du curseur de la souris, définissez CursorTheme sur votre thème de curseur préféré.

Les noms de thèmes de curseur de souris Plasma valides sont breeze_cursors, Breeze_Snow et breeze-dark.

Icône de l'utilisateur (avatar)

This article or section is out of date.

Reason: SDDM détecte les icônes dans /var/lib/AccountsService/icons/ sans configuration et Plasma ne crée plus les fichiers dans $HOME/. (Discuss in Talk:SDDM)

SDDM lit l'icône de l'utilisateur (alias "avatar") sous forme d'image PNG à partir de ~/.face.icon pour chaque utilisateur, ou de l'emplacement commun à tous les utilisateurs spécifié par FacesDir dans un fichier de configuration SDDM. Le paramètre de configuration peut être placé soit directement dans /etc/sddm.conf, soit, mieux encore, dans un fichier sous /etc/sddm.conf.d/ tel que /etc/sddm.conf.d/avatar.conf.

Pour utiliser l'option d'emplacement FacesDir, placez une image PNG pour chaque utilisateur nommée username.face.icon à l'emplacement spécifié par la clé FacesDir dans le fichier de configuration. L'emplacement par défaut de FacesDir est /usr/share/sddm/faces/. Vous pouvez modifier l'emplacement par défaut de FacesDir en fonction de vos besoins. Voici un exemple :

/etc/sddm.conf.d/avatar.conf
[Theme]
FacesDir=/var/lib/AccountsService/icons/

L'autre option consiste à placer une image PNG nommée .face.icon à la racine de votre répertoire personnel. Dans ce cas, aucune modification du fichier de configuration SDDM n'est nécessaire. Cependant, vous devez vous assurer que l'utilisateur sddm peut lire le(s) fichier(s) image(s) PNG pour les icônes de l'utilisateur.

Note: Dans de nombreuses versions de KDE, le fichier image de l'icône utilisateur est ~/.face et ~/.face.icon est un lien symbolique vers ce fichier. Si les images de l'icône de l'utilisateur sont des liens symboliques, vous devez définir des autorisations de fichiers appropriées pour les fichiers cibles.

Pour définir les autorisations appropriées, exécutez :

$ setfacl -m u:sddm:x ~/
$ setfacl -m u:sddm:r ~/.face.icon

Vous pouvez vérifier les permissions avec :

$ getfacl ~/
$ getfacl ~/.face.icon

Consultez SDDM README : No User Icon.

Numlock

Si vous voulez imposer l'activation de Numlock, définissez Numlock=on dans la section [General].

Rotation de l'affichage

Consultez Xrandr#Configuration.

Paramètres DPI

Il est parfois utile de configurer les paramètres PPI corrects du moniteur au niveau du "Display Manager". [3] Pour ce faire, vous devez ajouter à ServerArguments le paramètre -dpi your_dpi à la fin de la chaîne. Par exemple :

/etc/sddm.conf.d/dpi.conf
[X11]
ServerArguments=-nolisten tcp -dpi 94

Activer HiDPI

Créez le fichier suivant :

/etc/sddm.conf.d/hidpi.conf
[Wayland]
EnableHiDPI=true

[X11]
EnableHiDPI=true

Activer le clavier virtuel

Installez qt5-virtualkeyboard.

Créez le fichier suivant :

/etc/sddm.conf.d/virtualkbd.conf
[General]
InputMethod=qtvirtualkeyboard

SDDM affiche maintenant un bouton dans le coin inférieur gauche de l'écran de connexion pour ouvrir le clavier virtuel.

Utilisation d'un lecteur d'empreintes digitales

Note: Veuillez vous assurer que votre empreinte digitale est enregistrée avant d'effectuer ces modifications. La prise en charge des empreintes digitales n'est pas encore complètement opérationnelle et il semble que la connexion avec seulement un mot de passe ne fonctionne plus avec cette méthode.

SDDM fonctionne avec un lecteur d'empreintes digitales lorsque vous utilisez fprint. Après avoir installé fprint et ajouté des signatures d'empreintes digitales, ajoutez ce qui suit en haut de /etc/pam.d/sddm :

/etc/pam.d/sddm
auth 			sufficient  	pam_fprintd.so

Afin d'utiliser un mot de passe ou une empreinte digitale, vous pouvez ajouter ce qui suit en haut du fichier :

/etc/pam.d/sddm
auth 			[success=1 new_authtok_reqd=1 default=ignore]  	pam_unix.so try_first_pass likeauth nullok
auth 			sufficient  	pam_fprintd.so

Notez que KWallet ne peut pas être déverrouillé à l'aide d'un lecteur d'empreintes digitales (consultez KDE Wallet#Unlock KDE Wallet automatically on login), mais la première ligne garantit qu'une connexion par mot de passe déverrouillera automatiquement KWallet.

Astuce: Pour que cela fonctionne dans l'écran de verrouillage de KDE, vous pouvez ajouter la même ligne au début de /etc/pam.d/kde.

Pour utiliser soit un mot de passe, soit une empreinte digitale, vous pouvez ajouter ce qui suit en haut du fichier :

/etc/pam.d/kde
auth sufficient pam_unix.so try_first_pass likeauth nullok
auth sufficient pam_fprintd.so

La première ligne est différente de la configuration correspondante /etc/pam.d/sddm car l'écran de verrouillage KDE n'a pas besoin d'exécuter le module pam KWallet.

Si vous appuyez maintenant sur entrée dans le champ vide du mot de passe, le lecteur d'empreintes digitales devrait commencer à fonctionner.

Exécution sous Wayland

SDDM peut fonctionner sans root sous Wayland, mais actuellement seulement en utilisant le paquet sddm-gitAUR.

Créez un nouveau fichier de configuration dans le répertoire /etc/sddm.conf.d/, nommez-le comme /etc/sddm.conf.d/10-wayland.conf.

Ajoutez ce qui suit au nouveau fichier :

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

[Wayland]
CompositorCommand=

Ensuite, vous aurez besoin d'un compositeur Wayland (tel que le compositeur KWin de KDE) pour rendre SDDM, et entrer le programme et les arguments pertinents comme paramètre de CompositorCommand.

KDE / KWin

Attention: Comme SDDM sera traitée comme une fenêtre séparée par KWin, se connecter fermera la fenêtre. Par conséquent, la déconnexion ou le changement d'utilisateur présenteront un comportement indésirable.
Astuce: Les modifications apportées à votre configuration d'affichage dans KDE Wayland (par exemple, la disposition de l'écran, la résolution, etc) ne seront pas conservées dans SDDM. Pour les faire persister, ouvrez les Paramètres système de KDE et naviguez vers Démarrage et arrêt> Écran de connexion (SDDM) et cliquez sur "Appliquer les paramètres Plasma...". Vous devrez avoir la permission d'effectuer cette action.

Ajoutez ce qui suit comme paramètre à CompositorCommand dans le fichier de configuration SDDM créé ci-dessus (par exemple /etc/sddm.conf.d/10-wayland.conf) :

/etc/sddm.conf.d/10-wayland.conf
[Wayland]
CompositorCommand=kwin_wayland --no-lockscreen

Pour activer la prise en charge des claviers virtuels (par exemple, en utilisant qt5-virtualkeyboard ou maliit-keyboard), ajoutez l'option --inputmethod avec le clavier approprié à la commande kwin_wayland, comme suit (en remplaçant maliit-keyboard par qtvirtualkeyboard si nécessaire) :

/etc/sddm.conf.d/10-wayland.conf
[Wayland]
CompositorCommand=kwin_wayland --no-lockscreen --inputmethod maliit-keyboard

Dépannage

Écran vide avec curseur, mais aucun greeter ne s'affiche

Le greeter se bloque s'il n'y a pas d'espace disque disponible. Vérifiez votre espace disque avec df -h.

Si l'espace disque n'est pas le problème, cela peut être dû à un bug. Passez à un autre TTY, puis essayez loginctl unlock-session session_id ou redémarrez SDDM.

Long temps de chargement avant que SDDM n'affiche le greeter

Un pool d'entropie faible peut causer un long temps de chargement de SDDM (rapport de bug). Consultez Random number generation pour des suggestions afin d'augmenter le pool d'entropie.

Blocage après la connexion

Essayez de supprimer ~/.Xauthority et de vous connecter à nouveau sans redémarrer. Si vous redémarrez sans vous connecter, le fichier sera recréé et le problème persistera.

SDDM démarre sur tty1 au lieu de tty7

SDDM suit la convention de systemd de démarrer la première session graphique sur tty1. Si vous préférez l'ancienne convention où tty1 à tty6 sont réservés aux consoles texte, changez la valeur par défaut de la variable MinimumVT, qui se trouve dans la section [X11] :

/etc/sddm.conf.d/tty.conf
[X11]
MinimumVT=7

Un ou plusieurs utilisateurs ne s'affichent pas sur le greeter

Attention: Les utilisateurs définis avec un UID inférieur à 1000 ou supérieur à 60513 ne doivent généralement pas être exposés à un gestionnaire d'affichage.

Par défaut, SDDM est configuré pour afficher uniquement les utilisateurs dont l'UID est compris entre 1000 et 60513. Si les UID des utilisateurs souhaités sont en dehors de cette plage, vous devrez modifier la plage.

Par exemple, pour un UID de 501, définissez MinimumUid et masquez ceux dont les shells sont utilisés par les utilisateurs du système :

/etc/sddm.conf.d/uid.conf
[Utilisateurs]
HideShells=/usr/bin/nologin,/sbin/nologin,/bin/false,/usr/bin/git-shell
MinimumUid=500

Pour les utilisateurs ayant un UID supérieur, définissez MaximumUid à la valeur appropriée.

Les avatars des utilisateurs ne s'affichent pas sur le greeter

Les avatars des utilisateurs ne s'affichent pas sur le greeter si le nombre d'utilisateurs dépasse le paramètre DisableAvatarsThreshold ou si les avatars ne sont pas du tout activés comme le contrôle le paramètre EnableAvatars. Pour contourner ce problème, ajoutez les lignes suivantes à votre configuration sddm :

/etc/sddm.conf.d/avatars.conf
[Theme]
EnableAvatars=true # activer les avatars
DisableAvatarsThreshold=7 # définit le seuil pour le nombre d'utilisateurs. Les avatars ne sont pas affichés si ce seuil est dépassé.

SDDM charge uniquement la disposition de clavier américaine

SDDM charge la disposition du clavier spécifiée dans /etc/X11/xorg.conf.d/00-keyboard.conf. Vous pouvez générer ce fichier de configuration par la commande localectl set-x11-keymap. Consultez Configuration du clavier dans Xorg pour plus d'informations.

Une autre façon de définir la disposition du clavier qui ne sera définie que dans SDDM et non dans les sessions suivantes est d'invoquer une commande setxkbmap dans le script de démarrage de SDDM, situé à /usr/share/sddm/scripts/Xsetup. Consultez Xorg (Français)/Keyboard configuration (Français)#Utilisation de setxkbmap pour des exemples.

SDDM peut également afficher de manière incorrecte la disposition US mais passera immédiatement à la disposition correcte dès que vous commencerez à taper votre mot de passe [4]. Cela ne semble pas être un bogue dans SDDM mais dans le serveur X. [5]

La résolution de l'écran est trop faible

Le problème peut être causé par l'utilisation de HiDPI pour les moniteurs avec des EDID corrompus. [6]. Si vous avez #Activer HiDPI|activé HiDPI]], essayez de le désactiver.

Si même ce qui précède échoue, vous pouvez essayer de définir la taille de votre écran dans un fichier de configuration Xorg :

/etc/X11/xorg.conf.d/90-monitor.conf
Section "Monitor" (Moniteur)
        Identifiant "<moniteur par défaut>"
        DisplaySize 345 194 # en millimètres
EndSection

Temps de chargement long sur le répertoire personnel d'autofs

SDDM essaie par défaut d'afficher les avatars des utilisateurs en accédant au fichier ~/.face.icon. Si votre répertoire personnel est un autofs, par exemple si vous utilisez dm-crypt, cela le fera attendre pendant 60 secondes, jusqu'à ce qu'autofs signale que le répertoire ne peut pas être monté.

Vous pouvez désactiver les avatars en créant le fichier de configuration suivant :

/etc/sddm.conf.d/avatar.conf
[Theme]
EnableAvatars=false

Fichier d'autorité X (aka MIT-MAGIC-COOKIE)

SDDM utilise un nouvel UUID aléatoire pour le fichier d'authentification, comme décrit en détail sur [7]. Ainsi, afin de trouver ce fichier, on peut utiliser un script :

# find /var/run/sddm/ -type f

Cela peut être nécessaire si l'on a besoin de lancer x11vnc alors qu'aucun utilisateur n'est connecté. Par exemple :

# x11vnc -display :0 -auth "$( find /var/run/sddm/ -type f )"

Chevauchement des greeters sur une configuration multi-écrans

Il arrive que la disposition du moniteur X ne soit pas configurée correctement sur une configuration multi-écrans, ce qui entraîne un chevauchement des greeters. Pour résoudre ce problème, ajoutez les lignes suivantes pour ordonner la disposition de votre greeter sddm de gauche à droite :

/usr/share/sddm/scripts/Xsetup
for next in $(xrandr --listmonitors | grep -E " *[0-9]+ :.*" | cut -d" " -f6) ; do
  [ -z "$current" ] && current=$next && continuer
  xrandr --output $current --auto --output $next --auto --right-of $current
  current=$next
done