Guide pratique de configuration du gestionnaire de connexion KDM

Version française du KDE GUI Login Configuration HOWTO

John P Meshkoff, II

Adaptation française: Ivan Smets

Relecture de la version française: Guillaume Lelarge

Préparation de la publication de la v.f.: Jean-Philippe Guérard

Version : 1.03.fr.1.0

2004-11-11

Historique des versions
Version 1.03.fr.1.02004-11-11IS, GL, JPG
Adaptation française
Version 1.032003-04-13JPM
mise à jour des notes sur les icônes et des notes sur le manuel de KDE 3.1 (update icon notes and kde 3.1 handbook notes)
Version 1.022002-07-14JPM
mise à jour de kcontrol (kcontrol update)
Version 1.012002-06-10JPM
mise à jour d'un lien (link update)
Version 1.02002-06-07JPM
Ajout d'informations sur kcontrol (Added kcontrol info)
Version 0.032002-05-22JPM
Était le guide pratique du gestionnaire de connexion de KDE (was KDE GUI Login Window Manager HOWTO)
Version 0.022002-05-21JPM
Version 0.012002-04-14JPM

Résumé

Ce document est un guide pratique pour la configuration du gestionnaire de connexion KDM. Il aborde les sujets suivants :

  • ajout d'autres gestionnaires de fenêtres dans le menu déroulant ;

  • activation des icônes de sélection des utilisateurs dans la fenêtre de connexion ;

  • restriction de l'arrêt du système au seul l'utilisateur root.


Table des matières

1. Copyright et notice légale
2. Copyright and legal notice
3. Introduction
4. Ajouter une sélection de nouveaux gestionnaires de fenêtres à une liste déroulante
5. Utiliser les icônes de sélection des utilisateurs dans la boite de dialogue de connexion
6. Restreindre l'arrêt du système à l'utilisateur root
7. Bibliographie

1. Copyright et notice légale

[Important]Important

Le texte ci-dessous est la version française de la licence de ce document. Seule la version originale de cette licence, présentée dans la section suivante, fait foi.

Copyright © 2002 by John Meshkoff

Copyright © 2004 Ivan Smets, Guillaume Lelarge et Jean-Philippe Guérard pour la version française.

Vous êtes libre de copier et distribuer (vente ou don) ce document dans n'importe quel format. Envoyez vos corrections et vos commentaires au mainteneur de ce document. Vous pouvez créer un dérivé et le distribuer sous réserve de respecter les points suivants :

  1. Envoyez le travail dérivé (dans le format le plus adéquat tel que le SGML) au LDP (projet de documentation Linux) ou un équivalent pour mise à disposition sur internet. Si ce n'est pas le LDP, prévenez le LDP de l'endroit où il est disponible.

  2. Enregistrez votre travail avec la même license ou utiliser la GPL. Insérez une déclaration des droits d'utilisation ou au moins un lien vers la license utilisée.

  3. Mentionnez les auteurs précédents et des contributeurs majeurs. Si vous songez à une évolution plutôt qu'une traduction, il est recommandé de discuter de votre projet avec le mainteneur actuel.

2. Copyright and legal notice

[Important]Important

Le texte ci-dessous est la licence de ce document. Ce texte fait foi. Il est composé de la licence en anglais du document orignal, suivi de la licence en français de sa traduction.

Copyright © 2002 by John Meshkoff.

Copyright © 2004 Ivan Smets, Guillaume Lelarge et Jean-Philippe Guérard pour la version française.

Please freely copy and distribute (sell or give away) this document in any format. It's requested that corrections and/or comments be forwarded to the document maintainer. You may create a derivative work and distribute it provided that you:

  1. Send your derivative work (in the most suitable format such as sgml) to the LDP (Linux Documentation Project) or the like for posting on the Internet. If not the LDP, then let the LDP know where it is available.

  2. License the derivative work with this same license or use GPL. Include a copyright notice and at least a pointer to the license used.

  3. Give due credit to previous authors and major contributors.

If you're considering making a derived work other than a translation, it's requested that you discuss your plans with the current maintainer.

3. Introduction

Cette information est basée sur mon installation par défaut d'une Redhat 6.1 dotée de l'environnement KDE. Si vous utilisez une autre distribution ou une autre version de Redhat ou si vous avez effectué une installation diffèrente, alors vous pouvez avoir à faire quelques travaux de « prospection ». Heureusement, ce guide vous donnera ce dont vous avez besoin pour commencer à chercher ! Ce guide pratique est le résultat de ma volonté d'ajouter un autre gestionnaire de fenêtres ou un environnement bureautique au menu déroulant de l'écran de connexion ; des investigations plus poussées ont révélé d'autres options de configuration. J'ai commencé mon propre « travail de détective » quand j'ai trouvé une référence sur une liste Redhat qui mentionnait /etc/inittab et son rôle dans le démarrage du système. Dans /etc/inittab, j'ai trouvé les entrées suivantes, qui définissent comment le système X Window est lancé dans la versions de ma distribution :

# Lancez xdm au niveau d'exécution 5
# xdm est maintenant un service séparé
x:5:respawn:/etc/X11/prefdm -nodaemon

Voici à quoi ressemble prefdm :

#!/bin/sh

PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/X11R6/bin

# Lancez le gestionnaire d'affichage X préféré
preferred=
if [ -f /etc/sysconfig/desktop ]; then
    if grep -q GNOME /etc/sysconfig/desktop 2> /dev/null;
    then
        preferred=gdm
    elif grep -q KDE /etc/sysconfig/desktop 2> /dev/null;
    then
        preferred=kdm
    elif grep -q AnotherLevel /etc/sysconfig/desktop 2> /dev/null; 
    then
        preferred=xdm
    fi
fi

if [ -z ":$preferred" ]; then
    if which gdm >/dev/null 2>&1; then
        preferred=gdm
    elif which kdm >/dev/null 2>&1; then
        preferred=kdm
    elif which xdm >/dev/null 2>&1; then
        preferred=xdm
    fi
fi

if [ -n "$preferred" ] &&
   which $preferred >/dev/null 2 >&1; 
then
    exec `which $preferred` $*
fi
exit 1

Aucun changement n'est nécessaire pour prefdm ; il détermine le gestionnaire d'affichage du système par défaut et lui demande de lancer le l'interface de connexion. Durant la phase de démarrage, prefdm parcourt le fichier /etc/sysconfig/desktop et sélectionne la liste des gestionnaires d'affichage disponibl ; dans le cas de mon installation de Workstation KDE, il s'agit de kdm (KDE Display Manager). Notez que gdm (Gnome Display Manager) n'est pas installé sur mon système ; xdm (X Display Manager) est installé par défaut comme une partie du système X Window et était apparemment utilisé par les versions plus anciennes de Redhat.

4. Ajouter une sélection de nouveaux gestionnaires de fenêtres à une liste déroulante

[Avertissement]Avertissement

Les procédures décrites dans ce guide pratique implique d'apporter des changements aux fichiers de configuration du système ; si vous n'étes pas coutumier de ce type de manipulation, quelques précautions sont nécessaires. Introduire des erreurs dans ce type de fichier peut rendre instable votre système, ou l'arrêter brutalement. Les procédures décrites dans ce guide pratique ont été testées et ne doivent pas causer de problème si elles sont utilisés correctement.

Si vous avez la version 2.2 de KDE ou une version ultérieure et que vous n'êtes pas à l'aise avec l'édition manuel de fichier système, vous pouvez ouvrir une fenêtre de terminal (xterm ou konsole) en tant qu'utilisateur non privilégié et saisir :

su -c 'kcontrol'

Validez avec la touche « Enter ».

Entrer le mot de passe de l'utilisateur root à l'invite de la commande et faites les changements à partir du « KDE Control Center » qui apparaît. Aller par les menus Applications / Login Manager. Choisissez l'onglet de configuration appropriée ; vous pouvez facilement configurer chaque aspect de l'écran de connexion à partir d'ici. Dans les premières versions de KDE, kcontrol peut modifier kdmrc mais ne peut pas modifier Xsession ; jetez un œil aux notes ci-dessous sur les changements de la version KDE 2.2 et ultérieures.

Pour comprendre comment configurer manuellement certains d'entre eux et voir ce que ces fichiers de configuration font, procédez comme suit.

[Note]Note

Précaution : quelques fichiers de configuration ont changés depuis la version de kdm que j'utilise, particuliérement depuis les versions supérieures à la 2.0 :

L'extrait suivant est tiré du FreeBSD Handbook-X11.

« Note: In KDE 2.2 this has changed: kdm now uses its own configuration files. Please see the KDE 2.2 documentation for details. »

[Note]Note

KDE 3.1 a inclus la documentation de kdm, voir Le manuel de kdm

La plupart du contenu dans ce nouveau manuel s'applique aux anciennes versions ; les nouvelles caractéristiques y sont aussi décrites.

Si vous voulez éditer les fichiers de configuration ou juste comprendre leur fonctionnement, consultez la documentation de votre version.

N'utilisez pas de traitement de texte pour éditer les fichiers de configuration systèmes ; de tels programmes introduisent des caractères de formatage spéciaux qui corrompent les fichiers. Utiliser un éditeur de texte, et plus particuliérement un qui peut manipuler de longues lignes sans introduire de retour chariot supplémentaire dans le code existant. Les éditeurs appropriés sont vim (vi improved), vi et emacs. Il en existe d'autres mais ils sont habituellement installé par défaut dans les installations de station de travail Linux ; ils ont chacun des caractéristiques qui les rendent particulièrement adéquat pour écrire et éditer du code informatique. Jetez un œil à la section bibliographie à la fin de ce guide pratique pour plus d'informations.

[Avertissement]Avertissement

Avant de faire la moindre modification des fichiers de configuration système, vous devez faire des copies de sauvegarde des originaux, de façon à pouvoir les restaurer en cas d'erreur critique !

Les fichiers qui vont être modifiés ici sont /usr/share/config/kdmrc, fichier où nous ajoutons les labels de sélection à la liste déroulante sur l'écran de connexion, et /etc/X11/xdm/Xsession, fichier où nous ajoutons le chemin des exécutables pour nos labels (si vous utilisez une distribution différente, les chemins menant à ces fichiers peuvent être différent) ; Saisissez juste locate kdmrc et locate Xsession dans un shell [c'est-à-dire dans un émulateur de terminal tel qu'un xterm ou la konsole de KDE pour les trouver).

La ligne par défaut à changer dans kdmrc ressemble à ceci :

SessionTypes=kde;gnome;anotherlevel;default;failsafe;

Après avoir ajouter des labels de sélection pour deux nouveaux gestionnaires de fenêtre, windowmaker et blackbox, la ligne ressemble à ceci :

SessionTypes=kde;gnome;windowmaker;blackbox;anotherlevel;default;failsafe;

Notez l'ordre dans lequel j'ai ajouté les labels des nouveaux gestionnaires de fenêtres ; tous les enregistrements apparaîtront dans la liste déroulante dans le même ordre qu'ils apparaissent dans la liste « SessionTypes ». Ensuite, il faut ajouter les mêmes entrées dans le fichier /etc/X11/xdm/Xsession. Voici à quoi ressemble la section appropriée de Xsession avant d'ajouter de nouvelles entrées :

# maintenant, nous savons si xdm/gdm/kdm a demandé un
# environnement spécifique
#
case $# in
1)
case $1 in
failsafe)
	exec xterm -geometry 80x24-0-0
	;;
gnome)
	exec gnome-session
	;;
kde)
	exec startkde
	;;
anotherlevel)
	# we assume that switchdesk is installed.
	exec /usr/share/apps/switchdesk/Xclients.anotherlevel
	;;
esac
esac

Voici à quoi ressemble cette section du fichier Xsession après avoir ajouté les nouvelles entrées (notez que les étiquettes de sélection doivent être exactement les mêmes que dans Xsession et prefdm, c'est-à-dire que la syntaxe et la casse doivent être identique) :

# maintenant, nous savons si xdm/gdm/kdm a demandé un
# environnement spécifique
#
case $# in
  1) case $1 in
       failsafe)
           exec xterm -geometry 80x24-0-0
           ;;
       gnome)
           exec gnome-session
           ;;
       kde)
           exec startkde
           ;;
       windowmaker)
           exec wmaker
           ;;
       blackbox)
           exec blackbox
           ;;
       anotherlevel)
           # we assume that switchdesk is installed.
           exec /usr/share/apps/switchdesk/Xclients.anotherlevel
           ;;
     esac
esac

Notez que quand les exécutables sont installés dans un des chemins indiqués ci-dessous, seul le nom des exécutables est requis après « exec » ; sinon le chemin absolu doit être inclus comme indiqué dans « Xclients.anotherlevel » (ci-dessus) :

  • /usr/bin/

  • /usr/local/bin/

  • /usr/X11R6/bin/

  • /usr/bin/X11/

Ces exemples doivent être suffisants pour que vous puissiez ajouter votre gestionnaire de fenêtres favori au gestionnaire de connexion graphique de KDE, ou tout au moins, vous donnez un point de départ pour trouver comment l'adapter a votre installation.

5. Utiliser les icônes de sélection des utilisateurs dans la boite de dialogue de connexion

Avec la Redhat 6.1, la fenêtre de connexion par défaut de KDE affiche une boite de dialogue avec un champ de saisie pour le nom de l'utilisateur, un autre champ pour le mot de passe et un menu déroulant pour sélectionner le gestionnaire de fenêtres de votre choix. En effectuant les changements suivants dans le fichier /usr/share/config/kdmrc, les icônes des utilisateurs apparaitront dans le haut de la fenêtre de connexion. Voilà à quoi ressemblent les lignes par défaut qui contrôle l'aspect des icônes des utilisateurs dans le fichier kdmrc (les autres lignes sont représentés par « ... ») :

#Users=root;johndoe
...
UserView=false

Voici les mêmes lignes après édition  effacez les caractères de commentaires (#) devant « Users=... » et remplacez « john doe » par votre nom d'utilisateur (s'il y a plusieurs comptes utilisateurs sur votre système, vous devez ajouter leurs nom d'utilisateur à cet endroit en les séparant d'un point virgule comme indiqué). Changez « UserView=false » par « UserView=true » comme indiqué ci-dessous :

Users=root;johnpipe
...
UserView=true

Maintenant, lorsque vous vous connectez, vous devez cliquer sur une icône avec la souris pour sélectionner l'utilisateur ; vous devez toujours saisir votre mot de passe.

Vous pouvez remplacez les icônes par défaut par vos propres icônes ; placez vos propres icônes dans le répertoire /usr/share/apps/kdm/pics/users/. Elles doivent avoir une taille de 64 pixels sur 64, en conformité avec le manuel de KDM. Dans KDE 1.x, les icônes par défaut sont en 62 par 63, et ma nouvelle icône est en 60 par 60, aussi si les tailles d'icônes sont relativement proche de la taille 64 par 64, elles seront acceptées. Le manuel dit que « kdm est capable de supporter des icônes de différentes tailles mais le rendu sera médiocre. », aussi il y a quelques dérives évidentes ici. Vos icônes doivent être nommées « username.xpm ». Par exemple mon nom d'utilisateur est « johnpipe » et ma nouvelle icône se nomme « johnpipe.xpm ».

[Note]Note

Depuis KDE 1.x, le format des icônes est passée du .xpm (XPixMap) à .png (portable network graphic).

6. Restreindre l'arrêt du système à l'utilisateur root

Par défaut, le bouton d'arrêt sur l'écran de connexion permet à n'importe qui de l'utiliser pour arrêter le système. La section du fichier /usr/share/config/kdmrc contrôlant les droits d'utilisant de ce bouton ressemble à ceci :

#ShutdownButton=RootOnly
ShutdownButton=ConsoleOnly

Pour permettre uniquement à l'utilisateur root d'arrêter le système, vous devez modifier la ligne comme indiqué ci-dessous :

ShutdownButton=RootOnly
#ShutdownButton=ConsoleOnly

Cliquer sur le bouton d'arrêt vous demandra maintenant de saisir le mot de passe de l'utilisateur root avant de lancer l'arrêt du système.

7. Bibliographie

Vous trouverez de nombreux autres guides pratiques (en anglais) sur le site du Projet de documentations Linux (LDP).

De nombreux guides pratiques sont d'ores et déjà disponibles en français sur le site du projet Traduc.org.

Lectures recommandées :

En fonction de votre distribution Linux et de sa version, vous devez déjà avoir les guides pratiques précédents installés sur votre système. S'ils ne le sont pas, vous devez les avoir sur votre CDROM d'installation.