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.
Seul l'utilisateur root peut lancer, arrêter ou personnaliser le serveur de connexion.
Le serveur de connexion peut effectuer les opérations suivantes :
affichage d'une fenêtre de connexion sur les écrans graphiques (locaux ou éloignés), automatiquement ou sur demande ;
prise en charge des terminaux à caractères en connexion directe ;
affichage d'un écran permettant aux utilisateurs de sélectionner les fenêtres de connexion provenant d'autres serveurs du réseau ;
contrôle de l'accès à ce serveur de connexion ;
affichage de l'invite traditionnelle de connexion en mode caractère.
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.
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 que le lancement s'effectue à l'amorçage du système, tapez /usr/dt/bin/dtconfig -e
Le serveur de connexion démarrera automatiquement au prochain lancement du système.
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.
Pour lancer le serveur de connexion à partir de la ligne de commande, tapez /usr/dt/bin/dtlogin -daemon; exit
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.
La Figure 1-1 montre un exemple de configuration 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.
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
où
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
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.
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.
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.
La désactivation sera effective sur l'écran local au prochain lancement du serveur de connexion à partir de la ligne de commande.
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.
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.
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
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.
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.
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
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.
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.
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
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.
/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.
Pour arrêter le serveur de connexion par son ID processus, entrez :
/usr/dt/bin/dtconfig -kill
Cette opération lance la cmmande kill ID_processus_serveur_connexion
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.
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.
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 :
modifier sa présentation ;
configurer les droits d'accès au serveur X ;
modifier la langue par défaut ;
exécuter des commandes avant l'affichage de l'écran de connexion ;
modifier les options du menu Langue ;
indiquer la commande de lancement de la session utilisateur ;
exécuter des commandes avant l'ouverture de la session utilisateur ;
exécuter des commandes après la fermeture de la session utilisateur.
Ces opérations peuvent être effectuées sur tous les écrans.
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
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
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
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*-*-*-*-*-*-*-*-*:
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.
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
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
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 (_).
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 :
les clients X R2 et R3 ne prennent pas en charge la connexion au serveur X à l'aide de la première méthode ;
sur les réseaux non sécurisés, les données échangées entre le client et les serveur X peuvent être interceptées par des personnes non autorisées.
La ressource Xconfig Dtlogin*authorize indique au serveur de connexion de contrôler l'accès au serveur X utilisateur par utilisateur. Pour utiliser la méthode de contrôle d'accès "par hôte", attribuez la valeur False à la ressource authorize, par exemple :
Dtlogin*authorize: False
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.
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.
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).
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.
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.
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.
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.
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.
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.
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 |
---|---|---|---|---|---|
X |
X |
X |
X |
Langue par défaut ou langue sélectionnée |
|
X |
X |
X |
X |
Fichier d'autorisations X secondaire (facultatif) |
|
X |
X |
X |
X |
Valeur de la ressource Dtlogin*userPath (Xsession, Xfailsafe) ou Dtlogin*systemPath (Xsetup, Xstartup, Xreset) |
|
X |
X |
X |
X |
Nombre de connexions au serveur X |
|
X |
X |
X |
X |
Shell spécifié dans le fichier /etc/passwd (Xsession, Xfailsafe) ou par la ressource Dtlogin*systemShell (Xsetup, Xstartup, Xreset) |
|
X |
X |
X |
X |
Valeur de la ressource Dtlogin.timeZone ou fuseau horaire déterminé par le système |
|
|
X |
X |
X |
Nom d'utilisateur |
|
|
X |
X |
X |
Répertoire personnel spécifié dans le fichier /etc/passwd |
|
|
X |
X |
X |
Nom d'utilisateur |
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.
Dtlogin*userPath:/usr/bin:/etc:/usr/sbin:/usr/ucb:/usr/bin/X11
Dtlogin*systemPath: /usr/bin/X11:/etc:/bin:/usr/bin:/usr/ucb
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
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
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é.
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.