GDM : personnaliser le thème

Un article de Wiki de la communauté Mandriva.

Jump to: navigation, search

Sommaire

[modifier] Pourquoi personnaliser l'écran de connexion ?

Simplement pour améliorer l'accueil que réserve le PC. Et aussi rendre plus conviviale l'opération répétitive consistant à lui dire « je suis bien l'utilisateur X et je le prouve avec mon mot de passe », surtout quand on est plusieurs à se partager l'ordinateur. Le choix dans une liste est plus agréable ! Il est aussi moins sécurisé : il faut bien s'assurer que tous les comptes ont un mot de passe pour éviter que n'importe qui s'asseyant devant le PC puisse y accéder.

[modifier] Pourquoi GDM ?

Pourquoi pas ? GDM est facilement paramétrable, accepte les thèmes, est compatible avec tous les bureaux... et a l'avantage sur KDM de ne pas afficher pour chaque utilisateur son nom complet + son nom de connexion.

[modifier] Comment faire ?

Le plus simple est de modifier un thème existant, après avoir compris comment il est structuré. Nous allons partir du thème Avio, qui permet d'avoir un écran de connexion avec « navigateur de figures » et des effets de transparence.

[modifier] Quelques explications préalables

GDM se paramètre avec le programme gdmsetup (en mode administrateur) dont le 2ème onglet permet de gérer les thèmes (choix, ajout, suppression).

  • KDE : Menu K > Système > Configuration > amorçage et initialisation > Fenêtre de connexion
  • GNOME : Système > Préférences > Fenêtre de connexion

Le contenu et la procédure d'installation d'un thème sont toujours les mêmes :

  • Les fichiers de thèmes sont de type .tar ou .tar.gz
  • Ajout d'un nouveau thème dans la liste : bouton « + », sélection d'un fichier .tar.gz, puis gdmsetup décompresse le fichier dans le répertoire /usr/share/gdm/themes/.
  • Lorsque GDM s'exécute et doit afficher un thème, il ouvre le répertoire correspondant, lit le fichier GdmGreeterTheme.desktop qui lui indique quel fichier .xml va décrire l'écran.
  • Ce fichier .xml obéit à une grammaire décrite dans /usr/share/doc/gdm-2.18.0/greeter.dtd

Les images des utilisateurs sont des fichiers de 52x52 pixels que drakuser place dans /usr/share/faces, sous la forme <nom de connexion>.png. Cependant, ces images seront remplacées par ~utilisateur/.face si celui-ci existe. Dans GNOME, la photo peut être configurée en utilisant l'utilitaire Système > Préférences > À propos de moi et en cliquant sur le bouton à côté du nom.

[modifier] Etapes de la personnalisation

  1. installer GDM et le thème Avio : urpmi gdm gdm-more-themes
  2. choisir GDM comme programme de connexion, en lançant Image:drakedm-icon.png drakedm[1]
  3. se faire un atelier pour pouvoir travailler sur le thème : mkdir -p ~/atelier-gdm
  4. y copier les fichiers d'Avio : cp -r /usr/share/gdm/themes/Avio-GDM/ ~/atelier-gdm/

Jetons un petit coup d'œil au contenu de ce nouveau répertoire. Les fichiers à modifier sont :

  • background.jpg : pour le remplacer par le fond d'écran souhaité
  • screenshot.png : le remplacer par l'aperçu que vous souhaitez voir apparaître lors de la sélection dans gdmsetup
  • GdmGreeterTheme.desktop : pour changer le nom du thème, sa description, éventuellement le nom de l'aperçu et celui du fichier .xml
  • AvioGDM.xml : le renommer pour faire propre. Le récrire complètement pour les as de l'XML.

Une fois ces modifications effectuées, renommer le répertoire, le compacter au format .tar ou .tar.gz, et installer le thème avec l'aide de gdmsetup.

Au prochain redémarrage vous pourrez admirer votre écran d'accueil personnel !

(PapaJaac 1 septembre 2007 à 09:55 (CEST))


  1. Lorsque vous choisissez gdm à l'aide de drakedm, celui-ci crée - s'il n'existait pas - un fichier /etc/sysconfig/desktop et y écrit une ligne :
    DISPLAYMANAGER=GNOME
    Si vous revenez à kdm à l'aide de drakedm, celui-ci remplace la ligne précédente par :
    DISPLAYMANAGER=KDM
    Par conséquent, en cas - peu probable, mais qui sait ? - d'incident, il vous sera toujours possible de revenir à kdm en écrivant la ligne appropriée dans le fichier, « à la main », en console. Ceci vous donne donc une agréable sécurité...