Scotch Linux arbre1 fly maison ScotchLinux... arbre

La personnalisation

xdm

xdm (X display manager) propose bien des manières d'être personnalisé. Si ce n'est pas forcément visible au premier regard, se connecter à sa session avec quelque chose qui visiblement nous correspond, est sûrement plus agréable?

Comment?

Pour réaliser un xdm personnaliser le fichier principale est (chez moi) /etc/X11/xresources (c'est à dire le nom conventionnel: man xdm, section ressources). Ça peut se changer. Pour savoir si vous en avez un et où il se trouver (ou devrait se trouver) il vous suffit de chercher dans le fichier xdm-setup(man xdm, OVERVIEW, 1er paragraphe).
Vous devriez trouver dans ce fichier une ligne DisplayManager.DISPLAY.resources (ou DisplayManager.*.resources):
"(...)le programme Xsetup, le widget de login et le chooser utilise les ressources de ce fichier(...)"( man xdm, section ressources, partie de DisplayManager.DISPLAY.resources ).

La configuration

Comme vous avez pu le constater la liste des ressources pouvant être utilisé est longue ( plus bas, dans cette man, vous pouvez voir "un exemple raisonnable de fichier de configuration" et un exemple téléchargeable mais à adapter . Heureusement que l'on souhaite juste configurer la partie visuel du login. Nous allons sans plus attendre aller à la partie AUTHENTICATION WIDGET, avant de mettre notre image de fond.

Le widget d'authentification

Le widget d'authentification interroge l'utilisateur pour son identifiant et son mot de passe(...)Toutes les ressources pour ce widget devrait être mise dans le fichier nommé par DisplayManager.DISPLAY.resources.
Et une autre chose importante: "Toutes les options de ce widget on une option par défaut son raisonnable, il n'est pas utile de toutes mettre."

Tout ce qui concerne les options du widget:
xlogin.Login.width, xlogin.Login.height, xlogin.Login.x, xlogin.Login.y:
La taille et la position. La géométrie du widget de login est normalement calculée automatiquement. Si vous voulez le positionner ailleurs, spécifiez toutes ces ressources
xlogin.Login.foreground:
la couleur utilisée quant une entrée est tapé par l'utilisateur
xlogin.Login.face:
(compilé avec le support XFT) "face" utilisée quand une entrée est tapée par l'utilisateur.
xlogin.Login.font:
(non compilé avec le support XFT) "font" utilisée quand une entrée est tapée par l'utilisateur.
xlogin.Login.greeting:
chaîne qui identifie la fenêtre (un petit exemple dans la partie RESOURCES FILE)
xlogin.Login.unsecureGreeting:
(non compris)
xlogin.Login.greetFace, xlogin.Login.greetFont:
comme xlogin.Login.face et xlogin.Login.font, mais s'applique à la chaîne xlogin.Login.greeting
xlogin.Login.greetColor:
la couleur utilisée afficher la chaîne xlogin.Login.greeting
xlogin.Login.namePrompt:
la chaîne vue pour le prompt. (...) pour mettre un espace à la fin du prompt (généralement un bon choix) ajouter un \ devant l'espace
xlogin.Login.passwdPrompt:
comme précédant mais pour le prompt
xlogin.Login.promptFace, xlogin.Login.promptFont, xlogin.Login.promptColor:
comme pour xlogin.Login.greet*
xlogin.Login.changePasswdMessage:
message affiché lorsque le mot de passe de l'utilisateur a expiré
xlogin.Login.fail:
message lorsque l' authentification à raté, quand on utilise pas un système d'authentification comme PAM qui fourni sa propre invite
xlogin.Login.failFace, xlogin.Login.failFont, xlogin.Login.failColor:
(cf xlogin.Login.prompt* )
xlogin.Login.failTimeout:
temps en secondes avant que le login affiche le message raté.
xlogin.Login.logoFileName:
nom d'un fichier XPM à afficher dans la fenêtre principale
xlogin.Login.logoPadding:
nombre de pixels entre le logo et le reste des éléments dans la fenêtre, si l'image est affichée
xlogin.Login.useShape:
si c'est mis à vrais, quand c' est compilé avec les support XPM, xdm tante d'utiliser le "X Non-Rectangular Window Shape Extension" pour la mise en forme de la fenêtre
xlogin.Login.hiColor, xlogin.Login.shdColor:
un aspect de lunette peut-être dessinée autour de la fenêtre principale et la boite de texte (peut permettre une apparence pseudo-3D). HiColor, la couleur mise en évidence, utilisée sur les bord en haut et à gauche de la frame, et bord droit de boite de texte. La shdColor est la couleur de la fenêtre, utilisée utilisé sur les cotés bas et à droite de la frame, et les bords hauts et la gauches de la boite de texte
xlogin.Login.frameWidth:
c'est la largeur en pixels de l'aire autour de la fenêtre principale dessinée en hiColor et shdColor
xlogin.Login.innerFramesWidth:
c'est la hauteur en pixels autour de l'aire de texte dessinée en hiColor et shdColor
xlogin.Login.sepWidth:
C'est la hauteur en pixels de la ligne entre le "greeting" et l'espace d'entrée dessinée en hiColor et shdColor
xlogin.Login.allowRootLogin:
si c'est "false", xdm ne pas autoriser les utilisateur avec l'uid 0 (dont root) de se logger directement.
xlogin.Login.allowNullPasswd:
si c'est "true", xdm autorise un mot de passe qui aurait été faux à être considéré comme bon si le compte ne demande pas de mot de passe.
xlogin.Login.echoPasswd:
si c'est "true", xdm afficher des * pour remplacer les entrés du mots de passe
xlogin.Login.translations:
ça permet de spécifier les traductions utilisée pour le widget. Ce référer à la documentation X Toolkit pour une complète discussion sur ce sujet. (j'ai pas trop compris mais d'après l'exemple ça ressemble à des hotkeys.)

Background

Cette partie peut être bien plus complète, et on l'abordera de la sorte sans que ça soit plus compliquée.
En effet, la configuration de DisplayManager.DISPLAY.setup spécifie le programme démarré entant que root avant de proposé la fenêtre du login...(man xdm, section RESOURCES).
On peut ainsi non seulement poser son fond d'écran, mais aussi prendre des screenshots et bien plus encore( man xdm, section SETUP PROGRAM).

On y va...

Le fichier Xsetup est un simple script bash. Pour changer le fond d'écran, on aura pas besoin de grand chose: xsetbg (xloadimage) et notre background.
Je vous propose mon script comportant même un outil de screenshot en commentaire :):

#/etc/X11/xdm/Xsetup
#!/bin/sh
#
# This script is run as root before showing login widget.

#xsetroot -solid rgb:8/8/8
#scrot -d 15 /home/thomas/xdm.png &
#
/usr/bin/xsetbg -onroot -fullscreen -center /home/thomas/.idesktop/backgrounds/crocodile.jpg

conclusion

Il ne vous reste plus qu'a démarrer votre bureau. Xsession devrait chercher dans $HOME un fichier .xsession ( man xdm, section SESSION PROGRAM ), qui contient les commandes à exécuter pour démarrer la session.

l'éxemple

Ici un exemple utilisant trois backgrounds, xcompmgr et transet-df, et les trucs difficiles qu'on peut voir chez Debian et surement d'autre.

mushxdm-theme.tar