Solaris CDE - Guide avancé de l'utilisateur et de l'administrateur système

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 démarrage 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 connectés directement à ce dernier, à un terminal X ou à une station de travail du réseau.


Remarque :

seul le superutilisateur peut démarrer, 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 en réseau, 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 au serveur de connexion d'afficher la fenêtre de connexion.

Démarrage du serveur de connexion

Généralement, le serveur de connexion est lancé à l'initialisation 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, reportez-vous à l'Annexe A. Cette annexe contient un exemplaire de la page de manuel dtconfig.1.


Remarque :

il est conseillé de ne démarrer le serveur de connexion à partir de la ligne de commande qu'à des fins de test de la configuration. En fonctionnement normal, démarrez-le après l'initialisation du système.


Gestion des écrans locaux et en réseau

La Figure 1-1 présente un exemple de configuration de serveur de connexion.

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

Graphic

Recherche de l'ID de processus du serveur de connexion

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

Pour indiquer un autre fichier, définissez la ressource Dtlogin.pidFile du fichier Xconfig. Si cette ressource est définie, le répertoire spécifié doit exister lors du 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 de processus du serveur de connexion dans /var/mes_serveurs/Dtpid, définissez le paramètre suivant dans le fichier Xconfig :

Dtlogin.pidFile: /var/mes_serveurs/Dtpid

Au prochain démarrage du serveur de connexion, son ID de processus sera placé dans /var/mes_serveurs/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 démarrage, 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 en réseau.

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_écranclasse_écran type_écrancommande_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_machine:0 est prise en compte. Le nombre 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 en réseau 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 suivant).

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 nombre spécifié dans nom_écran.

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

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

Exécution 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 graphique. Lorsque l'utilisateur s'est connecté puis déconnecté, ou après un délai donné, le serveur de connexion redémarre 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 la variable local@écran est indiquée, le serveur de connexion considère que le serveur X et /dev/écran résident sur la même entité physique et qu'une connexion à partir de la ligne de commande (généralement, getty) s'exécute sur cette unité. Lorsque l'utilisateur sélectionne Connexion à partir de la ligne de commande, le serveur X est arrêté, autorisant ainsi 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 Connexion à partir de la ligne de commande sur un écran, indiquez la valeur none pour écran. La valeur par défaut d'écran est console. Si la variable local est spécifiée, la valeur d'écran devient console. Si vous indiquez foreign, l'option 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 en mode caractère

Si le serveur de connexion est directement connecté à une console de type terminal en mode caractère, 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 en mode caractère (utilisé comme console) et sur l'écran graphique, vous pouvez attribuer à écran la valeur de 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 version 1.0, qui lui permet d'analyser les demandes, puis de les accepter ou de les rejeter. Ce protocole est intégré sur la plupart des terminaux X.

Requêtes XDMCP directes

Lorsque vous configurez un terminal X pour qu'il utilise le protocole XDMCP en mode direct (requête), vous lui indiquez le nom de la machine sur laquelle le serveur de connexion est installé. Lorsque le terminal X s'initialise, il se connecte au serveur de connexion, qui affiche une fenêtre de connexion sur le terminal X. Pour plus de détails sur cette configuration, reportez-vous à la documentation du 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, le serveur de connexion anita affichera un écran de connexion sur le serveur X :

X -query anita

Requêtes XDMCP indirectes

Lorsque vous configurez un terminal X pour qu'il utilise le protocole XDMCP en mode indirect, vous lui indiquez le nom de la machine sur laquelle le serveur de connexion est installé. Lorsque le terminal X s'initialise, il 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 une machine, laquelle affichera une fenêtre de connexion sur son terminal X. Pour plus de détails sur cette configuration, reportez-vous à la documentation du terminal X.

Comme en mode direct, la plupart des serveurs X prennent en charge l'option -indirect, qui leur permet de se connecter au serveur de connexion en mode XDMCP indirect.

Gestion des écrans en réseau non XDMCP

Il se peut que le protocole 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.

L'écran étant sur le réseau, nom_écran comprend également le nom de machine. La valeur classe_écran peut être utilisée pour indiquer des ressources propres à une classe donnée de terminaux X (reportez-vous à la documentation de votre terminal X pour connaître sa classe). La valeur foreign pour type_écran indique au serveur de connexion de se connecter à un serveur X existant plutôt que d'en démarrer un nouveau. Dans ce cas, n'indiquez pas de commande_serveur_X.

Exemple

Les lignes suivantes du fichier Xservers indiquent au serveur de connexion d'afficher un écran 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, toute machine 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 le protocole XDMCP

Lorsqu'une machine tente de se connecter directement au serveur de connexion via le protocole XDMCP, son nom est comparé aux entrées du fichier Xaccess afin de déterminer si elle est autorisée à effectuer cette opération. Chaque entrée Xaccess est un nom d'hôte pouvant inclure des caractères génériques tels que l'astérisque (*) et le point d'interrogation (?). L'astérisque (*) représente zéro, un ou plusieurs caractères et le point d'interrogation (?), un caractère quelconque. Un point d'exclamation (!) précédant un nom de machine empêche l'accès à celle-ci.

Considérons par exemple que le fichier Xaccess contient les entrées suivantes :

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

La première entrée permet l'accès au serveur de connexion à partir de la machine amazon.waterloo.com, la deuxième entrée à partir de toute machine dont le nom de domaine se termine par dept5.waterloo.com, et la troisième entrée interdit l'accès à partir de toutes les autres machines.

Connexion indirecte via le protocole XDMCP

Lorsqu'une machine 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 si elle est autorisée à effectuer cette opération. Les entrées Xaccess sont comparables aux entrées de connexion en mode XDMCP direct, 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 la machine amazon.waterloo.com peut accéder au serveur de connexion, tout comme les machines dont le nom de domaine se termine par dept5.waterloo.com, et la troisième entrée interdit l'accès à partir de toutes les autres machines.

La chaîne CHOOSER peut être suivie de :

BROADCAST indique au serveur de connexion de faire une recherche sur son sous-réseau pour établir la liste des machines serveurs de connexion disponibles. Si vous spécifiez une liste de noms de machine, le serveur de connexion l'utilisera comme liste des machines 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 le protocole XDMCP, il recevra une liste contenant shoal et alum. Si alice.dept5.waterloo.com se connecte, une liste contenant toutes les machines serveurs de connexion disponibles sur le sous-réseau des serveurs de connexion lui est présentée. Les autres requêtes XDMCP indirectes seront rejetées.

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

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

Vérification des erreurs

Par défaut, le serveur de connexion enregistre les erreurs dans le fichier /var/dt/Xerrors. Pour indiquer un autre fichier, définissez la ressource Dtlogin.errorLogFile du fichier Xconfig. Le répertoire spécifié doit exister au démarrage 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 de ne pas lancer le serveur de connexion à la prochaine initialisation du système.

	/usr/dt/bin/dtconfig -kill

Cette opération lance la commande kill ID_processus_serveur_connexion


Remarque :

lorsque vous supprimez le processus du 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 de processus. L'ID de processus du serveur de connexion est stocké dans le fichier /var/dt/Xpid ou dans le fichier indiqué par la ressource Dtlogin.pidFile.

Si vous êtes connecté au système 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'écran 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. Lorsque l'utilisateur est authentifié, le serveur de connexion ouvre une session du bureau. Lorsque l'utilisateur met fin à cette session, une nouvelle fenêtre de connexion s'affiche, permettant de lancer une nouvelle session.

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

Ces opérations peuvent être effectuées sur tous les écrans ou sur des écrans spécifiés.

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 l'écran de connexion dans le menu Options.

Les paramètres de la fenêtre pouvant être définis par les ressources du fichier Xresources 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 de la langue 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 Mylogo est utilisé en tant que logo :

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

Modification du message de bienvenue

Par défaut, le serveur de connexion affiche le message Bienvenue sur nom_machine dans la fenêtre de connexion. 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 de machine du serveur de connexion et %DisplayName%, qui sera remplacé par le nom d'écran du serveur X.

L'exemple suivant permet de changer le message de bienvenue en Vous êtes sur nom_machine ! :

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

Lorsque 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 contenir %s, qui sera remplacée par nom_utilisateur.

L'exemple suivant permet de changer 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 devant tenir sur une seule ligne) :

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

Affichage d'un texte différent 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 code de la langue (qui est affiché par défaut), modifiez la ressource Dtlogin*langue*languageName dans le fichier Xresources :

Dtlogin*En_US*languageName: Français

Le nom En_US sera remplacé par la chaîne American.

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, Xstartup et Xfailsafe.

Dtlogin*systemShell : variable SHELL pour Xsetup, Xstartup et Xfailsafe.

Dtlogin.timeZone : variable TZ pour tous 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. Vous pouvez ainsi personnaliser le comportement de ces écrans. 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 basé utilisateurs uniquement pour l'écran expo:0, entrez :

Dtlogin*expo_0*authorize: False

Remarque :

les caractères spéciaux indiqués dans le nom de l'écran, tels que le 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 enregistrées et protégées dans le fichier RépPersonnel/.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 courante.

Il est également possible de contrôler l'accès au serveur X machine par machine : si une machine est autorisée à accéder au serveur X, tous les utilisateur de cette machine pourront se connecter à ce dernier. Vous choisirez cette solution pour les raisons 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 du bureau à partir de la fenêtre de connexion, celle-ci s'exécute dans la langue sélectionnée 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. Vous pouvez contrôler la valeur de la langue par défaut en réglant la ressource langue*Dtlogin dans le fichier Xconfig. Par exemple :

Dtlogin*language: Ja_JP

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

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 langues installées sur le système. Lorsque l'utilisateur sélectionne une langue, le serveur de connexion réaffiche l'écran de connexion dans la langue sélectionnée. La prochaine session de l'utilisateur s'exécutera également dans cette langue.

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

Dtlogin*languageList: En_US De_DE

Lorsque la modification a été 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 commandes avant l'affichage de la fenêtre de connexion

Après le démarrage du serveur X, mais avant l'affichage de la fenêtre de connexion, le serveur de connexion exécute le script Xsetup. Celui-ci dispose de droits d'accès de type superutilisateur : il lance les 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 commandes avant l'ouverture de la session utilisateur

Lorsque 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 de droits d'accès de type superutilisateur : il lance les 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, le serveur de connexion lance une session utilisateur en exécutant le script Xsession. Celui-ci dispose de droits d'accès de type superutilisateur : il exécute les commandes nécessaires au lancement du bureau.


Remarque :

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


Reportez-vous au Chapitre 2 pour plus d'informations sur la personnalisation du démarrage de la session utilisateur.

Lancement 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 de l'utilisateur et exécute les commandes permettant de lancer un environnement de fenêtrage minimal (généralement 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

Lorsque l'utilisateur quitte le bureau ou la session monofenêtre, le serveur de connexion exécute le script Xreset. Celui-ci dispose de droits d'accès de type superutilisateur et il lance les 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 le 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 de l'utilisateur 

HOME

 

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

LOGNAME

 

Nom de l'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é. Celui-ci 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 à 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 cet é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 avec le nom d'écran spécifié et affiche une fenêtre de connexion sur cet é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. 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. A la fin de la session, 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 machines serveurs de connexion disponibles à l'écran. Lorsqu'un utilisateur choisit une machine dans cette liste, le serveur de connexion installé sur cette machine gère l'affichage.

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 de processus du serveur de connexion.

/var/dt/Xerrors : journal d'erreurs du serveur de connexion.