Ceci est une ancienne révision du document !
Breezy Badger
GDM, l’écran de connexion d’Ubuntu
L’écran de connexion vous permet de vous connecter à un compte d’utilisateur sur votre système d’exploitation.
Ubuntu (comme les autres systèmes GNU/Linux) est un système d’exploitation multi-utilisateurs, c’est-à-dire qu’il peut être utilisé par plusieurs personnes. Chacune de ces personnes peut disposer de son propre compte d’utilisateur sur votre ordinateur, ce qui aura pour avantage que chacune pourra avoir son propre dossier personnel (innaccessible aux autres utilisateurs), son propre bureau, ses propres réglages… sans affecter les choix des autres utilisateurs de votre ordinateur. Durant la procédure d’installation, un premier compte d’utilisateur a été créé ; vous pouvez en créer d’autres à l’aide de l’outil de gestion de comptes d’utilisateurs.
Dans le but de vous permettre de choisir sur quel compte d’utilisateur vous connecter, au chargement de votre ordinateur, Ubuntu vous propose un écran de connexion, nommé GDM, vous permettant de préciser le nom de votre compte utilisateur, ainsi que quelques autres options avancées, comme le choix de votre interface graphique préférée (si plusieurs ont été installées).
Note: GNOME Display Manager (GDM) est l’écran de connexion installé par défaut avec Ubuntu, Edubuntu et Xubuntu. Les utilisateurs de Kubuntu devraient plutôt s’informer au sujet de KDE Display Manager (KDM).
L’interface de GDM
Par défaut, l’interface de l’écran de connexion est simple et minimaliste. Elle contient un champ de connexion et quelques boutons, vous permettant d’effectuer les opérations de connexion à vos comptes d’utilisateurs.
Le champ Identifiant est sans doute l’objet le plus important de cette interface. Il vous permet de préciser le nom du compte utilisateur sur lequel vous connecter. Une fois ce nom entré, appuyez sur la touche [Entrée] de votre clavier pour valider ce choix. Le champ se modifie et devient Mot de passe, dans lequel vous devrez fournir le mot de passe du compte utilisateur sur lequel vous souhaitez vous connecter.
Juste au-dessous se trouvent deux boutons, que l’utilisateur moyen utilisera peu fréquemment. Le premier, Langue, vous permet de choisir une autre langue d’affichage que celle configurée par défaut dans Ubuntu (si plusieurs paquets de langues sont installés). Le second bouton, Session, vous permet de sélectionner un environnement graphique sur lequel vous connecter (si plus d’un est installé).
Au bas de l’écran, à gauche, sont présents deux boutons vous permettant d’Arrêter ou de Redémarrer votre ordinateur. Enfin, à droite, le nom de votre machine et la date et l’heure actuelle sont indiqués.
Personnaliser son écran de connexion
Si vous voulez adapter cet écran de connexion à votre goût, il existe un outil à cet effet : gdmsetup
. Il peut être lancé à partir du raccourci Configuration de l’écran de connexion présent dans le menu Système ⇒ Administration. Pour pouvoir l’utiliser, vous devez disposer des droits d’administration.
Les deux onglets qui vous intéresseront le plus sont certainement Général et Bannière avec thème.
Onglet « Général »
L’onglet « Général » vous permet de configurer certaines options intéressantes. La première concerne la possibilité de connecter automatiquement un utilisateur à Ubuntu lors du chargement du système d’exploitation. Si vous êtes le seul utilisateur de votre ordinateur ou l’utilisateur principal (ou, plus généralement, si vous n’avez qu’un seul compte d’utilisateur configuré), vous voudrez peut-être sauter l’étape de la connexion à un compte. Cochez alors la case Connecter automatiquement un utilisateur au premier démarrage et spécifiez quel compte connecter automatiquement.
Une autre possibilité est plutôt de connecter automatiquement un utilisateur après un certain temps d’attente. Pour préférer cette méthode de connexion, cochez la case Connecter un utilisateur automatiquement après un nombre défini de secondes et spécifiez l’utilisateur à connecter automatiquement et le temps d’attente (en seconde).
Onglet « Bannière avec thème »
Dans l’onglet Bannière avec thème, vous pouvez changer l’apparence de l’écran de connexion. Par défaut, quelques thèmes sont déjà inclus avec Ubuntu. Quelques thèmes supplémentaires aussi disponibles par Synaptic ; cherchez gdm-themes
. Dans Internet, quelques ressources peuvent être consultées :
- Gnome Art, dans la section Login Manager
- Gnome-Look, dans la rubrique GDM Themes
- Ubuntu Art, dans la section Login Manager
Les thèmes téléchargés sont sous formes d’archives. Pour les installer, cliquez simplement sur le bouton Installer un nouveau thème et sélectionnez le fichier d’archive. Le thème est automatiquement installé et immédiatement disponible pour que vous le choisissiez.
Autres onglets
Les autres onglets de l’outil gdmsetup
ne seront que vaguement présentées ici pour votre culture personnelle. En fait, les options qu’ils contiennent ne devraient être réellement modifiées que si vous savez ce que vous faites.
- Bannière GTK+ vous permet d’afficher un écran de connexion minimal, sans thème.
- Sécurité ne sert qu’à configurer des options de protection lors du lancement de votre session.
- Serveur X gère des options du serveur graphique.
- Accessibilité gère des options de son et d’accessibilité.
- XDMCP gère les connexions à distance à votre ordinateur.
- Identifiants configure quels utilisateurs sont disposés à se connecter à leur compte d’utilisateur à l’aide de l’écran de connexion.
Bonus
Il est possible de retirer le besoin de tapper le mot de passe à l'écran de login pour un ou plusieurs utilisateurs. La procédure se fait comme suit.
1. Ajouter une ligne à /etc/pam.d/gdm
Ajoutez la ligne ci-dessous, juste avant les lignes commençant par @include
:
auth sufficient pam_listfile.so item=user sense=allow file=/etc/X11/gdm/nopassusers.txt onerr=fail
2. Créer un fichier nopassusers.txt dans /etc/X11/gdm/ Dans ce fichier, mettez le nom des utilisateurs dispensés de tapper leur mot de passe, chacun sur une ligne.
Personnaliser son thème
De nombreux thèmes sont déjà disponibles sur les sites cités ci-dessus, mais il se peut que vous ayiez envie de vous lancer dans la création (ou la modification) d'un thème pour GDM.
Localisation du thème
Les thèmes de gdm sont stockés dans le dossier "/usr/share/gdm/themes/". Chaque thème contient un fichier "GdmGreeterTheme.desktop" et un fichier ".xml" au minimum. Le dossier du thème contient également les images utilisées, celles-ci sont appelées dans le fichier xml. En général il y a un fond (background), un écran de login (login) et une capture d'écran (screenshot). Il n'y a pas vraiment de règles pour le nommage de ces fichiers, mais les noms mis entre parathèses sont les plus courants.
Note: Les images peuvent être au format svg, nous verrons plus loin l'influence de l'extension de l'image sur la balise associée dans le fichier xml.
Composants du thème
Le fichier GdmGreeterTheme.desktop contient les informations sur le thème.
Exemple de fichier GdmGreeterTheme.desktop:
[GdmGreeterTheme] Encoding=UTF-8 Greeter=ubuntu-fr.xml Name=Ubuntu-fr Description=Ubuntu-fr's Gdm theme Author=Ubuntu-fr's community Copyright=GPL Ubuntu-fr.org Screenshot=screenshot.png
- Encoding correspond à l'encodage de votre fichier xml.
- Greeter correspond au fichier xml qu'utilisera Gdm (le greeter c'est Gdm).
- Name, Description, Author et Copyright sont les informations sur votre thème
Les informations sont affichées dans "gdmsetup".
Remarque importante: Il est possible de localiser les paramètres, c'est utile si vous prévoyez de rendre public votre thème et que vous vous souciez de l'internationalisation de celui-ci. Il est de bon ton de rendre disponible un maximum de traductions. Pour voir la liste complète des traductions courantes, regardez un des fichiers .desktop dans votre répertoire de thème gdm.
Par exemple, en modifiant le fichier xml précédent:
[GdmGreeterTheme] Encoding=UTF-8 Greeter=ubuntu-fr.xml Name=Ubuntu-fr Name[fr]=Ubuntu-fr Description=Ubuntu-fr's Gdm theme Description[fr]=Le thème Gdm d'Ubuntu-fr Author=Ubuntu-fr's community Author[fr]=La communauté Ubuntu-fr Copyright=GPL Ubuntu-fr.org Copyright[fr]=GPL Ubuntu-fr.org Screenshot=screenshot.png
Le fichier xml contient des balises standards (assez peu pratiques) correspondant aux différents éléments de l'écran de login. Cet article sera complété afin de détailler chacune des balises disponibles.
Le minimum vital tient dans un mouchoir de poche, sachez ne pas vous limiter à ce minimum
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE greeter SYSTEM "greeter.dtd"> <greeter> <!-- éléments à afficher --> </greeter>
Dans l'absolu, cette présentation (à compléter avec les éléments à afficher bien entendu) est suffisante. Cependant, il existe des normes qui permettent de faire un fichier xml propre, clair et réutilisable.
- Indenter le code!
- Faire des sections précises en utilisant les commentaires
- Minimiser le nombre de balises utilisées
Pour indenter : il suffit d'ajouter un espacement (1/2/3/4 espaces ou une tabulation) après chaque ouverture de balise et d'enlever un espacement équivalent après chaque fermeture de balise.
Pour commenter : on utilise "<!–" pour ouvrir le commentaire et "–>" pour le fermer. Les sections courantes (données dans un ordre quelconque) sont :
- Background (l'image en fond d'écran)
- Login (l'image de l'écran de login)
- Clock (l'horloge)
- Login (le contenu de l'écran de login : Bienvenue,Labels et champs de saisie)
- Options (les options permettant de choisir la langue, la session, etc)
- Erreurs (verr.maj activé, erreur de login ou mot de passe, etc)
Ces sections sont données à titre indicatif. L'essentiel est que vous délimitiez vos sections précisément.
Voyons enfin quelques exemples de contenu pour vous aider à comprendre et à façonner votre fichier xml.
La taille et le positionnement
<!-- background --> <item type="pixmap"> <normal file="background.png"/> <pos y="0" x="0" width="100%" height="100%"/> </item>
Le type "pixmap" est utilisé pour les images au format png,jpg,jpeg.
<!-- background --> <item type="svg"> <normal file="background.svg"/> <pos x="50%" y="0" width="100%" height="-75"/> </item>
Le type "svg" est utilisé pour les images au format svg (image vectorielle).
Notez les différentes façon de spécifier la position et la hauteur : en valeur absolue ou en pourcentage (il en existe bien d'autres, surement trop d'ailleurs). Le pourcentage permet une adaptabilité à différentes résolutions. En effet, le pourcentage est fonction de la taille ou de la position de l'élément englobant. Dans le cas du fond d'écran, 100% correspond à "occupe toute la place disponible sur l'écran".
La réaction au survol et au clic
Cette exemple est compliqué (mais complet), n'hésitez pas à faire des aller/retour entre le code la description (située en-dessous du code). L'essentiel est de saisir la notion de réactivité d'un élément.
<!-- options --> <item type="rect" id="options_button" button="true"> <pos y="50%" width="box" height="box" anchor="w"/> <box xpadding="0" spacing="2" orientation="horizontal"> <item type="pixmap"> <normal file="icon-session.png"/> <prelight file="icon-session-prelight.png"/> <active file="icon-session-active.png"/> </item> <item type="label"> <normal font="Bitstream Vera Sans 11" color="#ffffff"/> <prelight font="Bitstream Vera Sans 11" color="#ff9c36"/> <active font="Bitstream Vera Sans 11" color="#dc292b"/> <pos y="50%" anchor="w"/> <stock type="options"/> </item> </box> </item>
Premièrement, l'id d'un élément correspond à un code prédéfini et reconnu par Gdm. Dans une prochaine révision de cet article, les différents id seront présentés. Ensuite, le placement est réalisé de façon un peu "fouilli". Malheureusement c'est souvent le cas. On voit un florilège d'attributs (anchor, spacing, xpadding, orientation, x) aux valeurs tout aussi diverses. Passons ces remarques, l'intérêt de cet exemple est le triplet de balises correspondant à l'état de l'élément :
- <normal /> : "au repos"
- <prelight /> : survol de la souris
- <active /> : clic de souris
Dans ces trois état, on peut spécifier la taille et le type de la police (font="") et sa couleur (color="#") ou alors l'image à afficher. La couleur est donnée en hexadécimal, voir ce lien : http://fr.wikipedia.org/wiki/Aide:Couleurs/table_détaillée
Article à compléter : Publication d'un thème sous la forme d'une archive installable Screenshots détaillés Description exacte de chacune des balises Corrections/améliorations Déplacement du contenu vers /applications/personnalisation/gdm