Bureau CDE Guide de l'administrateur

Chapitre 1 Configuration du Gestionnaire de connexion

Le Gestionnaire de connexion est le serveur qui permet l'affichage de l'écran de connexion, l'identification des utilisateurs et le lancement des sessions. Sur les écrans graphiques, la fenêtre de connexion représente une variante plus conviviale de la connexion habituelle en mode caractère. Les écrans gérés par le serveur de connexion peuvent être soit connectés directement à ce dernier, soit à un terminal X ou à une station de travail du réseau.


Remarque :

Seul l'utilisateur root peut lancer, arrêter ou personnaliser le serveur de connexion.


Le serveur de connexion peut effectuer les opérations suivantes :

Les écrans gérés par le Gestionnaire de connexion peuvent être connectés soit directement au serveur sur lequel il s'exécute, soit à un terminal X ou à une station de travail du réseau. Sur les écrans locaux, le serveur de connexion lance automatiquement un serveur X et affiche une fenêtre de connexion. Dans le cas des écrans éloignés, tels que les terminaux X, il prend en charge le protocole XDMCP (X Display Manager Protocol), version 1.0, qui permet aux écrans de demander l'affichage de la fenêtre de connexion.

Lancement du serveur de connexion

Généralement, le serveur de connexion est lancé à l'amorçage du système. Vous pouvez cependant le lancer à partir de la ligne de commande.

Pour plus d'informations sur l'utilitaire de configuration du bureau dtconfig, voir Annexe A. Vous y trouverez un exemplaire de la page man dtconfig.1.


Remarque :

Il est conseillé de n'utiliser le lancement à partir de la ligne de commande qu'à des fins de test de la configuration. En mode de fonctionnement normal, choisissez le lancement à l'amorçage.


Gestion des écrans locaux et éloignés

La Figure 1-1 montre un exemple de configuration du serveur de connexion.

Figure 1-1 Configuration possible d'un serveur de connexion

Graphic

Recherche de l'ID processus du serveur de connexion

Par défaut, l'ID processus du serveur de connexion est stocké dans le fichier /var/dt/Xpid.

Pour modifier son emplacement, utilisez la ressource Dtlogin.pidFile du fichier Xconfig. S'il est modifié, le répertoire spécifié doit exister au lancement du serveur de connexion.

Pour éditer le fichier Xconfig, copiez-le de /usr/dt/config vers /etc/dt/config. Une fois la modification effectuée dans /etc/dt/config/Xconfig, entrez la commande suivante pour que le serveur de connexion relise Xconfig :

/usr/dt/bin/dtconfig -reset

Cette opération lance la commande kill -HUP ID_processus_serveur_connexion.

Par exemple, pour placer l'ID processus du serveur de connexion dans /var/myservers/Dtpid, définissez le paramètre suivant dans le fichier Xconfig :

Dtlogin.pidFile: /var/myservers/Dtpid

Au prochain lancement du serveur de connexion, son ID processus sera placé dans /var/myservers/Dtpid. Le répertoire /var/mes_serveurs doit exister lors du redémarrage du serveur de connexion.

Affichage d'une fenêtre de connexion sur un écran local

Au lancement, le serveur de connexion vérifie dans le fichier Xservers si un serveur X doit être lancé localement. Il détermine également le nombre et le type des fenêtres de connexion à afficher sur des écrans locaux ou éloignés.

Pour modifier le fichier Xservers, copiez-le de /usr/dt/config vers /etc/dt/config. Une fois la modification effectuée dans /etc/dt/config/Xservers, entrez la commande suivante pour que le serveur de connexion relise Xservers :

/usr/dt/bin/dtconfig -reset

Cette opération lance la commande kill -HUP ID_processus_serveur_connexion

Le format des lignes du fichier Xservers est le suivant :

nom_écran classe_écran type_écran commande_serveur_X 

nom_écran--Indique au serveur de connexion le nom à utiliser lors de l'accès au serveur X (dans l'exemple ci-dessous, :0). Si vous entrez un astérisque (*), la valeur nom_hôte:0 est prise en compte. Le numéro indiqué doit correspondre au numéro de connexion de commande_serveur_X.

classe_écran--Identifie les ressources spécifiques de l'écran (Local dans l'exemple qui suit).

type_écran--Indique au serveur de connexion si l'écran est local ou éloigné et définit le mode de traitement de l'option Connexion à partir de la ligne de commande de l'écran de connexion (local@console dans l'exemple ci-dessous).

commande_serveur_X--Définit la ligne de commande, le numéro de connexion et les autres options utilisées par le serveur de connexion pour le lancement du serveur X (/usr/bin/X11/X: 0 dans l'exemple ci-dessous). Le numéro de connexion indiqué doit correspondre au numéro spécifié dans nom_écran.

La ligne Xservers par défaut a le format suivant :

:0 Local local@console /usr/bin/X11/X :0 

Lancement du serveur de connexion sans écran local

Si le système sur lequel s'exécute le serveur de connexion ne dispose pas d'un écran graphique, lancez le serveur de connexion sans écran local. Pour ce faire, mettez en commentaire la ligne du fichier Xservers associée à l'écran local, en la faisant précéder du signe dièse (#). Par exemple :

# :0 Local local@console /usr/bin/X11/X :0

Une fois lancé, le serveur de connexion s'exécute en arrière-plan, attendant les requêtes émises par les écrans du réseau.

Connexion à partir de la ligne de commande sur un écran local

Lorsque l'utilisateur sélectionne "Connexion à partir de la ligne de commande" dans l'écran de connexion, le serveur de connexion arrête provisoirement le serveur X, permettant l'accès à la connexion traditionnelle à partir de la ligne de commande en cours sur l'écran en mode point. Après que l'utilisateur se soit connecté puis déconnecté, ou après un délai donné, le serveur de connexion redémarrera le serveur X.


Remarque :

L'option "Connexion à partir de la ligne de commande" n'est pas disponible sur les écrans en réseau.


Le paramètre type_écran contrôle le comportement de la connexion à partir de la ligne de commande. Le format de type_écran est le suivant :

Lorsque local@écran est indiqué, le serveur de connexion considère que le serveur X et /dev/écran résident sur la même unité physique, sur laquelle une connexion à partir de la ligne de commande (généralement, getty) s'exécute. Lorsque l'utilisateur sélectionne Connexion à partir de la ligne de commande, le serveur X est arrêté, ce qui autorise l'accès à la procédure de connexion à partir de la ligne de commande (getty) en cours sur /dev/écran.

Pour désactiver l'option de connexion à partir de la ligne de commande sur un écran, indiquez la valeur none pour écran. La valeur par défaut de écran est console. Si vous indiquez local, la valeur par défaut devient console. Si vous indiquez foreign, l'option de connexion à partir de la ligne de commande est désactivée.


Remarque :

La désactivation sera effective sur l'écran local au prochain lancement du serveur de connexion à partir de la ligne de commande.


Prise en charge d'une console à caractères

Si le système sur lequel s'exécute le serveur de connexion dispose d'une console de type terminal à caractères, connectée directement au système, vous pouvez également attribuer la valeur none au paramètre écran pour désactiver la connexion à partir de la ligne de commande sur l'écran graphique.

Si une connexion à partir de la ligne de commande (getty) est en cours à la fois sur le terminal à caractères (utilisé comme console) et sur l'écran graphique, vous pouvez attribuer à écran la valeur correspondant au terminal à caractères utilisé comme console, pour l'associer à l'écran graphique lors de la connexion à partir de la ligne de commande (getty).

Par exemple, si la connexion à partir de la ligne de commande (getty) est en cours sur l'écran /dev/tty01, attribuez la valeur local@tty01 à type_écran.

Affichage d'un écran de connexion sur un écran du réseau

Le serveur de connexion peut afficher un écran de connexion sur tout écran du réseau (terminal X ou station de travail) qui en fait la demande.

Pour gérer ce type de requête, le serveur de connexion utilise le protocole XDMCP (X Display Manager Protocol) version 1.0, qui lui permet d'analyser les demandes, puis de les accepter ou de les rejeter. Sur la plupart des terminaux X, ce protocole est installé en standard.

Requêtes XDMCP directes

Lorsque vous configurez un terminal X pour qu'il utilise XDMCP en mode direct (requête), vous lui indiquez le nom hôte du système sur lequel le serveur de connexion est installé. À l'amorçage, le terminal X se connecte au serveur, qui affiche une fenêtre de connexion sur le terminal X. Pour plus de détails sur cette configuration, reportez-vous à la documentation relative au terminal X.

La plupart des serveurs X prennent également en charge l'option -query. Dans ce mode, le serveur X se comporte comme un terminal X : il se connecte directement au serveur de connexion et demande l'affichage d'une fenêtre de connexion. Par exemple, si vous lancez le serveur X sur un écran graphique sur la station de travail bridget et souhaitez que le serveur de connexion anita affiche un écran de connexion sur le serveur X, tapez la commande suivante :

X -query anita

Requêtes XDMCP indirectes

Lorsque vous configurez un terminal X pour qu'il utilise XDMCP en mode indirect, vous lui indiquez le nom hôte du système sur lequel le serveur de connexion est installé. À l'amorçage, le terminal X se connecte au serveur de connexion, qui affiche un écran de sélection contenant une liste des autres serveurs de connexion du réseau. L'utilisateur peut alors choisir un hôte qui affiche une fenêtre de connexion sur son terminal X. Pour plus de détails sur cette configuration, reportez-vous à la documentation relative au terminal X.

La plupart des serveurs X prennent en charge le mode -indirect, qui leur permet de se connecter au serveur de connexion en mode XDMCP indirect.

Gestion des écrans en réseau non XDMCP

Il est possible que XDMCP ne soit pas pris en charge sur les modèles de terminaux X les plus anciens. Pour que le serveur affiche un écran de connexion sur un terminal de ce type, indiquez son nom dans le fichier Xservers.

Étant donné que l'écran est relié au réseau, nom_écran comprend également le nom hôte. La valeur classe_écran peut être utilisée pour indiquer des ressources propres à une classe donnée de terminaux X (pour plus de détails, reportez-vous à la documentation relative à votre terminal X). La valeur foreign pour type_écran indique au serveur de connexion de se connecter à un serveur X existant plutôt que d'en lancer un nouveau. Dans ce cas, il est inutile d'indiquer une commande de type commande_serveur_X.

Exemple

Les lignes suivantes du fichier Xservers permettent au serveur de connexion d'afficher une fenêtre de connexion sur deux terminaux X non XDMCP, ruby et wolfie :

ruby.blackdog.com:0 AcmeXsta foreign 
wolfie:0 PandaCo foreign

Contrôle de l'accès au serveur de connexion

Par défaut, tout hôte du réseau ayant accès à votre serveur de connexion peut demander l'affichage d'un écran de connexion. Pour limiter l'accès à votre serveur de connexion, modifiez le fichier Xaccess.

Pour ce faire, copiez-le de /usr/dt/config vers /etc/dt/config. Une fois la modification effectuée dans /etc/dt/config/Xaccess, entrez la commande suivante pour que le serveur de connexion relise Xaccess :

/usr/dt/bin/dtconfig -reset

Cette opération lance la commande kill -HUP ID_processus_serveur_connexion.

Connexion directe via XDMCP

Lorsqu'un système hôte ou un terminal X tente de se connecter directement au serveur de connexion via XDMCP, son nom est comparé aux entrées du fichier Xaccess, afin de déterminer s'il est autorisé à effectuer cette opération. Les entrées de ce fichier sont des noms hôtes, dans lesquels les caractères génériques * (astérisque) et ? (point d'interrogation) sont autorisés. L'astérique représente zéro, un ou plusieurs caractères et le point d'interrogation, un caractère quelconque. Un nom hôte précédé d'un point d'exclamation (!) est inaccessible.

Par exemple, si le fichier Xaccess contient les entrées suivantes :

amazon.waterloo.com
 *.dept5.waterloo.com
 !*

La première entrée autorise le système hôte amazon.waterloo.com à accéder au serveur de connexion, la deuxième entrée autorise l'accès de n'importe quel système hôte dont le nom de domaine entier se termine par dept5.waterloo.com et la troisième entrée signifie que l'accès est interdit à tous les autres hôtes.

Connexion indirecte via XDMCP

Lorsqu'un système hôte tente de se connecter indirectement au serveur de connexion via XDMCP, son nom est comparé aux entrées du fichier Xaccess, afin de déterminer s'il est autorisé à effectuer cette opération. Les entrées Xaccess sont comparables aux entrées de connexion directe via XDMCP, caractères génériques compris, si ce n'est qu'elles sont associées à une chaîne CHOOSER. Par exemple :

amazon.waterloo.com   CHOOSER BROADCAST
 *.dept5.waterloo.com  CHOOSER BROADCAST
 !*		CHOOSER BROADCAST

Comme indiqué précédemment, la première entrée signifie que le système hôte amazon.waterloo.com a accès au serveur de connexion, tout comme les hôtes dont le nom de domaine se termine par dept5.waterloo.com (deuxième entrée) et la troisième entrée signifie que l'accès est interdit à tous les autres hôtes.

L'une des valeurs suivantes peut être indiquée après la chaîne CHOOSER.

BROADCAST indique au serveur de connexion qu'une liste des hôtes serveurs de connexion disponibles sur le sous-réseau doit être établie. Cette liste doit être utilisée par le serveur de connexion pour désigner les hôtes de connexion disponibles. Par exemple :

amazon.waterloo.com   CHOOSER shoal.waterloo.com alum.waterloo.com
 *.dept5.waterloo.com  CHOOSER BROADCAST
 !*		CHOOSER BROADCAST

Si amazon.waterloo.com se connecte indirectement via XDMCP, une liste contenant shoal et alum lui est proposée. Si alice.dept5.waterloo.com se connecte, une liste contenant tous les hôtes serveurs de connexion disponibles sur le sous-réseau du serveur de connexion lui est présentée. Les autres requêtes indirectes XDMCP seront rejetées.

Vous avez également la possibilité de définir une ou plusieurs macros contenant la liste de noms hôtes. Par exemple :

%list1			shoal.waterloo.com alum.waterloo.com
 amazon.waterloo.com  CHOOSER %list1

Consignation des erreurs

Par défaut, le serveur de connexion enregistre les erreurs dans le fichier /var/dt/Xerrors. Pour indiquer un autre fichier, modifiez la ressource Dtlogin.errorLogFile dans le fichier Xconfig. Le répertoire spécifié doit exister au lancement du serveur de connexion.

Par exemple, pour que les erreurs soient consignées dans le fichier /var/mes_erreurs/Dterrors, définissez la ressource suivante dans le fichier Xconfig :

Dtlogin.errorLogFile: /var/mes_erreurs/Dterrors

Au prochain lancement du serveur de connexion, les erreurs seront enregistrées dans le fichier /var/mes_erreurs/Dterrors. Le répertoire /var/mes_erreurs doit exister au redémarrage du serveur de connexion.

Arrêt du serveur de connexion

	/usr/dt/bin/dtconfig -d

Cette commande indique que le serveur de connexion ne devra pas être lancé au prochain amorçage du système.

	/usr/dt/bin/dtconfig -kill

Cette opération lance la cmmande kill ID_processus_serveur_connexion


Remarque :

Lorsque vous supprimez le processus serveur de connexion, toutes les sessions utilisateur gérées par ce serveur sont arrêtées.


Vous pouvez également lancer directement la commande kill sur l'ID processus. L'ID processus du serveur de connexion est stocké dans /var/dt/Xpid ou dans le fichier indiqué par la ressource Dtlogin.pidFile du fichier Xconfig.

Si vous êtes connecté au Bureau lorsque vous arrêtez le serveur de connexion, votre session prend fin immédiatement.

Fenêtre de connexion

La fenêtre affichée par le serveur de connexion est une variante plus conviviale de l'invite de connexion en mode caractère. Elle permet en outre d'effectuer un plus grand nombre d'opérations.

Figure 1-2 Fenêtre de connexion au Bureau

Graphic

Comme avec l'invite en mode caractère, l'utilisateur doit taper son nom et son mot de passe. Si la vérification d'identité aboutit, le serveur de connexion ouvre une session de Bureau. Lorsque l'utilisateur met fin à cette session, une nouvelle fenêtre de connexion s'affiche.

Pour personnaliser la fenêtre de connexion, vous pouvez :

Ces opérations peuvent être effectuées sur tous les écrans.

Modification de la présentation de la fenêtre de connexion

Vous pouvez modifier le logo ou l'image, les messages de bienvenue et les polices.

Pour éditer le fichier Xresources, copiez-le de /usr/dt/config/langue dans /etc/dt/config/langue. Les modifications seront prises en compte au prochain affichage de la fenêtre de connexion. Pour que les modifications soient prises en compte immédiatement, sélectionnez "Restauration de la fenêtre de connexion" dans le menu "Options".

Les paramètres de la fenêtre de connexion et les ressources du fichier Xresources permettant de les définir sont les suivants :

Dtlogin*logo*bitmapFile--Fichier bitmap ou pixmap à utiliser comme logo

Dtlogin*greeting*persLabelString--Message de bienvenue personnalisé

Dtlogin*greeting*labelString--Message de bienvenue

Dtlogin*greeting*fontList--Police des messages de bienvenue

Dtlogin*labelFont--Police des boutons de fonction et des libellés

Dtlogin*textFont--Police de l'aide et des messages d'erreur

Dtlogin*langue*languageName--Autre nom pour l'environnement local langue

Modification du logo

    Définissez la ressource Dtlogin*logo*bitmapFile dans le fichier Xresources.

Le logo peut être un fichier pixmap en couleur ou un fichier bitmap.

Dans l'exemple suivant, le fichier bitmap Monlogo est utilisé comme logo :

Dtlogin*logo*bitmapFile: /usr/local/lib/X11/dt/bitmaps/Monlogo.bm

Modification du message de bienvenue

Par défaut, le serveur de connexion affiche dans la fenêtre de connexion le message Bienvenue sur nom_hôte. Pour modifier ce texte :

    Définissez la ressource Dtlogin*greeting*labelString dans le fichier Xresources.

Les valeurs de la ressource labelString peuvent être %LocalHost%, qui sera remplacé par le nom hôte du serveur de connexion et %DisplayName%, qui sera remplacé par le nom d'écran du serveur X.

L'exemple suivant permet de modifier le message de bienvenue en Vous êtes sur nom_hôte! :

Dtlogin*greeting*labelString: Vous êtes sur %LocalHost%!

Une fois que l'utilisateur a entré son nom, le serveur de connexion affiche le message par défaut Bienvenue nom_utilisateur. Pour modifier ce message, définissez la ressource Dtlogin*greeting*persLabelString dans le fichier Xresources. La valeur de persLabelString peut être %s, qui sera remplacée par nom_utilisateur.

L'exemple suivant permet de modifier le message de bienvenue en Bonjour nom_utilisateur :

Dtlogin*greeting*persLabelString: Bonjour %s 

Modification des polices

Pour personnaliser les polices de la fenêtre de connexion, définissez l'une des ressources ci-dessous dans le fichier Xresources:

Dtlogin*greeting*fontList--Police des messages de bienvenue

Dtlogin*labelFont--Police des boutons de fonction et des libellés

Dtlogin*textFont--Police de l'aide et des messages d'erreur

Pour afficher la liste des polices disponibles, entrez :

xlsfonts [-options] [-fn forme]

L'exemple suivant permet de définir une police plus grande pour les messages de bienvenue (la valeur indiquée doit tenir sur une seule ligne) :

Dtlogin*greeting*fontList: -dt-interface \
 system-medium-r-normal-xxl*-*-*-*-*-*-*-*-*:

Affichage d'un autre texte pour chaque langue

Pour définir une chaîne de caractères à afficher dans le menu Langue de la fenêtre de connexion, à la place du nom de l'environnement local (affiché par défaut), modifiez la ressource Dtlogin*langue*languageName dans le fichier Xresources:

Dtlogin*En_US*languageName: Français

Le nom de l'environnement local Fr_FR sera remplacé par la chaîne Français.

Modification du comportement de la fenêtre de connexion

Pour personnaliser le comportement de l'écran de connexion, modifiez les ressources spécifiées dans le fichier Xconfig.

Pour éditer le fichier Xconfig, copiez-le de /usr/dt/config vers /etc/dt/config. Une fois la modification effectuée dans /etc/dt/config/Xconfig, entrez la commande suivante pour que le serveur de connexion relise Xconfig :

/usr/dt/bin/dtconfig -reset

Cette opération lance la commande kill -HUP ID_processus_serveur_connexion.

Les ressources définies dans le fichier Xconfig comprennent :

Dtlogin*authorize--Spécification du fichier Xaccess

Dtlogin*environment--Environnement du serveur X

Dtlogin*language--Langue par défaut

Dtlogin*languageList--Liste de langues pour le menu Langue de la fenêtre de connexion

Dtlogin*resources--Spécification du fichier Xresources

Dtlogin*setup--Spécification du fichier Xsetup

Dtlogin*startup--Spécification du fichier Xstartup

Dtlogin*session--Spécification du fichier Xsession

Dtlogin*failsafeClient--Spécification du script Xfailsafe

Dtlogin*reset--Spécification du script Xreset

Dtlogin*userPath--Variable PATH pour Xsession et Xfailsafe

Dtlogin*systemPath--Variable PATH pour Xsetup, Xstartupet Xfailsafe

Dtlogin*systemShell--Variable SHELL pour Xsetup, Xstartup et Xfailsafe

Dtlogin.timeZone--Variable TZ pour les scripts

Modification du comportement de la fenêtre de connexion pour certains écrans

Dans les exemples ci-dessous, la personnalisation de la ressource Xconfig entraîne la modification du comportement de la fenêtre de connexion sur tous les écrans. Les ressources comportant un astérisque peuvent être définies pour certains écrans seulement. Une ressource associée à un écran donné doit être indiquée sous la forme Dtlogin*nom_écran*ressource. Par exemple, pour désactiver le contrôle d'accès utilisateur pour l'écran expo:0 uniquement, entrez :

Dtlogin*expo_0*authorize: False

Remarque :

Les caractères spéciaux indiqués dans le nom de l'écran, tels que le signe deux-points (:) ou le point (.) sont remplacés par des caractères de soulignement (_).


Modification de l'accès au serveur X

Par défaut, le contrôle d'accès au serveur X s'effectue utilisateur par utilisateur, en fonction des données stockées et protégées dans le fichier Rép_personnel/.Xauthority. Seuls les utilisateurs autorisés à lire ce fichier ont accès au serveur X. Il s'agit de la méthode de contrôle la plus utilisée.

Il est également possible de contrôler l'accès au serveur X hôte par hôte : tout utilisateur d'un système hôte autorisé à accéder au serveur X peut se connecter à ce dernier. Les raisons susceptibles de vous amener à choisir cette solution sont les suivantes :

Modification de l'environnement du serveur X

Pour affecter au serveur X une ou plusieurs variables d'environnement, lors de son lancement par le serveur de connexion, vous pouvez définir la ressource Dtlogin*environment du fichier Xconfig. Par exemple :

Dtlogin*environment: VAR1=foo VAR2=bar

Cette ressource permet au serveur X local de bénéficier des variables VAR1 et VAR2. Celles-ci seront également exportées vers les scripts Xsession et Xfailsafe.

Modification de la langue par défaut

Lorsqu'un utilisateur ouvre une session de Bureau à partir de la fenêtre de connexion, celle-ci s'exécute dans l'environnement local sélectionné dans le sous-menu Langue du menu Options. Si aucune langue n'est sélectionnée, la langue par défaut du serveur est utilisée. Pour modifier la langue par défaut, utilisez la ressource Dtlogin*language du fichier Xconfig. Par exemple :

Dtlogin*language: Ja_JP

Pour connaître les langues installées sur votre système, consultez la documentation correspondante.

Modification du menu Langue de la fenêtre de connexion

Par défaut, le serveur de connexion crée un menu Langue contenant la liste des environnements locaux installés sur le système. Lorsque l'utilisateur sélectionne un environnement local, le serveur de connexion réaffiche l'écran de connexion dans la langue correspondante. La prochaine session de l'utilisateur s'exécutera également dans cet environnement.

Pour définir votre propre liste de langues, modifiez la ressource Dtlogin*languageList dans le fichier Xconfig :

Dtlogin*languageList: En_US De_DE

Une fois la modification effectuée, le menu Langue de l'écran de connexion ne contient plus que les langues indiquées (En_US et De_DE).

Exécution de commande avant l'affichage de la fenêtre de connexion

Une fois le serveur X lancé, mais avant l'affichage de la fenêtre de connexion, le serveur de connexion exécute le script Xsetup. Celui-ci dispose des droits d'accès de niveau root ; il lance des commandes devant être exécutées avant l'affichage de l'écran de connexion.

Pour modifier Xsetup, copiez-le de /usr/dt/config vers /etc/dt/config. Les modifications seront prises en compte au prochain affichage de la fenêtre de connexion.

Exécution de commande avant l'ouverture de la session utilisateur

Une fois que l'utilisateur a entré son nom et son mot de passe et que son identité a été vérifiée, mais avant qu'une session ne soit lancée, le serveur de connexion exécute le script Xstartup. Celui-ci dispose des droits d'accès de niveau root ; il lance des commandes devant être exécutées avant l'ouverture de la session utilisateur.

Pour modifier le fichier Xstartup, copiez-le de /usr/dt/config vers /etc/dt/config. Les modifications seront prises en compte à la prochaine connexion de l'utilisateur.

Lancement d'une session de Bureau

Par défaut, pour ouvrir une session utilisateur, le serveur de connexion exécute le script Xsession. Celui-ci dispose des droits d'accès de niveau root ; il exécute les commandes nécessaires au lancement du Bureau.


Remarque :

Le script Xsession ne doit pas être modifié manuellement.


Pour plus de détails sur la personnalisation du lancement des sessions utilisateur, voir Chapitre 2.

Ouverture d'une session monofenêtre

Lorsque l'utilisateur sélectionne Session monofenêtre dans le sous-menu Sessions du menu Options de la fenêtre de connexion, le serveur de connexion lance le script Xfailsafe. Celui-ci dispose des droits d'accès root et exécute les commandes permettant de lancer un environnement à fenêtrage minimal (à savoir, une fenêtre de terminal et, éventuellement, un Gestionnaire de fenêtres).

Pour modifier le fichier Xfailsafe, copiez-le de /usr/dt/config vers /etc/dt/config. Les modifications seront prises en compte à la prochaine connexion de l'utilisateur.

Fin de la session utilisateur

Une fois la session de Bureau ou monofenêtre terminée, le serveur de connexion exécute le script Xreset. Celui-ci dispose des droits d'accès de niveau root ; il lance des commandes devant être exécutées à la fin de la session utilisateur.

Pour modifier le fichier Xreset, copiez-le de /usr/dt/config vers /etc/dt/config. Les modifications seront prises en compte à la prochaine connexion de l'utilisateur.

Environnement du serveur de connexion

L'environnement fourni par le serveur X est exporté vers les scripts Xsetup, Xstartup, Xsession, Xfailsafe et Xreset. Cet environnement est décrit dans Tableau 1-1. Des variables supplémentaires peuvent également être exportées par le serveur de connexion.

Tableau 1-1 Environnements du serveur de connexion

Variable 

d'environnement 

Xsetup

Xstartup

Xsession

 

Xreset

Description 

LANG

Langue par défaut ou langue sélectionnée 

XAUTHORITY

Fichier d'autorisations X secondaire (facultatif) 

PATH

Valeur de la ressource Dtlogin*userPath (Xsession, Xfailsafe) ou Dtlogin*systemPath (Xsetup, Xstartup, Xreset)

DISPLAY

Nombre de connexions au serveur X 

SHELL

Shell spécifié dans le fichier /etc/passwd (Xsession, Xfailsafe) ou par la ressource Dtlogin*systemShell (Xsetup, Xstartup, Xreset)

TZ

Valeur de la ressource Dtlogin.timeZone ou fuseau horaire déterminé par le système

USER

 

Nom d'utilisateur 

HOME

 

Répertoire personnel spécifié dans le fichier /etc/passwd

LOGNAME

 

Nom d'utilisateur 

Modification du chemin d'accès utilisateur ou système

Le serveur de connexion définit la variable d'environnement PATH lors de l'exécution des scripts Xsession et Xfailsafe. Vous pouvez indiquer un autre chemin d'accès pour ces scripts.

Chemin d'accès utilisateur

    Définissez la ressource Dtlogin*userPath dans le fichier Xconfig. Par exemple :

	Dtlogin*userPath:/usr/bin:/etc:/usr/sbin:/usr/ucb:/usr/bin/X11

Chemin d'accès système

    Définissez la ressource Dtlogin*systemPath dans le fichier Xconfig. Par exemple :

	Dtlogin*systemPath: /usr/bin/X11:/etc:/bin:/usr/bin:/usr/ucb

Modification du shell système

Le serveur de connexion définit la variable d'environnement SHELL lors de l'exécution des scripts Xsetup, Xstartup et Xfailsafe. Le shell par défaut est /bin/sh. Pour le modifier, définissez la ressource Dtlogin*systemShell dans le fichier Xconfig. Par exemple :

Dtlogin*systemShell: /bin/ksh

Modification du fuseau horaire

Le serveur de connexion définit la variable d'environnement TZ lors de l'exécution des scripts Xsetup, Xstartup, Xsession, Xfailsafe et Xreset. La valeur par défaut étant déterminée par le système, il n'est généralement pas nécessaire de la modifier. Cependant, si vous souhaitez indiquer un autre fuseau horaire pour ces scripts, définissez la ressource Dtlogin.timeZone dans le fichier Xconfig. Par exemple :

Dtlogin.timeZone: CST6CDT

Administration du Gestionnaire de connexion

Lors du démarrage du serveur de connexion, un processus dtlogin est lancé. Il lit le fichier Xconfig pour identifier la configuration initiale du serveur de connexion et localiser les autres fichiers de configuration. Le serveur de connexion lit ensuite le fichier Xservers (indiquant les écrans qu'il doit gérer de façon explicite) et le fichier Xaccess (permettant de contrôler l'accès au serveur de connexion).

Si le serveur de connexion doit gérer un écran local, il lance un serveur X, conformément aux instructions du fichier Xservers, puis affiche une fenêtre de connexion sur l'écran.

Si le serveur de connexion doit gérer un écran en réseau, il considère qu'un serveur X associé est déjà en cours d'exécution et affiche une fenêtre de connexion sur l'écran.

Ensuite, le serveur de connexion attend les requêtes XDMCP en provenance du réseau.

Pour chaque écran géré, le serveur de connexion crée un processus dtlogin. Par exemple, pour un serveur gérant n écrans, n+1 processus dtlogin seront lancés. Tout d'abord, le serveur de connexion exécute le script Xsetup, puis il charge le fichier Xresources. Il lance ensuite dtgreet pour afficher l'écran de connexion. Lorsque l'utilisateur a entré son nom et son mot de passe, et que son identité a été vérifiée, le serveur de connexion exécute le script Xstartup puis le script Xsession ou Xfailsafe. Une fois la session terminée, le serveur de connexion lance le script Xreset.

Lorsqu'une requête XDMCP indirecte parvient au serveur de connexion, il exécute dtchooser pour afficher la liste des hôtes serveurs de connexion disponibles sur l'écran. Celui-ci sera ensuite géré par le serveur de connexion de l'hôte sélectionné par l'utilisateur.

Par défaut, dans le cas des fichiers de configuration Xaccess, Xconfig, Xfailsafe, Xreset, langue/Xresources, Xservers, Xsetup, et Xstartup, le serveur de connexion consulte tout d'abord /etc/dt/config, puis /usr/dt/config et utilise le premier fichier détecté.

Fichiers du Gestionnaire de connexion

Par défaut, les fichiers du Gestionnaire de connexion se trouvent dans les répertoires suivants :

/usr/dt/bin/dtlogin--Serveur de connexion et Gestionnaire d'écran

/usr/dt/bin/dtgreet--Affiche une fenêtre de connexion sur un écran

/usr/dt/bin/dtchooser--Affiche une fenêtre de sélection sur un écran.

/usr/dt/bin/Xsession--Lance une session de Bureau.

/usr/dt/config/Xfailsafe--Lance une session monofenêtre.

/usr/dt/config/Xconfig--Fichier de configuration du serveur de connexion.

/usr/dt/config/Xservers--Fichier de description de l'écran du serveur de connexion.

/usr/dt/config/Xaccess--Fichier de description de l'accès au serveur de connexion.

/usr/dt/config/langue/Xresources--Ressources de présentation de l'écran.

/usr/dt/config/Xsetup--Fichier de configuration de l'écran.

/usr/dt/config/Xstartup--Fichier de lancement pré-session.

/usr/dt/config/Xreset--Fichier de restauration post-session.

/var/dt/Xpid--ID processus du Gestionnaire de connexion.

/var/dt/Xerrors--Journal d'erreurs du serveur de connexion.