LightDM, l'ancien écran de connexion d'Ubuntu

GDM remplace maintenant LightDM par défaut sur ubuntu depuis Ubuntu 17.10. Si vous utilisez une variante d'Ubuntu autre que la variante officielle, votre gestionnaire de session est peut-être différent. Consultez le portail des gestionnaires de sessions pour repérer votre gestionnaire de session graphique.

L'écran de connexion du gestionnaire de session LightDM, tel que visible dans Ubuntu 12.04 LTS

LightDM est un gestionnaire de session graphique utilisé jusqu’à la version 17.10 par Ubuntu et Xubuntu (entre-autres). Celui-ci vous permet d'ouvrir une session avec votre compte d'utilisateur dans votre système Ubuntu, ainsi que gérer les éventuelles multiples sessions d'utilisateurs fonctionnant simultanément.

Ubuntu, comme tous les autres systèmes d'exploitation de la famille GNU/Linux, est un système multi-utilisateurs. Cela signifie que vous n'êtes pas limité à un seul compte d'utilisateur dans le fonctionnement de votre ordinateur. Vous pouvez créer plusieurs comptes d'utilisateurs pour chaque usager de votre ordinateur, de même que pour divers usages.

Avoir plusieurs comptes d'utilisateurs dans un environnement « multi-usagers » (ordinateur familial, poste partagé dans une entreprise, borne dans un lieu public) est un gage de sécurité. Un compte d'utilisateur est une collection de données et de paramètres relatifs à un usager de l'ordinateur : nom, prénom, photo de profil, boîtes de courriels, trousseaux de mots de passe, préférences des logiciels utilisés, choix de thème de l'environnement de bureau, etc. Il convient donc d'isoler les informations personnelles de chaque utilisateur.

Dans le but de sélectionner le compte d'utilisateur avec lequel on souhaite travailler, Ubuntu propose, à son chargement, un écran de connexion : avec les versions 14.04 et 16.04, ce sera LightDM. Cet écran vous permet de choisir quelle session doit être chargée, ainsi que quelques paramètres relatifs à la session utilisateur à charger (langue d'affichage, environnement graphique, agencement du clavier et options d'accessibilité).

Si vous utilisez Unity comme gestionnaire de bureau, vous pouvez réinstaller LightDM qui s'accorde mieux visuellement avec Unity.

Si vous souhaitez utiliser LightDM mais que ce n'est pas le gestionnaire de connexion installé, installez donc le paquet lightdm.

Le gestionnaire de connexion est un composant du système qui ne peut pas avoir de concurrent: une confirmation du gestionnaire de connexion souhaité vous sera normalement demandée.

Pour ouvrir une session utilisateur, sélectionnez votre compte dans la liste et saisissez votre mot de passe.

Au chargement d'Ubuntu, LightDM affiche une liste de comptes d'utilisateurs existants. Par défaut, tous les comptes d'utilisateurs qui ont été créés dans votre système Ubuntu sont présents dans cette liste des comptes. Pour ouvrir une session utilisateur avec l'un de ces comptes :

  • Sélectionnez le compte d'utilisateur avec lequel vous souhaitez ouvrir une session. Ceci peut être accompli en cliquant sur le nom de l'utilisateur à l'aide de votre souris ou en déplaçant la sélection vers le haut ou vers le bas à l'aide des flèches directionnelles de votre clavier.
  • Si un mot de passe vous est demandé, saisissez-le maintenant. Puis, appuyez sur la touche « Entrée » de votre clavier. La session se charge.
  • Dans le cas où une session peut être chargée sans mot de passe, le champ de saisie de mot de passe est remplacé par un bouton « Se connecter ». Appuyez sur ce bouton pour charger la session.

Ouvrir une session d'utilisateur invité

Dans la liste des comptes d'utilisateurs, un compte « Session d'invité » apparaît. Ce compte est un compte d'utilisateur temporaire, utile lorsque vous prêtez votre ordinateur à un usager qui n'a pas de compte sur votre système Ubuntu. Le compte d'invité est créé dynamiquement lorsqu'une session est chargée et est détruit immédiatement après la fermeture de la session. Cet utilisateur a peu de droits dans votre ordinateur et il ne peut pas modifier le fonctionnement de votre système Ubuntu.

Il n'est pas recommandé d'utiliser le compte d'invité en tant que session par défaut, à moins de configurer une borne publique. Le compte étant automatiquement supprimé à la fermeture de la session, toutes les modifications et les configurations apportées au compte invité seront perdues. Le compte d'invité est prévu pour une utilisation occasionnelle et temporaire de votre ordinateur.

Sélectionner l'environnement graphique

Chaque session utilisateur peut utiliser l'environnement graphique de son choix (plus d'explications sur la page dédiée). Plusieurs environnements graphiques peuvent être installés simultanément sur votre système Ubuntu, mais un seul environnement peut fonctionner à la fois dans une session utilisateur. Le gestionnaire de sessions LightDM permet de choisir son environnement graphique parmi ceux installés sur votre système.

Pour choisir votre environnement graphique :

  1. À l'écran de connexion, sélectionnez le compte d'utilisateur avec lequel ouvrir une session. N'entrez pas immédiatement le mot de passe du compte d'utilisateur. Cliquez sur le bouton de forme ronde, situé à la droite du nom de l'utilisateur.

    Appuyez sur le bouton en forme de cercle, à la droite du nom de l'utilisateur.
  2. Une liste des environnements graphiques installés dans votre système Ubuntu apparaît. Sélectionnez l'environnement graphique de votre choix pour que celui-ci soit utilisé dans la session utilisateur que vous vous apprêtez à charger.

    Sélectionnez l'environnement de votre choix.
  3. De retour à l'écran de connexion, complétez l'ouverture de session en saisissant le mot de passe du compte d'utilisateur ou, dans le cas d'une session pouvant être chargée sans mot de passe, appuyez sur le bouton « Se connecter ». Remarquez que le logo circulaire du bouton de sélection d'environnement graphique a changé, afin de refléter votre choix d'environnement graphique. Saisissez votre mot de passe pour charger la session.

L'environnement graphique de votre choix est mémorisé par LightDM : lors de vos ouvertures de session suivantes pour cet utilisateur, le dernier environnement graphique choisi est automatiquement présélectionné. Pour changer à nouveau votre environnement graphique, vous devrez effectuer à nouveau la manipulation ci-dessus. De plus, cette manipulation n'est mémorisée que pour le seul utilisateur sélectionné ; ce choix n'est pas automatiquement répercuté pour l'ensemble des utilisateurs de votre système Ubuntu. (cf. § Comment changer l'environnement graphique par défaut pour l'ensemble des comptes d'utilisateurs ?)

Changer l'agencement du clavier

Si vous n'arrivez pas à saisir correctement votre mot de passe à l'ouverture de session, il se peut que l'agencement du clavier (la correspondance entre les touches de votre clavier et l'interprétation qu'en fait le système) soit incorrect. Lorsque plus d'un agencement de clavier a été configuré pour un compte d'utilisateur, un bouton en forme de clavier apparaît dans la partie supérieure droite de votre écran de connexion. Appuyez sur ce bouton pour lister l'ensemble des agencements de clavier actuellement paramétrés pour lui et sélectionnez l'agencement correspondant à votre clavier.

Lorsque plus d'un agencement est installé dans votre système Ubuntu, sélectionnez le bon.

La sélection de l'agencement n'est pas mémorisée, elle doit être refaite à chaque ouverture de session. Ce paramètre touche uniquement l'agencement du clavier au moment de l'ouverture de session, il n'a pas d'impact quant à l'agencement de clavier préféré que l'utilisateur a configuré une fois sa session chargée. Enfin, les agencements de clavier ne sont proposés dans la liste que si un utilisateur a lui-même configuré plusieurs agencements dans sa session ; modifier cette option n'a pas d'impact sur les autres sessions des utilisateurs.

Apparemment, l'agencement des claviers est stocké dans le fichier /etc/default/keyboard et une ligne comme : XKBLAYOUT="fr,us" active un clavier azerty et qwerty.

Activer des options d'accessibilité

Certaines options d'accessibilité sont disponibles dans LightDM pour permettre l'ouverture de session aux usagers ayant des problèmes d'utilisation du matériel informatique standard. Les options d'accessibilité proposées sont :

  • l'affichage d'un clavier virtuel, afin de saisir des touches sur un clavier affiché à l'écran de votre ordinateur à l'aide d'une souris ou sur un écran tactile ;
  • l'activation de contrastes élevés, pour améliorer l'affichage à l'écran des usagers ayant une déficience visuelle ;
  • l'activation d'un lecteur d'écran, pour améliorer l'accès à l'ordinateur aux usagers ayant une déficience visuelle.

Pour activer des options d'accessibilité, appuyez sur le bouton représentant un homme de Vitruve stylisé et sélectionnez la ou les options d'accessibilité à activer.

Le bouton représentant l'homme de Vitruve liste des options d'accessibilité. Ici, un clavier virtuel est activé.

Ces options d'accessibilité ne sont activées que pour l'écran de connexion en cours. Elles demeurent activées durant tout le processus d'ouverture de session, jusqu'à ce que la session utilisateur soit chargée. À l'ouverture de session suivante, il faudra activer manuellement à nouveau chaque option d'accessibilité désirée. Les choix d'accessibilité faits à l'écran de connexion n'ont pas d'impact sur la session utilisateur ouverte.

Certains changements nécessitent de se reconnecter pour être pris en compte. Vous pouvez redémarrer votre système Ubuntu … ce qui peut prendre un certain temps mais plus simplement et afin d'éviter un redémarrage complet du système:

  • [Recommandé] depuis le menu de l'indicateur système applet système dans la zone de notification à droite de la barre supérieure du bureau, choisir "Fermer la session…" ( "Log Out…" en anglais) puis confirmer. La session se fermera pour revenir à l'écran de connexion;
  • [Non recommandé] depuis un terminal en saisissant la commande suivante :
    (Si la connexion est automatique, vous retrouverez votre session sans passer par l'écran de connexion)
sudo restart lightdm

Voir cette page pour tout savoir sur la clôture de session.

Cette section contient des informations avancées.
Les manipulations décrites ci-dessous pourraient éventuellement corrompre le fonctionnement du gestionnaire de session LightDM. Nous vous recommandons de bien lire les instructions avant de procéder à une quelconque modification proposée car une mauvaise manipulation – une simple faute de frappe dans le fichier de configuration – pourrait empêcher toute connexion ultérieure via le gestionnaire de session :!:
Pour bien comprendre le fonctionnement des fichiers de configuration de LightDM et dans lesquels y apporter vos modifications, commencez par lire la section "Emplacement des fichiers de configuration de LightDM" de la présente page :!:

Sauvegarde préalable

:!: Avant de modifier un fichier de configuration de LightDM, pensez à faire une sauvegarde de l'original :!:

Par exemple, en ligne de commande, avant de modifier le fichier /etc/lightdm/lightdm.conf, faites une copie :

sudo cp /etc/lightdm/lightdm.conf /etc/lightdm/lightdm.conf_original

Dans le cas où vous feriez une manipulation erronée qui rendrait ensuite toute connexion impossible via l'écran d'accueil, vous pourrez alors revenir à la configuration originale en suivant cette procédure :

  1. Pressez les touches Ctrl+Alt+F1 pour obtenir une console de connexion au système.
  2. Connectez-vous avec vos identifiants habituels, soit votre nom d'utilisateur et votre mot de passe.
  3. Restaurez le fichier original :
    sudo cp /etc/lightdm/lightdm.conf_original /etc/lightdm/lightdm.conf
  4. Relancez le service de connexion :
    sudo service lightdm restart
  5. Avant d'ouvrir une session graphique, pensez à quitter la session ouverte en console précédemment :
    1. Pressez les touches Ctrl+Alt+F1 pour revenir dans la console ouverte.
    2. Tapez exit pour quitter la session.
    3. Pressez les touches Ctrl+Alt+F7 pour revenir à l'écran d'accueil de LightDM.

Changer l'environnement graphique par défaut pour l'ensemble des utilisateurs

Par défaut, l'environnement graphique paramétré pour l'ensemble des utilisateurs est :

Chaque usager peut sélectionner individuellement un environnement graphique différent au moment de charger sa session. Cependant, il est possible de modifier la configuration de LightDM pour proposer par défaut un autre environnement graphique à l'ensemble des utilisateurs de votre système Ubuntu.

  1. Ouvrez avec les droits d'administration le fichier de configuration de LightDM /etc/lightdm/lightdm.conf pour ajouter l'option suivante à la fin du fichier :
    user-session=environnement

    environnement est le type d'environnement à affecter par défaut à tous les utilisateurs.

  2. Enregistrez le fichier et redémarrez le service de connexion.
À quoi correspond le type d'environnement ?
Le type d'environnement est un nom abrégé décrivant l'environnement graphique à charger. Techniquement, il s'agit du nom de fichier .desktop de chaque environnement installé, sans son extension .desktop. Pour connaître la liste des environnements graphiques installés dans votre système Ubuntu et connaître le nom de chacun des fichiers .desktop correspondants, exécutez la commande suivante dans un terminal :
ls /usr/share/xsessions

Par exemple : ubuntu représente un environnement Unity, gnome-shell représente GNOME Shell, etc.

Supprimer la session invité

La session invité dans Ubuntu

Par défaut, Ubuntu propose un compte Session d'invité dans la liste des comptes d'utilisateurs. Ce compte est un compte d'utilisateur temporaire, créé dynamiquement lorsqu'une session est chargée et est détruit immédiatement après la fermeture de la session. Cet utilisateur a peu de droits dans votre ordinateur – il ne peut pas modifier le fonctionnement de votre système Ubuntu. Vous pouvez préférer désactiver la possibilité de charger une session d'invité.

Rappel : Pour bien comprendre le fonctionnement des fichiers de configuration de LightDM et dans lesquels y apporter vos modifications, commencez par lire la section "Emplacement des fichiers de configuration de LightDM" de la présente page :!:

Ainsi pour supprimer la session invité :

  1. Ouvrez un terminal et, s'il n'existe pas déjà, créez un nouveau dossier /etc/lightdm/lightdm.conf.d/ :
    sudo mkdir -p /etc/lightdm/lightdm.conf.d
  2. Toujours dans le terminal, créez un nouveau fichier nommé 50-disable-guest.conf à l'intérieur du dossier créé précédemment :
    sudo touch /etc/lightdm/lightdm.conf.d/50-disable-guest.conf
  3. Ouvrez avec les droits d'administration le fichier /etc/lightdm/lightdm.conf.d/50-disable-guest.conf;
  4. Inscrivez les instructions suivantes :
    [SeatDefaults]
    allow-guest=false
  5. Enregistrez le fichier et redémarrez le service de connexion.

Supprimer la session connexion distante

Par défaut, Ubuntu propose un compte Connexion distante dans la liste des comptes d'utilisateurs. Vous pouvez préférer désactiver la possibilité de charger une session distante.

  1. Ouvrez un terminal et, s'il n'existe pas déjà, créez un nouveau dossier /etc/lightdm/lightdm.conf.d/ :
    sudo mkdir -p /etc/lightdm/lightdm.conf.d
  2. Toujours dans le terminal, créez un nouveau fichier nommé 50-hide-remote-login à l'intérieur du dossier créé précédemment :
    sudo touch /etc/lightdm/lightdm.conf.d/50-hide-remote-login.conf
  3. Ouvrez avec les droits d'administration le fichier /etc/lightdm/lightdm.conf.d/50-hide-remote-login.conf;
  4. Inscrivez les instructions suivantes :
    [SeatDefaults]
    greeter-show-remote-login=false
  5. Enregistrez le fichier et redémarrez le service de connexion.

Saisir manuellement un identifiant de connexion (login name)

Une invite de saisie manuelle de l'identifiant

Par défaut, LightDM liste l'ensemble des comptes d'utilisateurs de votre système Ubuntu. Il peut toutefois être utile d'activer une invite de saisie manuelle de l'identifiant de compte avec lequel ouvrir une session. Par exemple, ceci peut servir à ouvrir une session dans un domaine, à ouvrir une session avec un compte système ou ouvrir une session avec un compte dont on a intentionnellement caché son entrée dans la liste de l'écran de connexion.

Ainsi pour saisir manuellement un identifiant de connexion :

  1. Ouvrez un terminal et, s'il n'existe pas déjà, créez un nouveau dossier /etc/lightdm/lightdm.conf.d/ :
    sudo mkdir -p /etc/lightdm/lightdm.conf.d
  2. Toujours dans le terminal, créez un nouveau fichier nommé 50-show-manual-login.conf à l'intérieur du dossier créé précédemment :
    sudo touch /etc/lightdm/lightdm.conf.d/50-show-manual-login.conf
  3. Ouvrez avec les droits d'administration le fichier /etc/lightdm/lightdm.conf.d/50-show-manual-login.conf;
  4. Inscrivez les instructions suivantes :
    [SeatDefaults]
    greeter-show-manual-login=true
  5. Enregistrez le fichier et redémarrez le service de connexion.

Cacher des utilisateurs de la liste à l'écran de connexion

Par défaut, LightDM liste l'ensemble des comptes d'utilisateurs de votre système Ubuntu. Vous pouvez préférer cacher un ou des utilisateurs de cette liste, voire l'ensemble de la liste. Une telle configuration devrait être effectuée conjointement avec l'activation d'une invite de saisie manuelle d'un identifiant, afin de ne pas couper totalement les accès à une session utilisateur graphique.

Cacher un ou des utilisateurs

  1. Rendez-vous dans le dossier /var/lib/AccountsService/users/;
  2. Pour chaque utilisateur créé et ayant ouvert une session se trouve un fichier au nom du compte utilisateur. Ouvrez avec les droits d'administration le fichier du nom de l'utilisateur à cacher;
    • Si l'utilisateur que vous souhaitez cacher ne s'est jamais connecté, créez un nouveau fichier à son nom.
  3. Sous la section [User], recherchez le paramètre SystemAccount=false. Pour cacher le compte, remplacez ce paramètre par SystemAccount=true.
    • S'il s'agit d'un nouveau fichier pour le compte d'un utilisateur ne s'étant jamais connecté, inscrivez les informations suivantes:
      [User]
      SystemAccount=true
  4. Enregistrez le fichier et redémarrez le service de connexion.

Cacher toute la liste des utilisateurs

Pour Ubuntu 14.04 LTS et versions ultérieures

  1. Ouvrez un terminal et, s'il n'existe pas déjà, créez un nouveau dossier /etc/lightdm/lightdm.conf.d/ :
    sudo mkdir -p /etc/lightdm/lightdm.conf.d
  2. Toujours dans le terminal, créez un nouveau fichier nommé 50-hide-users.conf à l'intérieur du dossier créé précédemment :
    sudo touch /etc/lightdm/lightdm.conf.d/50-hide-users.conf
  3. Ouvrez avec les droits d'administration le fichier /etc/lightdm/lightdm.conf.d/50-hide-users.conf;
  4. Inscrivez les instructions suivantes :
    [SeatDefaults]
    greeter-hide-users=true
  5. Enregistrez le fichier et redémarrez le service de connexion.

FIXME c'est quoi ce qui suit?

À partir d'Ubuntu 15.04

À partir d'Ubuntu 15.04 (et peut être Trusty 14.04...)

Pour cacher un utilisateur Xubuntu droits administrateur:

  1. Activer le compte même si c'est un compte désactivé ex: PostgreSQL
  2. Se connecter de manière à ce que le gestionnaire de compte le prenne en compte et enregistre ce compte dans "AccountsService"
  3. Remettre le compte comme à l'origine
  4. Avec les droits d'administration, ouvrir le fichier de l'utilisateur-caché /var/lib/AccountsService/users/<utilisateur_caché>
[User]
XSession=xubuntu
SystemAccount=true

Connexion automatique

Par défaut, aucune session utilisateur ne se charge automatiquement. Il est possible de configurer LightDM pour charger automatiquement une session d'un compte d'utilisateur au chargement d'Ubuntu.

Configuration via l'interface graphique

  1. Allez dans le menu Paramètres système et sélectionnez Comptes utilisateur.
  2. Choisissez le compte de l'utilisateur dont la session doit être automatiquement chargée au démarrage d'Ubuntu.
  3. Dans le coin supérieur droit de la fiche de l'utilisateur, cliquez sur le bouton Déverrouiller. Saisissez votre mot de passe d'administrateur.
  4. Dans la fiche de l'utilisateur, activez Connexion automatique.
  5. Redémarrez l'ordinateur et la connexion automatique devrait avoir lieu.

Édition manuelle du fichier de configuration

Les manipulations précédentes, en mode graphique, modifient le fichier de configuration de LightDM. Le même résultat peut être accompli en éditant directement ce fichier :

  1. Ouvrez avec les droits d'administration le fichier de configuration de LightDM /etc/lightdm/lightdm.conf pour ajouter les lignes suivantes à la fin du fichier :
    autologin-user=identifiant
    autologin-user-timeout=0
    pam-autologin-service=lightdm-autologin

    identifiant est le nom du compte (login name) dont une session doit être chargée automatiquement au démarrage d'Ubuntu.

  2. Enregistrez le fichier et redémarrez le service de connexion.

Notez que vous pouvez configurer le laps de temps pendant lequel il sera possible de se connecter avec un autre compte d'utilisateur que celui qui est prévu pour la connexion automatique en modifiant la valeur du paramètre autologin-user-timeout à 10 secondes par exemple.

Verrouillage du pavé numérique

Pour activer automatiquement le verrouillage du pavé numérique du clavier au démarrage, reportez-vous à la page numlockx.

Changer l'aspect de l'écran d’accueil (greeter)

Il est possible de changer l'aspect global de l'écran d'accueil (greeter en anglais) et d'installer la version lightdm-gtk-greeter, qui est celle installée par défaut avec Xubuntu, ou bien lightdm-kde-greeter, pour KDE

À noter que sur KDE, il est alors possible de modifier le fond d'écran notamment, via Configuration du système, rubrique Administration du système > Écran de connexion (LightDM).

Pour cela, installer le paquet lightdm-gtk-greeter, ou lightdm-kde-greeter puis éditer le fichier /etc/lightdm/lightdm.conf avec les droits d’administration pour remplacer la ligne, située à la section [SeatDefaults]

/etc/lightdm/lightdm.conf
[SeatDefaults]
[...]
greeter-session=unity-greeter

par

  • Pour Xubuntu :
    greeter-session=lightdm-gtk-greeter
  • Pour KDE :
    greeter-session=lightdm-kde-greeter

Redémarrez pour que les changements soient effectifs.

Restaurer l'écran d'accueil par défaut (ou adopter l'écran d'accueil d'un autre desktop)

Si vous avez installé plusieurs desktop (KDE, Lxde etc.), il se peut que votre écran d'accueil ne soit plus celui par défaut. Pour remédier à cela et remettre l'écran d'accueil d'Ubuntu, suivez la procédure suivante indiquée sur la page [:plymouth]].

Si Lightdm n'était plus votre gestionnaire d'écran par défaut, remettez-le :

  1. Ouvrez un terminal et, s'il n'existe pas déjà, créez un nouveau dossier /etc/lightdm/lightdm.conf.d/ :
    sudo mkdir -p /etc/lightdm/lightdm.conf.d
  2. Toujours dans le terminal, créez un nouveau fichier nommé 50-show-manual-login.conf à l'intérieur du dossier créé précédemment :
    sudo touch /etc/lightdm/lightdm.conf.d/50.unity-greeter.conf
  3. Ouvrez avec les droits d'administration le fichier /etc/lightdm/lightdm.conf.d/50.unity-greeter.conf;
  4. Inscrivez les instructions suivantes :
    [Seat:*]
    greeter-session=unity-greeter
  5. Enregistrez le fichier et redémarrez le service de connexion.

Choisir la langue de l'environnement avant de se connecter

Cette possibilité est utile, par exemple, sur une machine dans un environnement multilingue1), éventuellement avec une session sur laquelle il est possible de se connecter sans introduire le mot de passe.
Cependant unity-greeter ne permet pas de sélectionner la langue de l'interface avant de se connecter, contrairement à lightdm-gtk-greeter, installé par défaut avec Xubuntu, et qui donne accès à une liste déroulante permettant le choix de la langue.
Avec Ubuntu, installer le paquet lightdm-gtk-greeter est donc une solution si vous souhaitez pouvoir choisir la langue de l'interface avant d'ouvrir une session.

Pour obtenir l'affichage de la liste des langues, vous devez vérifier que le paramètre « show-language-selector » est bien défini à true. Ouvrez le fichier de configuration /etc/lightdm/lightdm-gtk-greeter.conf avec les droits d'administration et, si besoin, remplacez la ligne suivante (généralement la dernière) :

show-language-selector=false

par celle-ci :

show-language-selector=true

Vous devrez bien entendu ajouter les différentes langues. Ce qui peut se faire avec les paramètres système et l'outil « Prise en charge des langues ».

Changer l'image de fond

Solution 1 - Modifier le fichier de configuration de unity-greeter

La manipulation s’avère relativement simple mais ne doit s’effectuer qu’en toute connaissance de cause car il faut indiquer le chemin de l’image désirée dans le fichier de configuration de unity-greeter.

Ouvrez le fichier /etc/lightdm/unity-greeter.conf avec les droits d’administration pour modifier la ligne n°12 :

background=/usr/share/backgrounds/warty-final-ubuntu.png

/usr/share/backgrounds/warty-final-ubuntu.png sera remplacé par le chemin de votre image.

Par exemple :

background=/home/rusty/Images/wallpaper.png

ici l'image de fond d'écran nommée wallpaper.png se trouve dans le dossier Images du Dossier Personnel de l'utilisateur rusty.

L'usage du tilde (~) ou de la variable d'environnement $HOME en remplacement de /home/rusty ne fonctionne pas car ce fichier est en amont du dossier personnel et impacte l'écran de connexion quelle que soit la session.

Nouveau fond LightDM

Après cette manipulation, fermez votre session et vous pourrez constater que l'image de fond a changé.

Vous pouvez également changer le logo ubuntu en bas à gauche.
Il suffit de modifier la ligne « logo=/le/chemin/du/logo.png » de la même manière que pour le fond.

Solution 2

Notez qu'à partir d'Ubuntu 12.04 et à condition de respecter certaines conditions, l'image de fond affichée par LightDM sera identique au fond d'écran (l'image du bureau) choisi par l'utilisateur qui est sélectionné. Voir la section suivante pour plus d'informations.

Par défaut, l'image d'arrière plan est toujours gérée par unity-greeter mais la configuration de celui-ci ne se fait plus via un fichier de configuration classique. Pour modifier les préférences de unity-greeter, il faut utiliser, au choix, les outils gsettings ou dconf-editor afin de modifier la base de données où est désormais stockée la configuration.

Cette modification doit être réalisée avec l'identité lightdm. Pour pouvoir endosser cette identité, saisissez dans un terminal les commandes suivantes :

sudo xhost +SI:localuser:lightdm
sudo su lightdm -s /bin/bash

Maintenant que vous êtes sous le compte de lightdm, vous pouvez, au choix, changer les préférences avec l'outil en ligne de commande gsettings, ou graphiquement avec dconf-editor.

En ligne de commande avec gsettings
gsettings set com.canonical.unity-greeter background '/chemin/image-de-fond.png'
Avec l'éditeur dconf-editor

Ouvrez dconf-editor, puis naviguer dans l'arbre de clés en suivant le chemin /com/canonical/unity-greeter et changer la valeur de la clé "background".

Solution avec Ubuntu 16.04

Par défaut, l'image d'arrière plan est toujours gérée par unity-greeter mais la configuration de celui-ci ne se fait plus via un fichier de configuration classique. Pour modifier les préférences de unity-greeter, il faut utiliser les lignes de commande :
- Lancer votre Terminal .
- Insérez votre image dans le dossier suivant :

sudo cp ~/Images/votre_image.png /usr/share/backgrounds/

- Donnez les droits 644 à votre image :

sudo chmod 644 /usr/share/backgrounds/votre_image.png

- Ouvrez le fichier CSS de unity-greeter :

sudo gedit /usr/share/glib-2.0/schemas/com.canonical.unity-greeter.gschema.xml

- Modifiez la ligne background comme ci-dessous :

<key name="background" type="s">
      <default>'/usr/share/backgrounds/votre_image'</default>
      <summary>Background file to use, either an image path or a color (e.g. #772953)</summary>
    </key>

- Si vous ne souhaitez plus voir l'arrière-plan utilisateur lors de sa sélection modifiez la ligne comme ci-dessous :

<key name="draw-user-backgrounds" type="b">
      <default>false</default>
      <summary>Whether to draw user backgrounds</summary>

- Enregistrez et Quittez.
- Appliquez les changements avec la commande ci-dessous :

sudo glib-compile-schemas /usr/share/glib-2.0/schemas/

- Testez en redémarrant votre service lightdm :

sudo service lightdm restart

Affichage d'une image de fond différente selon l'utilisateur sélectionné

Par défaut, lorsqu'on change l'utilisateur sélectionné (avant la connexion), le fond d'écran de LightDM peut – dans certaines conditions – changer pour refléter le fond d'écran que l'utilisateur verra s'il se connecte.

Conditions
  1. L'image (le fichier + son chemin d'accès) doit être accessible en lecture (droit : read) par tous (ou au moins par l'utilisateur lightdm).
  2. Ne fonctionne pas pour les fonds d'écrans dynamiques.
  3. Le fond d'écran a dû être changé sous Unity ou Gnome. Ne fonctionne pas avec les autres interfaces (comme LXDE, par exemple).
Notez que ces conditions peuvent être remplies par mégarde. Si ce comportement ne convient pas il est possible de le désactiver, au niveau utilisateur ou bien au niveau administrateur. Par ailleurs, un utilisateur peut temporairement choisir de montrer une autre image que son fond d'écran, cf. Is there a way to shut off showing the user's wallpaper in Lightdm?
Procédure pour utiliser un fond d'écran personnel sans pour autant donner l'accès en lecture à son propre dossier d'images
  1. Mettre l'image dans un autre dossier, accessible en lecture à tous (par exemple dans le dossier personnel ~/ (/home/[utilisateur]/), le dossier ~/Public (/home/[utilisateur]/Public) ou – si on dispose des droits administrateurs – dans /usr/share/backgrounds/2)).
  2. Donner le droit de lecture du fichier à tous.
  3. Depuis les paramètres système, dans l'outil « Apparence », ajouter l'image en cliquant sur le bouton [+] 3). Ensuite vous pouvez changer ses propriétés d'affichage (mosaïque, zoom, etc.), couleur de fond.
Dans LightDM, l'image apparaît toujours en mode d'affichage zoom, quel que soit le réglage sur le bureau.

Suppression du son produit à l'écran d'accueil

C'est l'utilisateur lightdm qui gère l'écran d'accueil (le greeter en anglais) ; il faut donc modifier la configuration de ce compte. Pour pouvoir modifier cette configuration, il faut avoir installé le paquet dconf-editor.

Méthode 1

Tapez dans un terminal :

sudo su -l lightdm -s /bin/bash -c "gsettings set com.canonical.unity-greeter play-ready-sound false"

Méthode 2

Autoriser lightdm à afficher des fenêtres sur son propre écran :

sudo xhost +SI:localuser:lightdm

Se connecter sous lightdm :

sudo su lightdm -s /bin/bash

Lancer l'éditeur de configuration :

dconf-editor

Puis aller dans « com.canonical.unity-greeter » pour décocher le bouton « play-ready-sound ».

Garder l'image de fond de Lightdm et modifier l'image de fond de son bureau

En modifiant le fichier schéma

Modifier le fichier com.canonical.unity-greeter.gschema.xml

Modifier le fichier /usr/share/glib-2.0/schemas/com.canonical.unity-greeter.gschema.xml avec les droits d'administration pour mettre false dans la partie draw-user-backgrounds. Puis appliquer la modification:

sudo glib-compile-schemas /usr/share/glib-2.0/schemas/

Et on peut ainsi garder l'image de fond de l'écran d'accueil de Lightdm et changer l'image de fond de son bureau utilisateur:

Clic droit sur le fond d'écran → Modifier l'arrière-plan du bureau

Voir le détail dans cette discussion: http://forum.ubuntu-fr.org/viewtopic.php?pid=12904841#p12904841

Configuration écran multiple

Dans le cas d'une configuration multiécran, il est possible que lightdm inverse les positions: écran de droite à gauche et inversement.

Une solution est de copier la configuration d'écran de votre session dans celle de lightdm. À condition que la configuration de votre session soit celle souhaitée.

À partir de votre session, lancer la commande suivante dans un terminal:

sudo cp ~/.config/monitors.xml /var/lib/lightdm/.config/

Puis redémarrer votre ordinateur.

Modifier la résolution de LightDM

Il arrive parfois, que vous ayez une résolution non supportée par votre écran, ce qui donne un résultat très désastreux. Pour modifier la résolution de LightDM, nous allons déjà repérer les résolutions supportées, pour se faire veuillez ouvrir un terminal, avec pour contenu :

xrandr

Ce qui nous retournera par exemple :

Screen 0: minimum 320 x 200, current 1360 x 768, maximum 8192 x 8192
->LVDS-1<- connected primary 1360x768+0+0 (normal left inverted right x axis y axis) 277mm x 156mm
   1366x768      60.00 +
   ->1360x768      59.80*   59.96 <- 
   1024x768      60.04    60.00  
   960x720       60.00  
   928x696       60.05  
   896x672       60.01  
   960x600       60.00  
   960x540       59.99  
   800x600       60.00    60.32    56.25  
   840x525       60.01    59.88  
   800x512       60.17  
   700x525       59.98  
   640x512       60.02  
   720x450       59.89  
   640x480       60.00    59.94  
   680x384       59.80    59.96  
   576x432       60.06  
   512x384       60.00  
   400x300       60.32    56.34  
   320x240       60.05  
VGA-1 disconnected (normal left inverted right x axis y axis)
HDMI-1 disconnected (normal left inverted right x axis y axis)
DP-1 disconnected (normal left inverted right x axis y axis)
HDMI-2 disconnected (normal left inverted right x axis y axis)
HDMI-3 disconnected (normal left inverted right x axis y axis)
DP-2 disconnected (normal left inverted right x axis y axis)
DP-3 disconnected (normal left inverted right x axis y axis)

Ici nous retenons le nom de notre périphérique LVDS-1, et pour notre exemple nous allons appliquer la résolution 1360x768.

Veuillez ensuite créer un fichier bash, dans /etc/lightdm/, avec pour nom add-and-set-resolution.sh :

sudo touch /etc/lightdm/add-and-set-resolution.sh

Et y insérer ce contenu :

#!/bin/bash
### Copyright https://selivan.github.io/2017/08/16/lightdm-add-custom-display-resolution.html
set -x
 
output="$1"
x="$2"
y="$3"
freq="$4"
 
if [ $# -ne 4 ]; then
echo "Usage: $0 output x y freq"
echo "To find output name: xrandr -q"
exit 0
fi
 
mode=$( cvt "$x" "$y" "$freq" | grep -v '^#' | cut -d' ' -f3- )
modename="${x}x${y}"
 
xrandr --newmode $modename $mode
xrandr --addmode "$output" "$modename"
xrandr --output "$output" --mode "$modename"
 
# Always return success or lightdm goes into infinite loop
exit 0

Et de le rendre exécutable via :

sudo chmod a+x /etc/lightdm/add-and-set-resolution.sh

Nous devons ensuite éditer le fichier /etc/lightdm/lightdm.conf.d/50-display-setup-script.conf, si il n'existe pas veuillez le créer via :

sudo touch /etc/lightdm/lightdm.conf.d/50-display-setup-script.conf

Avec pour contenu :

Attention, vous devez absolument modifier le nom LVDS-1, ainsi que votre résolution/taux de rafraîchissement via la commande xrandr citée plus haut, par vos valeurs !.
[Seat:*]
display-setup-script=/etc/lightdm/add-and-set-resolution.sh LVDS-1 1360 768 59.80
Cette section contient des informations très avancées
Les paramètres décrits ci-dessous pourraient éventuellement corrompre le fonctionnement du gestionnaire de session LightDM. Elles s'adressent à des utilisateurs avertis connaissant bien LightDM et sachant récupérer leurs sessions en cas de mauvaise manipulation.

La configuration de LightDM est contenue dans les fichiers suivants:

  1. /usr/share/lightdm/lightdm.conf.d/*.conf
  2. /etc/lightdm/lightdm.conf.d/*.conf
  3. /etc/lightdm/lightdm.conf

Tous les fichiers de configuration sont lus dans cet ordre, puis concaténés par LightDM à son lancement pour définir les paramètres qu'il utilisera. L'ordre des fichiers contenus dans ces dossiers est aussi important; les fichiers de configuration sont lus par ordre alphabétique et numérique. Lorsqu'un même paramètre est présent plusieurs fois dans les fichiers de configuration, le dernier paramètre lu est celui utilisé.

Ubuntu fournit des paramètres de base contenus dans les fichiers système sous /usr/share/lightdm/lightdm.conf.d/*.conf. Ces fichiers ne devraient pas être modifiés manuellement, leur contenu pouvant être écrasé lors d'une mise à jour ou d'une mise à niveau de LightDM. Les administrateurs système sont plutôt invités à apporter leurs personnalisations à l'intérieur de fichiers sous /etc/lightdm/lightdm.conf.d/*.conf ou dans un fichier unique /etc/lightdm/lightdm.conf.

Un fichier additionnel, /etc/lightdm/users.conf, est présent mais inutilisé dans Ubuntu. Ce fichier sert à effectuer des paramètres liés à la liste des utilisateurs affichés dans LightDM. Cependant, toute configuration saisie dans ce fichier est ignorée lorsque le service AccountsService est utilisé; c'est le cas dans Ubuntu et ses variantes.

Tableau des paramètres de LightDM

Voici une liste de paramètres pouvant être inscrits dans les fichiers de configuration de LightDM dans l'un ou l'autre des fichiers de configuration se trouvant sous /usr/share/lightdm/lightdm.conf.d/*.conf ou /etc/lightdm/lightdm.conf.d/*.conf. Les sections dans lesquels ces paramètres doivent être passés sont définies par des crochets. La plupart de ces paramètres ne figurent pas dans les fichiers de configuration ; ajoutez-les simplement aux fichiers s'ils sont manquants. Si vous ne précisez pas l'un de ces paramètres, son comportement par défaut est appliqué. S'ils sont présents plusieurs fois dans plusieurs fichiers de configuration, la dernière occurrence est celle qui a la priorité.

Pour voir une liste complète et à jour des paramètres, exécutez la commande suivante dans un terminal :
zless  /usr/share/doc/lightdm/lightdm.conf.gz
[LightDM] Configuration générale Valeur par défaut
start-default-seat= Active les options par défaut (true) ou non (false). true
greeter-user= Utilisateur avec lequel l'écran de connexion est exécuté. lightdm
minimum-number-display=n Premier terminal (tty) à utiliser par les serveurs X 0
minimum-vt=n Premier terminal (tty) à utiliser pour charger des sessions. 7
lock-memory= Empêche (true) ou non (false) l'utilisation de mémoire paginée dans le disque dur pour LightDM true
user-authority-in-system-dir= Autoriser (true) ou non (false) le placement de l'autorité d'affichage dans le répertoire personnel système false
guest-account-script= Script à exécuter pour charger un utilisateur invité guest-account
log-directory= Emplacement du fichier de journal de LightDM. /var/log/lightdm
run-directory= Emplacement de l'état d'exécution de LightDM /var/run/lightdm
cache-directory= Dossier de cache de LightDM. /var/cache/lightdm
sessions-directory= Dossier où chercher les fichiers .desktop de sessions. Plusieurs dossiers peuvent être configurés, séparés par un symbole deux-points /usr/share/xsessions
remote-sessions-directory= Dossier où chercher les fichiers de sessions distantes. Plusieurs dossiers peuvent être configurés, séparés par un symbole deux-points /usr/share/lightdm/remote-sessions
greeters-directory= Répertoire où trouver les différents habillages (greeters) de LightDM. Plusieurs dossiers peuvent être configurés, séparés par un symbole deux-points /usr/share/lightdm/greeters:/usr/share/xgreeters
[SeatDefaults] Paramètres par défaut pour les sessions d'affichage
type= Type de session d'affichage (xlocal, xremote) xlocal
pam-service= Service PAM à utiliser pour la connexion utilisateur lightdm
pam-autologin-service= Service PAM à utiliser pour la connexion automatique lightdm-autologin
xserver-command= Commande du serveur X à exécuter. Peut contenir des paramètres. X
xserver-layout= Agencement à passer au serveur X
xserver-config= Fichier de configuration à passer au serveur X
xserver-allow-tcp= Permettre (true) ou non (false) les connexions TCP/IP vers le serveur X local false
xserver-share= Partage (true) ou non (false) du serveur X entre l'écran de connexion et la session utilisateur true
xserver-hostname= Nom d'hôte du serveur X (uniquement pour type=xremote)
xserver-display-number= Numéro de terminal (tty) pour l'affichage distant (seulement pour type=xremote)
xdmcp-manager= Gestionnaire XDMCP auquel se connecter (implique xserver-allow-tcp=true)
xdmcp-port= Numéro de port UDP/IP pour la communication XDMCP 177
xdmcp-key= Nom de la clé d'authentification à utiliser pour XDM-AUTHENTICATION-1 (tel qu'inscrit dans le fichier keys.conf)
unity-compositor-command= Commande à passer au compositeur Unity (peut contenir des paramètres) unity-system-compositor
unity-compositor-timeout= Temps d'attente (en secondes) avant le déclenchement du compositeur Unity 60
greeter-session= Habillage (greeter) à charger par LightDM. Les greeters possibles doivent se trouver dans l'un des répertoires paramétré avec greeters-directory example-gtk-gnome
greeter-hide-users= Cacher (true) ou afficher (false) la liste des utilisateurs à l'écran de connexion false
greeter-show-manual-login= Afficher (true) ou cacher (false) l'invite de saisie manuelle d'un nom d'utilisateur. false
greeter-show-remote-login= Afficher (true) ou cacher (false) l'invite d'ouverture de session distante true
user-session= Type d'environnement sélectionné par défaut default
allow-user-switching= Permettre (true) ou non (false) le changement d'utilisateur true
allow-guest= Permettre (true) ou non (false) la connexion d'une session invité true
guest-session Environnement à charger pour la session invité. Si non défini, utilise la valeur de user-session
session-wrapper= Script ou programme à exécuter au chargement de la session utilisateur lightdm-session
greeter-wrapper= Script ou programme à exécuter au chargement de l'écran de connexion
guest-wrapper= Script ou programme à exécuter au chargement de la session invité
display-setup-script= Script exécuté au chargement d'un affichage X. Utile, par exemple, pour régler le rétro-éclairage avec xbacklight. (S'exécute en tant que root)
display-stopped-script= Script exécuté au déchargement d'un affichage X. (S'exécute en tant que root)
greeter-setup-script= Script exécuté au chargement de l'écran de connexion. Exemple : greeter-setup-script=/usr/bin/numlockx. (S'exécute en tant que root)
session-setup-script= Script lancé lorsqu'une session utilisateur est ouverte (exécuté par root et positionnement de variables comme USER, HOME et LOGNAME)
session-cleanup-script= Script lancé lors de la fermeture d'une session (exécuté par root et positionnement de variables comme USER, HOME et LOGNAME). Exemple : session-cleanup-script=/usr/share/lightdm/guest-session/guest-session-cleanup.sh
autologin-guest= Activer (true) ou non (false) une connexion automatique dans la session invité false
autologin-user=… Connexion automatique à un compte d'utilisateur (surclasse autologin-guest si paramétré)
autologin-user-timeout= Temps d'attente (en secondes) avant le chargement automatique de la session utilisateur 0
autologin-session= (Pas encore mis en œuvre)
autologin-in-background= Chargement immédiat (false) ou non (true) de la session spécifiée en connexion automatique false
exit-on-failure= Arrête le gestionnaire d'affichage en cas d'erreurs. false
[Seat:0] Paramètres pour une session d'affichage spécifique
Des paramètres spécifiques peuvent être définis pour un affichage. Chaque affichage doit débuter par [Seat:xxxx]. La liste des paramètres est identique à celle de [SeatDefaults]. Si un paramètre n'est pas défini, la valeur provenant de [SeatDefaults] est utilisée.
[XDMCPServer] Pour les usages distants par XDMCP
enabled= Activer (true) ou désactiver (false) l'accès par XDMCP. false
port= Numéro de port UDP/IP d'écoute 177
key= Nom de la clé 56-bit DES hexadécimale pour l'authentification XDM-AUTHENTICATION-1 tel qu'inscrite dans le fichier keys.conf. Si ce n'est pas utilisé, laisser le champ vide ou indiquer -1
[VNCServer] Pour usages distants par VNC
enabled= Activer (true) ou désactiver (false) l'accès par VNC. false
command= FIXME ( Cette option ne semble plus exister, LightDM démarre "Xvnc") Commande pour l'exécution de Xvnc Xvnc
port= Numéro de port TCP/IP d'écoute 5900
width= Largeur de l'affichage d'une session VNC 1024
height= Hauteur de l'affichage d'une session VNC 768
depth= Profondeur des couleurs, en bits, pour une session VNC 8

Paramètres pour users.conf

Le fichier users.conf contient des informations générales à propos des comptes d'utilisateurs à afficher ou cacher. Ce fichier est ignoré si le service AccountsService est utilisé par votre système d'exploitation ; c'est le cas, par défaut, dans Ubuntu et ses variantes. Cette section est présente à titre de référence seulement.

[UserAccounts] Informations générales à propos des comptes d'utilisateurs Valeur par défaut
minimum-uid = n L'ID utilisateur (user id, UID) minimal à partir duquel les comptes d'utilisateurs sont affichés dans la liste de l'écran de connexion. Les comptes dont l'UID est inférieur à n sont automatiquement absents de la liste. 500
hidden-users = utilisateur1 utilisateur2 utilisateur3 … Cacher un ou des utilisateurs de la liste à l'écran de connexion. Chaque identifiant utilisateur doit être séparé par une espace
hidden-shells = … Les utilisateurs ayant comme interpréteur (shell) l'un des interpréteurs listés ici ne sont pas affichés dans la liste de l'écran de connexion. Les interpréteurs doivent être inscrits par leur chemin absolu et séparés par un espace. Exemple : hidden-shells = /bin/false /usr/sbin/nologin

Paramètres pour keys.conf

Ce fichier est un trousseau de clés utilisés pour l'authentification XDM. Il n'est pas utilisé si vous ne faites pas usage de cette fonctionnalité.

[keyring] Informations à propos du trousseau de clés
a = 0x0123456789ABCD Nom de clé d'authentification, suivi de la clé 56-bit DES en notation hexadécimale. Le nom se trouvant avant le signe d'égalité peut être n'importe quel nom.
b = … Une autre clé

Problème de démarrage lightdm

Il peut arriver un problème de démarrage de lightdm qui se traduit par une fenêtre intitulée “The system is running in low-graphics mode". Cela peut-être résolu comme suit : basculer sur une session en ligne de commande par Ctrl-Alt-F5 par exemple (ou F4…) connectez-vous avec vos identifiants puis tapez :

sudo apt-get install --reinstall lightdm 

puis redémarrer avec

sudo reboot 

Lightdm revient toujours à l'écran de connexion

Si en entrant votre mot de passe lightdm revient toujours sur l'écran de connexion, reportez-vous à cette page de la documentation.


1)
Borne d'accès à Internet dans un centre de vacances par exemple. Ou encore « session standard » sur les PC d'un bureau « européen » à Bruxelles qui accueille des collaborateurs de différentes origines linguistiques.
2)
À noter : après qu'une image soit ajoutée manuellement dans /usr/share/backgrounds/ elle n'apparaît pas d'emblée dans la liste des arrière-plans à sélectionner. Il faut pour cela l'ajouter dans l'une des listes xml du dossier /usr/share/gnome-background-properties/ (ou créer une nouvelle liste sur le même format). L'image sera alors accessible pour tous les utilisateurs.
3)
Alternative : ouvrir l'image dans le visionneur d'image, puis clic droit → Définir comme arrière-plan du bureau.
  • lightdm.txt
  • Dernière modification: Le 27/01/2020, 09:53
  • (modification externe)